DevOps için dağıtım konuları
Azure kaynaklarını, uygulama kodunu ve yapılandırma ayarlarını sağladığınızda ve güncelleştirdiğinizde, yinelenebilir ve öngörülebilir bir işlem, hatalardan ve kapalı kalma süresinden kaçınmanıza yardımcı olur. Dağıtım için, isteğe bağlı olarak çalıştırabileceğiniz ve bir şeyler başarısız olursa yeniden çalıştırdığınızda otomatik süreçler yapmanızı öneririz. Dağıtım işlemleriniz sorunsuz çalıştıktan sonra işlem belgeleri bu şekilde devam edebilir.
Otomasyon
Kaynakları isteğe bağlı olarak etkinleştirmek, çözümleri hızlıca dağıtmak, insan hatasını en aza indirmek ve tutarlı ve yinelenebilir sonuçlar üretmek için dağıtımları ve güncelleştirmeleri otomatikleştirdiğinizden emin olun.
Mümkün olduğunca çok işlem otomatikleştirin
En güvenilir dağıtım işlemlerinde otomatikleştirilmiş ve ıdempotent — diğer bir deyişle, aynı sonuçları üretmek için yinelenebilir.
- Azure kaynaklarının sağlanması otomatik hale getirmek için terkform, andile,chef, pupevcil hayvan, Azure PowerShell, Azure clıveya Azure Resource Manager şablonlarınıkullanabilirsiniz.
- VM 'Leri yapılandırmak için Cloud-init (Linux VM 'ler için) veya Azure Otomasyonu durum yapılandırması (DSC) kullanabilirsiniz.
- uygulama dağıtımını otomatikleştirmek için Azure DevOps Services, jenkinsveya diğer cı/CD çözümlerini kullanabilirsiniz.
En iyi uygulama olarak, parametre açıklamaları ve betik kullanımı örnekleri ile belgelenen hızlı erişim için kategorilere ayrılmış bir Otomasyon betikleri deposu oluşturun. Bu belgeleri Azure dağıtımlarınızla eşitlenmiş halde tutun ve depoyu yönetmek için bir birincil kişi belirleyin.
Otomasyon betikleri, olağanüstü durum kurtarma için isteğe bağlı kaynakları da etkinleştirebilir.
Dağıtım ve bakım görevlerini otomatikleştirin ve test edin
Dağıtılmış uygulamalar birlikte çalışması gereken birden çok bölümden oluşur. Dağıtım, yapılandırma ve yapılandırma ve dağıtım sürecini otomatikleştirebilen betikler gibi kanıtlanmış mekanizmalardan faydalanır. Hataların ek kapalı kalma süresine neden olmamasını sağlamak için tüm işlemi tamamen test edin.
Dağıtım güvenliği ölçülerini uygulama
Dağıtılan uygulamayı korumak için tüm dağıtım araçlarının güvenlik kısıtlamalarını içermesi gerekir. Dağıtım ilkelerini dikkatle tanımlayıp zorunlu tutun ve insan müdahalesi gereksinimini en aza indirin.
Yayın işlemi
Geliştirme ile ilgili güçlüklerden biri, son test aşamasından canlı üretime kadar yazılım alınması ve bunların doğrudan kesilmesidir. Kapalı kalma süresini en aza indirmek için genellikle bunu hızla yapmanız gerekir. Mavi yeşil dağıtım yaklaşımı, mümkün olduğunca aynı şekilde iki üretim ortamına sahip olmanızı sağlayarak bunu yapar.
Belge serbest bırakma işlemi
Ayrıntılı yayın işlemi belgeleri olmadan, bir operatör hatalı güncelleştirme dağıtabilir veya uygulamanızın ayarlarını yanlış şekilde yapılandırabilir. Yayın sürecinizi net bir şekilde tanımlayıp belgeleyin ve operasyon ekibinin tamamının erişimine açık olduğundan emin olun.
İş yüklerinizi hazırlama
Çeşitli aşamalara dağıtım ve bir sonrakine geçmeden önce her aşamada testleri/doğrulamaları çalıştırma, ücretsiz üretim dağıtımı sağlar.
Hazırlama ve üretim ortamlarının iyi kullanımıyla, güncelleştirmeleri üretim ortamına yüksek düzeyde kontrollü bir şekilde gönderebilir ve beklenmeyen dağıtım sorunlarından kaçınmasını en aza indirebilir.
- Mavi-yeşil dağıtım , bir güncelleştirmenin canlı uygulamadan ayrı bir üretim ortamına dağıtılmasını içerir. Dağıtımı doğruladıktan sonra trafik yönlendirmesini güncelleştirilmiş sürüme geçirin. Bunu yapmanın bir yolu, Azure App Service ' de bulunan hazırlama yuvalarını üretime taşımadan önce bir dağıtım aşamasına kadar kullanmaktır.
- Canary yayınları , mavi yeşil dağıtımlara benzer. Tüm trafiği güncelleştirilmiş uygulamaya geçirmek yerine, trafiğin yalnızca küçük bir kısmını yeni dağıtıma yönlendiriyorsunuz. Bir sorun varsa eski dağıtıma dönün. Aksi takdirde, yeni sürüme giderek daha fazla trafiği daha fazla akışa yönlendirin. Azure App Service kullanıyorsanız, bir kanarya sürümünü yönetmek için üretim özelliğindeki testi kullanabilirsiniz.
Test ortamları
Geliştirme ve test ortamları üretim ortamıyla eşleşmezse sorunları test etmek ve tanılamak zor olur. Bu nedenle, geliştirme ve test ortamlarını, üretim ortamına mümkün olduğunca yakın bir şekilde saklayın. Test verilerinin, örnek veriler ve gerçek üretim verileri olmasa bile üretimde kullanılan verilerle tutarlı olduğundan emin olun (gizlilik veya uyumluluk nedenleriyle). Örnek test verileri oluşturmayı ve Anonimleştir planlayın.
Günlük kaydı ve denetim
Mümkün olduğunca sürüme özgü bilgileri yakalamak için güçlü bir günlüğe kaydetme stratejisi uygulayın. Hazırlanmış dağıtım teknikleri kullanıyorsanız, uygulamanızın üretim ortamında birden fazla sürümü çalışıyor olur. Bir sorun oluşursa, hangi sürümün soruna neden olduğunu saptayın.
Yüksek kullanılabilirlik konuları
Bir hizmetin tek bir örneğine bağlı olan bir uygulama, tek bir hata noktası oluşturur. Dayanıklılık ve ölçeklenebilirliği artırmak için birden çok örnek sağlayın.
- Azure App Serviceiçin, birden çok örnek sunan bir App Service planı seçin.
- Azure Cloud Servicesiçin, rollerinizin her birini birden çok örnekkullanacak şekilde yapılandırın.
- Azure sanal makineleriçin mimarinizin bırden fazla VM içerdiğinden ve her VM 'nin bir kullanılabilirlik kümesineeklendiğinden emin olun.
Birden çok bölgede dağıtımı düşünün
En az kritik uygulamaları ve uygulama hizmetlerini birden çok bölgede dağıtmanız önerilir. Uygulamanız tek bir bölgeye dağıtılmışsa, nadir olayda tüm bölge kullanılamaz hale gelirse, uygulama da kullanılamaz olur. Tek bir bölgeye dağıtmayı seçerseniz, beklenmeyen bir hataya yanıt olarak ikincil bir bölgeye yeniden dağıtmaya hazırlanmaya dikkat edin.
İkincil bir bölgeye yeniden dağıtın
Uygulama ve veritabanlarını çoğaltma olmadan tek bir birincil bölgede çalıştırırsanız, kurtarma stratejiniz başka bir bölgeye yeniden dağıtmak olabilir. Bu çözüm, en uygun öneme sahiptir ancak en çok önemli olmayan uygulamalar için, daha uzun kurtarma sürelerine yönelik olabilir. Bu stratejiyi seçerseniz, yeniden dağıtım sürecini mümkün olduğunca otomatikleştirin ve olağanüstü durum yanıt test etme senaryolarını dahil edin.
Yeniden dağıtım işleminizi otomatik hale getirmek için Azure Site Recoverykullanmayı göz önünde bulundurun.