Otomasyonu etkinleştirmeye yönelik öneriler
Bu Azure İyi Tasarlanmış Çerçeve İşlem Mükemmelliği denetim listesi önerisi için geçerlidir:
OE:10 | Yaşam döngüsü endişeleri, önyükleme ve idare ve uyumluluk korumaları uygulama gibi işlemler için otomasyon önceden tasarlayın ve uygulayın. Otomasyonu daha sonra güçlendirmeye çalışmayın. Platformunuzun sağladığı otomasyon özelliklerini seçin. |
---|
Bu kılavuzda, otomasyonu etkinleştirmek için iş yükünüzü tasarlamaya ve uygulamaya yönelik öneriler açıklanmaktadır. Kaynakları sağlama, ölçeklendirme ve dağıtımlar gibi rutin görevlerin hızlı ve güvenilir bir şekilde gerçekleştirilmesini sağlamak için iş yükünüzü otomasyonla tasarlayın. Otomasyon, bakım görevlerini basitleştirir ve sistemlerinizi daha verimli bir şekilde güncelleştirmenize, düzeltme eki uygulamanıza ve yükseltmenize olanak tanır.
Temel tasarım stratejileri
Otomasyonu desteklemek için iş yükü bileşenleri tasarlama
İş yükünüzü, fikir geliştirme aşamasından devam eden geliştirme aşamasına kadar otomasyonu destekleyecek şekilde tasarlayabilirsiniz. İlk olarak, gerekli parçaları yerine koyduğunuzdan emin olmanıza yardımcı olmak için iş yükünüzde otomasyonu nasıl uygulamak istediğinizi düşünün. İş yükünüzü, kullanacağınız otomasyon türlerini planlamaya yardımcı olmak için İyi Tasarlanmış Çerçeve sütunları açısından düşünün. Birçok güvenlik, güvenilirlik, performans, operasyon ve maliyet denetimi işlevlerini otomatikleştirebilirsiniz.
İş yükünüz çalıştırıldıktan sonra yeniden düzenlemeyi en aza indirmek için otomasyonu göz önünde bulundurarak tasarlama. Hangi otomasyon araçlarını kullanacağınıza karar verirken iş yükü gereksinimlerinizi göz önünde bulundurun. Ekibinizin zaten aşina olduğu kullanıma hazır otomasyon araçları olabilir. Bu araçları benimsemek, iş yükünüzü otomatikleştirmeye giden yolu kolaylaştırabilir, ancak bunların sınırlamalarına ve bulut platformunuzla uyumluluğuna dikkat edin. Örneğin, bazı otomasyon araçları Azure CLI araçlarıyla iyi tümleştirilirken, diğerleri REST arabirimleri gerektirebilir. Uyumlu olduklarından emin olmak ve ihtiyacınız olan işlevselliği sağlamak için bulut platformunuzun sağladığı araçları her zaman araştırın. Otomasyon için proaktif olarak planlayabileceğiniz yollara örnek olarak şunlar verilebilir:
Dağıtım: Öngörülebilir bir standart sağlamak için uygulama ve altyapı dağıtımlarınızı otomatikleştirin. Dağıtım standartları geliştirerek, takımınızı kullanacağınız araçlar konusunda eğiterek ve gerekli altyapıyı uygulayarak otomatik dağıtım için plan yapın.
Doğrulama: Düzenleme veya ilke araçlarını kullanarak uyumluluk gereksinimlerini iş yükünüzle otomatik olarak doğrulayın. İş yükünüz için uygun doğrulama aracını belirleyin ve düzenleme sunucuları gibi gerekli sistemleri uygulamayı planlayın.
Otomatik ölçeklendirme: Güvenilirlik ve performans gereksinimlerinize ulaşmanıza yardımcı olması için altyapınız genelinde otomatik ölçeklendirmeyi kullanın. Yedeklilik ve doğal büyüme planlamasının yanı sıra ölçeklendirme işlemlerini hesaba katmak için iş yükünüzdeki IP adresi alanını ve alt ağları önceden ayırmanız gerekir.
Dengeleme: İş yükünüzü otomasyonu etkinleştirecek şekilde tasarlarken, korumak istediğiniz denetim derecesini ve otomasyon aracılığıyla elde edebilirsiniz verimliliği göz önünde bulundurun. Bazı durumlarda, iş yükünüz bazı işlevleri otomatikleştirmek için yeterince olgun olmayabilir veya otomasyonun sağlamadığı bir esneklik düzeyine ihtiyacınız olabilir.
Ayrıca iş yükünüzü tasarlarken ekibinizin beceri kümesini de göz önünde bulundurun. Yüksek düzeyde otomasyon için ekibinizin desteklemediği araçlar gerekiyorsa, ara adım olarak daha az kapsamlı bir tasarım kullanmanız gerekebilir.
Yaşam döngüsü sırasında otomasyon tasarımını yeniden ziyaret edin
İş yükünüz bulutta çalıştırıldıktan sonra sürekli iyileştirmeye öncelik vermek önemlidir. İş yükünüzü çalışırken gözlemleyin, kullanım desenlerini analiz edin ve otomasyonu geliştirebileceğiniz alanları belirlemek için iş yükünüzle ilgili müşteri davranışlarını gözden geçirin. Mevcut otomasyonu geliştirmenin veya müşteri deneyiminizi geliştirmek için yeni otomasyon sunmanın yollarını arayın. Örneğin, otomatik ölçeklendirmeyi etkinleştirmiş olabilirsiniz, ancak iş yükü artışı kısa sürelidir. Yük eşiğin altına düştüğünde CPU kullanımını azaltmak için ölçeği daraltma otomasyonunu tümleştirebilirsiniz.
Bu kılavuzun aşağıdaki bölümleri, iş yükü tasarımınızda ve uygulamanızda size yardımcı olabilecek belirli otomasyon alanlarıyla ilgili öneriler sunar.
Önyüklemeyi otomatikleştirme
Bootstrapping, bir kaynağın sağlandıktan sonra, ancak iş yükü havuzunun bir parçası olarak kullanılabilir hale getirilmeden önce yapılması gereken yapılandırma güncelleştirmelerini ifade eder. Bootstrapping genellikle sanal makinelerle (VM' ler) ilişkilendirilir, ancak hizmet olarak platform (PaaS) teknolojileri ve Azure Kubernetes Service (AKS) gibi kapsayıcı barındırma teknolojileri de dahil olmak üzere dağıtım işleminin bir parçası olarak başka birçok kaynak ayarlanmalıdır.
Bulut platformunuz sizin için mümkün olduğunca kullanmanız gereken önyükleme çözümleri sağlayabilir. Örneğin, dağıtım işlemi sırasında önceden tanımlanmış yapılandırma değişiklikleri yapmak ve PowerShell betikleri ekleyerek yapılandırma değişikliklerinizi özelleştirmek için Azure'daki VM uzantılarını kullanabilirsiniz.
Erişimin yönetimine otomasyon ekleme
Kimlik doğrulama ve yetkilendirme stratejinizi tasarlarken otomasyonu dikkate alın. Üretim iş yüklerinde en yüksek güvenlik düzeyini korumak önemlidir, ancak bu durum otomasyonu etkileyebilir. Örneğin, biyometrik veya çok faktörlü kimlik doğrulaması kullanımı, otomasyon tasarımınızda hesaba katılması gereken karmaşıklığı artırır. Yönetilen kimlikler, iş yükü kimlikleri veya sertifikalar gibi otomatik kimlik doğrulaması için insan dışı, güvenli hesaplar kullanın. Daha fazla kimlik doğrulaması güvenliği için gizli dizi ve anahtar yönetimini otomasyonunuza eklediğinizden emin olun.
İş yükünüzde değişkenlik tasarlama
Yapıtlarınızda esneklik oluşturarak küçük değişiklikler yapıldığında yeni altyapıyı gereksiz yere dağıtmaktan kaçının. Örneğin, bir özellik bayrağı değiştiğinde altyapınızı yeniden dağıtmak yerine, uygulama yapılandırmaları gibi bileşenleri güncelleştirmek için ayarlanmış parametreleri kullanabilirsiniz. Aşırı kullanma ve yapılandırma kaymasını önlemek için değişkenliğin nasıl kullanıldığını açık bir şekilde tanımlayıp belgelemeyi unutmayın.
Kontrol düzlemi oluşturma
Denetim düzlemi, uygulamayı ve bağımlılıklarını birleşik bir arabirim aracılığıyla yönetmek için kullandığınız arka uç sistemi veya araç paketidir. Dış araçlar tarafından otomasyon desteği sağlamak için rest arabirimi, CLI veya web kancası gibi kontrol düzleminizi oluşturun.
Düzenli yedekleme ve geri yükleme, önyükleme, yapılandırma, içeri/dışarı aktarma ve toplu işlem gibi iş yükü bileşenlerini koordine edebilmenizi sağlayan denetim düzlemi aracılığıyla bakım işlemlerini kullanıma sunar. Kontrol düzlemi aracılığıyla kullanıma sunulacak işlemlere karar verirken doğru ayrıntı düzeyini seçmeye dikkat edin.
Otomasyon geliştirmek için veri odaklı bir yaklaşım benimseme
İstediğiniz otomasyon türünü yönlendiren ölçümleri yakalamak için bir izleme stratejisi geliştirin. Otomasyon araçlarıyla kolayca tanınabilecek bir biçimde otomasyon için gereken bilgileri sağlamak için yapılandırılmış günlük ve özel ölçümler kullanın. Yakaladığınız ölçümler, uygun olduğunda uyarılar ve bildirimler veya kendi kendini düzeltme mekanizmaları gibi otomatik eylemleri tetikleyen izleme sisteminde tanımlanan eşiklerle eşleştirilmelidir. Daha fazla bilgi için bkz . Kendi kendini iyileştirme ve kendini koruma önerileri.
Kullanıcı yaşam döngüsü olaylarını otomatikleştirme
Bireyler veya çok kiracılı müşteriler için otomatik kullanıcı ekleme ve çıkarma işlemlerine izin vermek için uygulamanızı ve altyapınızı tasarlar. Betikler, altyapı sağlama ve sağlamayı kaldırma ile kimlik bilgileri ve gizli dizi yönetimi aracılığıyla otomatik veritabanı güncelleştirmelerini planlayın.
İstenen Durum Yapılandırmasını Otomatikleştirme
Sürekli iş yükü yönetiminizin bir parçası olarak, uyumluluk ve iş gereksinimlerini karşıladığından emin olmak için kaynaklarınızda İstenen Durum Yapılandırmasını (DSC) otomatikleştirebilirsiniz. DSC otomasyonu, yapılandırma kaymasının yakalanmasını ve hızla düzeltilmesini sağlamaya yardımcı olur. Düzenleme araçlarını veya ilke yönetimi araçlarını kullanarak DSC'yi otomatikleştirebilirsiniz. Azure DevOps hizmetleri veya Jenkins gibi düzenleme araçlarını gönderme tabanlı mekanizmalar olarak düşünün. Düzenleme araçları, yapılandırma güncelleştirmelerinin el ile veya otomatik dağıtım gibi bir iş akışı olayı üzerinden gönderilmesini sağlar. Bu güncelleştirmeler, dağıtım betiğinizde tanımlanan bir görev dizisinin parçası olarak çalıştırılır. İlke yönetimi araçları çekme tabanlı mekanizmalar kullanır. Bu, sistemin iş yükünüzün temel düzeyinde çalıştığı ve iş yükünün durumunu tanımlı DSC'nize göre denetlemek için düzenli aralıklarla yoklayan bir sistem olduğu anlamına gelir. Yoklama yanlış hizalama veya yapılandırma kaymasını tanımlarsa, araç düzeltici eylemde bulunur. Düzenleme ve ilke yönetimi araçları arasında karar verirken aşağıdaki faktörleri göz önünde bulundurun:
Düzenleme araçlarının, yapılandırma kayıtları için iş yükünüzü proaktif olarak yoklamanızı sağlamak için yerleşik özellikleri yoktur. Düzenleme araçları, kod olarak altyapı (IaC) dağıtımı ve yönetimi için bir standart korumak üzere sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hattınızla tümleştirilmelidir. Düzenleme araçlarını kullanmanın bir avantajı, dağıtıldığında kaynakların her zaman tam olarak yapılandırılmasıdır.
İlke yönetimi araçları, bir veya daha fazla kaynak grubunu etkileyen ilkeler tanımlamanıza olanak sağlar. Bu ilkeler, kaynak ilke yönetim sistemiyle iade edildiğinde uygulanır. İlke yönetimini kullanmanın bir avantajı, bu sistemlerin kod temelli olmadığından, ekibinizdeki operatörlerin benimsemesi daha kolay olabilir.
Düzenleme veya ilke araçları arasında karar verirken, yeni kaynaklarda yapmayı planladığınız yapılandırma güncelleştirmelerinin dağıtım sırasında yapılması gerekip gerekmediğini göz önünde bulundurun. Ayrıca, güncelleştirmeleri kodda tanımlamanın işletimsel uygulamalarınıza ve dağıtmayı planladığınız kaynak türlerine uygun olup olmadığını da göz önünde bulundurun. Kaynak türleri arasında birçok farklı yapılandırma varsa, ilke araçları güncelleştirmeleri yönetmenin daha kolay bir yolu olabilir.
Azure kolaylaştırma
İlke yönetimi
Azure İlkesi: Azure İlkesi kullanarak standartları zorunlu kılabilir ve uygun ölçekte uyumluluğu değerlendirebilirsiniz. Azure İlkesi, uyumluluk panosundaki iş yükü ortamının genel durumunu değerlendirmek için toplu bir görünüm sağlar. Ya da her kaynağı ve ilkeyi ayrıntılı bir düzeyde değerlendirmek için Azure İlkesi kullanabilirsiniz. Yeni kaynakları otomatik olarak düzeltmek veya mevcut kaynakları toplu olarak düzeltmek için de Azure İlkesi kullanabilirsiniz.
Dengeleme: CI/CD işlem hattınızdan Azure İlkesi gibi platform araçlarına veya hizmetlerine otomasyon boşaltmak işlem hattınızı basitleştirebilir, ancak birden çok sistem kullanmanın ek yönetim yükü gibi dezavantajları vardır. Örneğin, bir platform hizmetindeki yürütme hataları işlem hattı günlüklerinize yakalanmaz ve uygun taraflara bildirilmesi için gözlemlenebilirlik platformunuza akıllı bir şekilde beslenmesi gerekir.
Bootstrap otomasyonu
Azure Sanal Makineler uzantıları: Sanal Makineler uzantıları, VM'lerde dağıtım sonrası yapılandırma ve otomasyon çalıştıran küçük paketlerdir. Betik çalıştırma, kötü amaçlı yazılımdan koruma çözümlerini yapılandırma ve günlük çözümlerini yapılandırma gibi farklı yapılandırma görevleri için çeşitli uzantılar kullanılabilir. Azure Resource Manager şablonu, Azure CLI, Azure PowerShell modülü veya Azure portalı kullanarak bu uzantıları VM'lerde yükleyin ve çalıştırın. Her VM'de uzantının yaşam döngüsünü yöneten bir VM aracısı yüklüdür.
VM uzantıları genellikle bir VM veya Azure Sanal Makine Ölçek Kümeleri yazılım yüklemek, komut çalıştırmak ve yapılandırmalar gerçekleştirmek için özel bir betik uzantısı kullanır. Bu uzantıları, Azure VM Aracısı'nı kullanarak yeni VM'lerde çalışacak şekilde IaC dağıtımlarının bir parçası olarak çalışacak şekilde ayarlayabilirsiniz. Uzantılar, Azure CLI, PowerShell modülü veya Azure portalı kullanılarak azure dağıtımı dışında da çalıştırılabilir.
Cloud-init: Cloud-init, linux VM'lerini ilk önyüklemede yapılandırmaya yönelik bir endüstri aracıdır. Cloud-init, Azure özel betik uzantılarına çok benzer şekilde Paketleri yüklemenize ve Linux VM'lerinde komut çalıştırmanıza olanak tanır. Yazılım yüklemesi, sistem yapılandırması ve içerik hazırlama için cloud-init kullanabilirsiniz. Azure, iyi bilinen Linux dağıtımlarında birçok bulut init özellikli VM görüntüsü içerir. Tam liste için bkz . Azure'daki VM'ler için cloud-init desteği.
Azure dağıtım betiği kaynağı: Azure kullanarak dağıtım yaparken kullanıcı hesaplarının, Kubernetes podlarının yönetimine önyükleme yapmak veya Azure dışı bir sistemdeki verileri sorgulamak için rastgele kod çalıştırmanız gerekebilir. Bu işlemlerin hiçbiri Azure denetim düzlemi üzerinden erişilemediğinden ayrı bir mekanizma gerekir. Daha fazla bilgi için bkz . Microsoft.Resources deploymentScripts. Diğer tüm Azure kaynakları gibi dağıtım betiği kaynağı da:
Azure Resource Manager şablonunda kullanılabilir.
Diğer kaynaklardaki Azure Resource Manager şablon bağımlılıklarını içerir.
Girişi kullanır ve çıkış üretir.
Kimlik doğrulaması için kullanıcı tarafından atanan yönetilen kimliği kullanır.
Dağıtım betiği dağıtıldığında PowerShell veya Azure CLI komutlarını ve betiklerini çalıştırır. Betik çalıştırmaları ve günlüğe kaydetme, Azure portalında veya Azure CLI ve PowerShell modülüyle gözlemlenebilir. Betik hatasından sonra çalıştırma ortamı, zaman aşımı seçenekleri ve kaynak yönetimi için değişkenleri özelleştirebilirsiniz.
GitOps ile AKS kümelerini bootstrap: GitOps ve Flux v2 kümesi uzantısını kullanarak GitHub depolarında yapılandırma ayarlarınızı bildirerek yeni sağlanan bir AKS kümesini önyükleyebilirsiniz. AKS küme dosyaları GitHub deposunda depolandığından, bunlar sürümlenir ve sürümler arasındaki değişiklikler kolayca izlenir. Kubernetes denetleyicileri kümelerde çalışır ve dosyaları depodan çekerek Git deposunda bildirilen istenen durumla küme durumunu sürekli olarak mutabık tutar. Daha fazla bilgi için bkz . AKS temel başvuru mimarisi.
Yapılandırma yönetimi
Azure Otomasyonu Durum Yapılandırması, herhangi bir bulut veya şirket içi veri merkezinde bulunan düğümler için PowerShell DSC yapılandırmalarını yazmak, yönetmek ve derlemek için kullanabileceğiniz Azure İlkesi konuk yapılandırma özelliği tarafından yönetilen bir DSC yönetim aracıdır. DSC kaynaklarını içeri aktarmak ve yapılandırmaları hedef düğümlere atamak için de bu aracı kullanabilirsiniz.
Azure Uygulaması Yapılandırması, uygulama ayarlarınızı ve özellik bayraklarınızı merkezi olarak yönetmek için kullanabileceğiniz bir hizmettir. Azure Key Vault ile birlikte çalışarak ortamınızda çok çeşitli uygulama yapılandırmalarını güvenli bir şekilde yönetebilirsiniz.
Değişiklik izleme ve envanter
Azure monitoring Agent kullanarak değişiklik izleme ve envanter, hem Azure VM'lerinde hem de Arc özellikli VM'lerde işletim sistemi yapılandırma kayması izler. Bu, iş yükünüzdeki sanal makinelerde kayma, çalışan hizmetler ve yüklü paketlerin envanterini algılamayı otomatikleştirir. Değişiklik izleme ve envanter tarafından izlenen öğeler şunlardır:
- Yüklü Windows ve Linux yazılımı
- Önemli Windows ve Linux dosyaları
- Windows kayıt defteri anahtarları
- Windows hizmetleri ve Linux daemon'ları
İlgili bağlantılar
- AKS temel başvuru mimarisi
- Azure Uygulaması Yapılandırması
- Azure Otomasyonu Durumu Yapılandırması
- Azure İlkesi
- Azure'daki VM'ler için cloud-init desteği
- AKS ve Azure Arc özellikli Kubernetes ile GitOps Flux v2 yapılandırmaları
- Microsoft.Resources deploymentScripts
- Kendini iyileştirme ve kendini koruma önerileri
Operasyonel Mükemmellik denetim listesi
Öneriler kümesinin tamamına bakın.