DevOps
Geliştirmeden canlıya giden yolu otomatikleştiriyor, sunucularınızı izlenebilir ve yedekli hale getiriyoruz.
DevOps ve altyapı
Altyapıyı ve dağıtımları Git üzerinden yönetiyoruz. Her değişiklik incelenir, kayıt altında kalır ve tek adımda geri alınabilir.
GitOps yaklaşımında altyapının ve uygulamanın istenen hali bir Git deposunda tanımlanır ve sunucuda elle değişiklik yapılmaz. Her değişiklik bir pull request ya da merge request olarak açılır, incelenir, kayıt altında kalır ve gerekirse tek adımda geri alınır. Kendi sitemizi de böyle yönetiyoruz: ana dala yapılan her birleştirme bir yayındır ve sunucuda hiçbir dosya elle düzenlenmez.
Sunucuda elle yapılan değişiklikler iz bırakmaz. Bir yapılandırma dosyası düzenlenir, bir ayar değiştirilir ve birkaç ay sonra kimse neden öyle olduğunu hatırlamaz. Test ve canlı ortamlar zamanla birbirinden ayrışır ve testte çalışan bir değişiklik canlıda farklı davranır. Bir sorun çıktığında neyin, ne zaman ve kim tarafından değiştirildiğini bulmak saatler alır. Sunucuya erişimi olan herkes potansiyel bir değişiklik kaynağıdır ve bu değişikliklerin hiçbiri incelenmez. GitOps, Git'in kod için sağladığı inceleme, geçmiş ve geri alma olanaklarını altyapıya ve dağıtıma da taşır.
Sunucularda, ortam ayarlarında ve dağıtım betiklerinde dağınık duran yapılandırmayı çıkarıyoruz. Gizli bilgiler depo dışında kalacak şekilde ayrılıyor, geri kalan her şey Git deposuna taşınıyor. Böylece sunucuların bugünkü hali ilk kez tek bir yerde yazılı hale geliyor.
Hangi dalın hangi ortama karşılık geldiğini, değişikliklerin kim tarafından onaylanacağını ve hangi otomatik kontrollerden geçeceğini tanımlıyoruz. Canlı ortama giden dal korumaya alınıyor.
Onaylanan her değişikliğin otomatik olarak ilgili ortama uygulandığı bir dağıtım hattı kuruyoruz. Ortamlar aynı tanımlardan üretildiği için test ve canlı arasındaki farklar açıkça görülüyor. Bir değişikliğin hangi ortamda ne zaman yayına çıktığı da hattın kayıtlarında görülüyor.
Bir değişikliği geri almak, onu geri alan bir birleştirme ya da önceki sürümü yeniden yayımlamak kadar kolay hale geliyor. Değişiklik geçmişi, kimin neyi neden yaptığının kaydı olarak kalıyor.
DevOps, geliştirme ile işletmeyi birbirine yaklaştıran genel bir çalışma biçimidir. GitOps bunun bir uygulama yoludur: altyapının ve dağıtımın tek doğru kaynağı Git deposudur ve her değişiklik inceleme ile birleştirme üzerinden yapılır. İki hizmeti birlikte ya da ayrı ayrı alabilirsiniz.
Hayır. GitOps sıklıkla Kubernetes ile birlikte anılır, ama ilke herhangi bir ortama uygulanabilir. Bu site bir cPanel sunucusunda çalışıyor ve yayınlar yine de yalnızca Git deposundan, korumalı bir dal üzerinden yapılıyor.
Hayır. Şifreler, anahtarlar ve benzeri gizli bilgiler depoya girmez. Bunlar sunucuda ya da dağıtım aracının gizli değişkenlerinde tutulur, depoda yalnızca hangi ayarın gerektiği tanımlanır. Depoya yanlışlıkla gizli bilgi girmesini yakalayan otomatik bir kontrol de hattın parçasıdır.
Edebilirsiniz, ama müdahale bir istisna olarak kalır ve hemen ardından depoya işlenir. Aksi halde bir sonraki yayın elle yapılan değişikliği sessizce geri alır. Acil durumlar için kısa yoldan onaylanan bir dal ve adım adım bir kılavuz hazırlıyoruz. Böylece hızlı müdahale ile kayıt altında kalmak birbirine engel olmuyor.
Geliştirmeden canlıya giden yolu otomatikleştiriyor, sunucularınızı izlenebilir ve yedekli hale getiriyoruz.
Elle tekrarlanan işleri zamanlanmış, izlenebilir süreçlere dönüştürüyoruz.
Ne yapmak istediğinizi birkaç cümleyle anlatın. İhtiyacınızı inceleyip nasıl ilerleyebileceğimizi size yazalım.