Güvenle dağıtın

Tamamlandı
Tahmin edilebilirlik ile istenen dağıtım durumuna ulaşın.

İş yükünün barındırma platformları, uygulamaları, verileri ve yapılandırma kaynakları genelinde tüm ortamlarınızda öngörülebilirlik hedefine tutarlı bir şekilde ulaşmanızı sağlayan bir iş yükü tedarik zinciri oluşturun. Dağıtım mekanizması otomasyon, test, izleme ve sürüm oluşturma özelliğine sahip olmalıdır. Modüler hale getirilmeli ve isteğe bağlı olarak yürütülmeye hazır olmalıdır. Monolitik bir uçtan uca işlem olarak temsil edilmemelidir. Tedarik zincirinin daha hızlı yürütülmesi gerekmez, ancak birden çok yinelemede tutarlılık ve kendi kendine belgeler elde etmek gerekir.

İş yükü ekibi, kendi iş yüküyle ilgili olarak tedarik zincirinden sorumludur.

Örnek senaryo

Contoso Manufacturing, üretim süreçlerini izlemek ve iyileştirmek için kullanılan Java tabanlı bir uygulama geliştirmiştir. İş yükü kısa süre önce Azure'a geçirilmiştir ve artık Azure Spring Apps, MySQL için Azure Veritabanı ve Azure IoT Hub üzerinde çalışmaktadır.

Kod aracılığıyla altyapı dağıtma

Üretime hazır tedarik zincirinin yinelenebilir yönlerini tanımlamak için Kod Olarak Altyapı (IaC) kullanın. Kesinlik temelli yöntemler yerine bildirim temelli yaklaşımları tercih edin.

Bildirim temelli IaC teknolojileri otomasyon ve yeniden kullanılabilirlik göz önünde bulundurularak tasarlanmıştır. Altyapı dağıtımlarını bireylerden araçlara boşaltabilir ve tutarlı kalite elde edebilirsiniz.

Altyapı açısından bakıldığında, daha az teknoloji seçeneğine sahip olmak, araçlardaki varyansı ortadan kaldırır ve yapılandırma kaymasını algılamayı kolaylaştırır. Bakım da daha kolay olacaktır. Seçimleri ekibin mevcut beceri kümesiyle uyumlu hale getirdiğinizde, ekip bunları kolayca benimseyebilir.

Contoso'nun sınaması

  • İş yükünün şirket içi sürümü, altyapıyı oluşturmak ve uygulamayı ortamlar arasında dağıtmak için betiklerin ve el ile gerçekleştirilen adımların bir bileşimini kullandı. Azure geçişinin ilk aşamalarında ekip, mevcut kesinlik temelli betiklerde yeni platformu hedef alan değişiklikler yaparak mevcut otomasyon kod tabanının mümkün olduğunca çoğunu yeniden kullanabildi. Bu yaklaşım, Bicep gibi Azure ve IaC teknolojileriyle ilgili uzmanlık eksikliği nedeniyle de alınmıştır.
  • Geçiş ilerledikçe ve ekip platform hakkında daha fazla bilgi edindikçe, Bicep ile IaC yaklaşımı kullanmanın daha uzun vadeli daha iyi bir çözüm olacağı konusunda ikna oldular.

Yaklaşımı ve sonuçları uygulama

  • Şirket içinde bilgi sahibi olmayan ekip, iş yüküne yönelik dağıtım otomasyonu betiklerini projenin ilk aşamalarında geliştirme ekibiyle birlikte çalışan deneyimli yüklenicilere geçirmek ve genişletmek ve ekibin geri kalanına bilgi aktarımı sağlamak için sözleşme yaptı.
  • Elde edilen Bicep tabanlı uygulama, Azure'da altyapı sağlamak için daha güvenilir, yönetilebilir ve verimli bir yol sağlar. VsCode'da harika araç desteğiyle kod artık daha okunabilir ve korunabilir. Ayrıca tam olarak etkilidir ve önceki/kesinlik temelli sürümle hiçbir zaman tam olarak gerçekleştiremedikleri durum yönetimini basitleştirir.

IaC'nize uygulama kodunuzla aynı şekilde davranın

IaC geliştirme ve bakımı için yazılım önerilerini izleyin: Moderasyonu modüler hale getirme, özel veya düşük değerli soyutlamalardan kaçınma ve farklı yaşam döngülerini yansıtmak için katmanlı bir yaklaşım izleme. Alt katmanların sabit kaldığı ve üst katmanların gerektiği gibi değiştiği temel katmanlar oluşturun.

Uygulama ikili dosyaları, IaC şablonları ve parametreler gibi dağıtım yapıtları saldırı yüzeyinin bir parçasıdır. Gizli dizi yönetimi, erişim denetimi ve Güvenlik sütununun diğer ilkeleri gibi güvenceleri uygulayın.

Yapıtlar, uygulama koduyla aynı mühendislik katılık düzeyini yaşar. Eş gözden geçirmeleri ve test aracılığıyla kalite denetimleri, dağıtımda size güven verir.

Katmanlı bir yaklaşım, bakımı kolaylaştırır ve net sorumluluk çizgileri oluşturan sınırlar oluşturur.

Yapıtlara güvenlik denetimleri eklemek, dağıtım işlemi sırasında sistemin sağlamlaştırmasına yardımcı olur.

Contoso'nun sınaması

  • Proje ekibi, geçiş çalışmalarının başlangıcında cömert bir bütçeye sahip olduğundan, yüksek kaliteli ve kısa bir süre içinde teslim edilen çok deneyimli yüklenicileri işe aldı. Yükleniciler geliştirmeleri için ayrı bir depo kullandılar ve bu depo güvenlik için düzenli olarak denetlenmemişken ana uygulama kodu deposudur.
  • Ekip, çözümün büyük bir yeniden tasarımını yayınlamaya hazırlanıyor ve dağıtım kodunda önemli değişiklikler yapılması gerekiyor. Geliştirme kaynaklarının azlığı nedeniyle, en son değişiklikler iki stajyer tarafından yapılmaktadır. Ekipteki üst düzey geliştiricilerden biri stajyerlere yardım etmek için çağrıldığında depoda, kod tabanında API anahtarları gibi uygulama gizli dizilerinin sabit kodlanmış olması da dahil olmak üzere ekibin geliştirme standartlarına uygun olmayan birden çok işleme olduğunu fark eder.

Yaklaşımı ve sonuçları uygulama

  • Ekip, derleme ve dağıtım kod tabanını uygulama kodu için kullanılan depoya taşımaya ve kod tabanının diğer alanlarıyla aynı mühendislik katılık düzeyini uygulamaya başlamaya karar verir. Kod, ilk işlemeden önce ekip standartlarına getirilir, uygulama gizli dizileri kaldırılır ve diğer tüm ekip kalite standartları ve araçları uygulanır.
  • Sonuç olarak, ekip kod tabanının bu bölümünü güvenli hale getirerek kod kalitesini artırmıştır. Bundan sonra, kod tabanının bu alanında yapılan değişiklikler aynı standartları izler ve eş kod incelemeleri ve kodun kalite ve güvenlik araçlarıyla otomatik olarak taranma gibi temel uygulama kod tabanı için kullanılan araçlardan yararlanacaktır.

Dağıtımları tek bir bildirimde standartlaştırma

Tüm ortamlarda kullanılan ortak bir dağıtım bildirimi geliştirin. Bu bildirimi yeşil alan projeleri, artımlı iş yükü güncelleştirmeleri veya olağanüstü durum kurtarma için varsayılan mekanizma olarak kullanın.

Bu yaklaşımı uygulamak, birden çok varlığın bakımının yükünü kaldırmanıza olanak sağlar.

Olağanüstü bir durum söz konusuysa, doğaçlama bir ortam oluşturmak yerine denenmiş ve test edilmiş bir bildirim dağıtabileceğinizden kurtarma hızlı ve güvenilir olacaktır.

Contoso'nun sınaması

  • Contoso Manufacturing, geliştirme ve üretim ortamına altyapı, uygulama kodu ve yapılandırma değişikliklerini dağıtmak için tam otomatik bir işlem hattı kullanır. Uygulama, tek bir bölgede yüksek oranda kullanılabilir olacak şekilde yapılandırılmıştır. MySQL veritabanı dışında çoğu uygulama bileşeni durum bilgisi içermez. Veritabanı, oluşturulan RTO/RPO tarafından dikte edilen şekilde yedekler ve yedekleme ikincil bir bölgeye çoğaltılır.
  • Birincil bölgede önemli veya yıkıcı bir hata oluşursa, ekip uygulamayı ikincil bölgede barındıracak yeni bir ortam oluşturmayı planlıyor. DR yordamlarını test etmek için planlanan bir detaylandırma sırasında, çeşitli kaynakların kullanılabilir olmaması ve diğer hizmet sınırlamaları nedeniyle ikincil bölgede ortamı yeniden oluşturmaya çalışırken dağıtım betikleri başarısız olur.

Yaklaşımı ve sonuçları uygulama

  • Ekip, bazı kaynakların kullanımını her iki bölgede de kullanılabilen eşdeğer SKU'larla değiştirerek ve bazı seçenekleri ikincil bölgede farklı, ancak geçerli bir değer kullanılacak şekilde yapılandırılabilir hale getirerek ikincil bölgede sağlamaya çalışırken karşılaştıkları sorunları azaltır.
  • Alıştırma, ekibin büyük altyapı hatalarından kurtulma becerisine olan güvenini artırdı.

Bilgilerinizi kontrol edin

1.

Altyapıyı kod olarak dağıtmak güvenle dağıtmanıza nasıl yardımcı olabilir?

2.

IaC kodunu uygulama koduyla aynı depoya taşımak Contoso ekibinin güvenle dağıtılmasına nasıl yardımcı oldu?

3.

Aşağıdakilerden hangisi BIR DR ortamı dağıtımının verimli bir şekilde çalışmasını sağlamaya yardımcı olabilir?