Modern, bulut tabanlı altyapı dakikalar içinde oluşturulabilir ve yok edilebilir. Yük ve kullanım şekillerine bağlı olarak yukarı ve aşağı ölçeklenebilir.
Kod Olarak Altyapı (IaC) , sanallaştırılmış altyapının ve yardımcı hizmetlerin, genellikle bir kaynak kodu deposunda barındırılan hemen hemen her dilde ifade edilen yapılandırma kullanılarak yönetilebildiği yaygın bir modeldir.
IaC, sanallaştırılmış herhangi bir altyapının otomatik, tekrarlanabilir ve güvenilir şekilde oluşturulmasını ve bakımını sağlar. Mevcut araçlar ve uygulamalar hakkında daha fazla bilgi edinmek istiyorsanız, işte size başlamanız için bir liste:
Terraform, Pulumi ve Crossplane, birden çok sağlayıcıyı destekler ve çapraz bulut çalışması için mükemmeldir.
Crossplane, IaC'ye çok ilginç bir yaklaşım getiriyor ve yerel Kubernetes yapılarından yararlanıyor ve zengin Kubernetes ekosistemini ve araçlarını otomatik olarak "miras alıyor". Oh ve ayrıca en havalı logoya sahip :).
Bulut satıcısına özel araçlar ve standartlar da vardır
Azure:
AWS:
GCP:
Her yeni paradigma değişikliğinde olduğu gibi, endüstrinin bir bütün olarak bir dizi kalıp ve benimseme stratejisi oluşturması zaman alır. Çoğu zaman, birçok şirket kuruluşlarında IaC ilkelerini uygulamaya çalışır ve yaygın hatalar nedeniyle başarısız olur.
Hemen hemen tüm hatalar, organizasyon içindeki zihniyet değişikliği ve yetersiz kültürel değişimden kaynaklanmaktadır. Basitçe söylemek gerekirse, işler karmaşıklaştığı veya bunaltıcı olduğu anda hepimiz iyi bilinen izlere geri dönme eğilimindeyiz.
Bu hata, sunucular ve diğer altyapı varlıkları, genellikle belirsiz bir excel dosyasında bir yerde adlar ve IP adresleri ile, sabit kaynaklar gibi ele alındığında meydana gelir.
Bulut yerel altyapısından en iyi şekilde yararlanmak için bunun yerine altyapınıza sığır gibi davranmayı düşünün. Bu şekilde altyapı, fiziksel sunuculardan çok uygulamalara benzeyen bir varlık veya yapı haline gelir.
Daha önce fiziksel veri merkezleriyle çalıştıysanız, aynı konsepti IaC'ye de taşımak isteyebilirsiniz. Veri merkezleri, bulut sağlayıcılarının endişelendiği bir şey olduğu için bu bir hatadır. Üzerinde çalışmanız gereken soyutlama% 100 sanallaştırılmıştır.
Veri merkezinin zihinsel modeli, IaC ile başarılabilecekler konusunda çok sınırlayıcıdır. Örneğin:
Veri, modern dünyadaki en önemli maldır, bu nedenle doğal olarak onu güvence altına almak, tüm kuruluşların odak noktasında yer alır.
Bu hata, verileri kaybetme / bozma korkusu nedeniyle genellikle düşük IaC benimsenmesine neden olur. İşte IaC'nin canlı, üretim verileriyle nasıl güvenli bir şekilde kullanılabileceğini gösteren çok basit bir adım adım senaryo.
Altyapının her zaman oluşturulabileceğini ve yok edilebileceğini anlamak anahtar kavramdır.
DevOps hareketi, Dev ve Ops silolar değil, aynı sürekli, kesintisiz, otomatikleştirilmiş sürecin parçası olduklarında daha hızlı ve güvenilir yazılım teslimatı vaat ediyor.
Yüksek düzeyde düzenlenmiş iş alanlarındaki şirketler, sorumlulukları dağıttığı ve dağıttığı gözüktüğü ve genellikle pratikte “suçlama oyununda” net hedefler belirlediği için sessiz zihniyete doğru kayma eğilimindedir. Bu açıkça geriye dönük bir düşüncedir ve yalnızca IaC için değil, aynı zamanda diğer alanlar için de geçerlidir.
IaC'de özellikle geliştirme ekiplerini ve operasyonları ayırmak anlamına gelir.
Altyapının oluşturulmasını otomatikleştirmek için IaC'yi PowerShell veya bash gibi süslü bir betik olarak kullanmaya çalışmayın. En fazla faydayı elde etmek için, yapılandırma dosyalarınızı yazılımla aynı şekilde düşünmeye çalışın. Düzgün versiyonlanmalı, kendi CI / CD ardışık düzenine sahip olmalı, test edilmeli ve güvenli hale getirilmelidir. IaC'nin en büyük yararı, yazılım geliştirme sürecinde alışkın olduğunuz aynı geliştirici iş akışlarını kullanabilmenizdir.
Ayrıca IaC kodunuzu daha yeniden kullanılabilir hale getirmeye çalışın. Yapılandırma, karmaşıklıkta artış eğilimindedir ve diğer kodlarda olduğu gibi, KURU prensibini uygulamaya çalışır (Kendinizi Tekrar Etmeyin).
IaC sihirli bir değnek değildir ve kendi zorluklarıyla birlikte gelir, ancak modern bulut yerel bilgi işlem çağında, altyapıyı yönetmek için daha iyi bir alternatif henüz yoktur.
Tüm iş yükleri için istikrarlı bir şekilde ilerleyen konteynerleştirme ve Kubernetes gibi orkestratörlerin varlığının artması, çoğu kuruluşu daha karmaşık yazılımlara ve her zamankinden daha hızlı değişikliklere doğru yönlendirir.
Hala kuruluşunuzda bazı IaC uygulamalarını benimsemeyi düşünüyorsanız, zaman dündür.
İçeriğim genellikle DevOps dünyasındaki araçlarla ilgili çok fazla deneyime sahip orta ve üst düzey mühendisleri meşgul eder. Küçüklerin ve hatta teknik olmayan kişilerin ilgisini çekecek yeni başlayanlar için uygun içerik eklemeyi planlıyorum.
Bir zamanlar, BT sektöründe çalıştıysanız, altyapı kaynaklarını tedarik ederken veya yönetirken farklı zorluklarla karşılaşmanız büyük bir ihtimaldi. Çoğu zaman, her şeyin sorunsuz çalışmasını sağlamaya çalışmak ve tüm kaynakların düzgün bir şekilde yapılandırıldığından emin olmak, dönen plakalar gibi geldi.
Tarih kitapları bana iki dünya savaşı öğretti: I ve II. Akademisyenler, politikacılar, yorumcular, medya kuruluşları bir sonraki Dünya Savaşı hakkında uzun süredir spekülasyonlar yapıyor ve tahminlerde bulunuyor: Kontrolden çıkan bölgesel bir çatışma, hakimiyet için dünya güçlerinin çatışması, geleneksel savaşa dönüşen felç edici bir siber savaş.
Dört yıldır İngilizce öğretiyorum. Bu dört yıl içinde insanlar bana çalışmalarını düzeltmekten konuşma ve makale yazmaya kadar her türlü taleple geldiler.
Etrafımızdaki dünya gibi, dil de sürekli değişiyor. Önceki dönemlerde dil değişiklikleri yıllar hatta on yıllar içinde meydana gelirken, artık günler hatta saatler içinde gerçekleşebilir.
Açık kaynaklı yazılım paketlerinde (log4j olarak) tespit edilen istismarlar, endüstriyi uygulamalardaki güvenlik açıklarını ve zayıflıkları izlemek, tespit etmek, önlemek ve onarmak için bir çözüm bulmaya yöneltti. Bu ihtiyaç, tüm yazılım geliştirme yaşam döngüsü ile ilgilidir ve hem kendi geliştirdiği hem de üçüncü taraf yazılım bileşenlerini içerir.