Aracılığıyla paylaş


Otomasyonu etkinleştirmeye yönelik öneriler

Bu Azure Well-Architected Framework Operation Excellence 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. Kaynak sağlama, ölçeklendirme ve dağıtım 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

İş yükü tasarımı

İş 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ı yerleştirdiğinizden emin olmak için iş yükünüzde otomasyonu nasıl uygulamak istediğinizi göz önünde bulundurun. kullanacağınız otomasyon türlerini planlamaya yardımcı olmak için iş yükünüzü Well-Architected Framework sütunları açısından düşünün. Birçok güvenlik, güvenilirlik, performans, operasyon ve maliyet denetimi işlevini otomatikleştirebilirsiniz.

İş yükünüz çalıştırıldıktan sonra yeniden düzenlemeyi en aza indirmek için otomasyon ile tasarlarsınız. 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 açık 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şebilirken, 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çlarla eğiterek ve gerekli altyapıyı uygulayarak otomatik dağıtım planlayın.

  • Doğrulama: Düzenleme veya ilke araçlarını kullanarak uyumluluk gereksinimlerini iş yükünüzde 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, otomasyon aracılığıyla elde etmek istediğiniz verimlilikle karşı karşıya kalmak istediğiniz denetim derecesini 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 desteklemesi gereken araçlar gerekiyorsa, ara adım olarak daha az kapsamlı bir tasarım kullanmanız gerekebilir.

Sürekli iş yükü geliştirmeleri

İş yükünüz bulutta çalıştırıldıktan sonra sürekli iyileştirmeye öncelik vermek önemlidir. Otomasyonu geliştirebileceğiniz alanları belirlemek için iş yükünüzü çalışırken gözlemleyin, kullanım düzenlerini analiz edin ve 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 ömürlüdür. Yük eşiğin altına düştüğünde CPU kullanımını azaltmak için ölçek 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ükleme

Bootstrapping, bir kaynağın sağlandıktan sonra ancak iş yükü havuzunun bir parçası olarak kullanılabilir duruma gelmeden önce yapılması gereken yapılandırma güncelleştirmelerini ifade eder. Bootstrapping genellikle sanal makinelerle (VM) 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 sürecinin bir parçası olarak başka birçok kaynağın ayarlanması gerekir.

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.

Kimlik doğrulaması ve yetkilendirme

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 otomasyonunuza gizli dizi ve anahtar yönetimi 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 ayarlanan parametreleri kullanabilirsiniz. Aşırı kullanıma 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 belgelemeye özen gösterin.

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çlarla otomasyonu desteklemek için denetim düzleminizi REST arabirimi, CLI veya web kancası gibi 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 sunun. Kontrol düzlemi aracılığıyla kullanıma sunulacak operasyonlara karar verirken doğru ayrıntı düzeyini seçmeye dikkat edin.

İzleyici ve günlük

gereken 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üğe kaydetmeyi ve özel ölçümleri 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ü

Uygulamanızı ve altyapınızı, bireyler veya çok kiracılı müşteriler için otomatik kullanıcı ekleme ve çıkarma işlemlerine izin verecek şekilde 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ştirmeleri planlayın.

Düzenleme ve ilke kullanımı

Sürekli iş yükü yönetimi kapsamında, uyumluluk ve iş gereksinimlerini karşıladığından emin olmak için kaynaklarınızdaki Desired State Configuration (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önetim 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önetim araçları çekme tabanlı mekanizmalar kullanır; başka bir deyişle bir sistem iş yükünüzün temel düzeyinde çalışır ve bu da iş yükünün durumunu tanımlanan DSC'nize göre denetlemek için düzenli aralıklarla yoklar. Anket bir yanlış hizalama veya yapılandırma kayması tanımlarsa, araç düzeltici eylemde bulunur. Düzenleme ve ilke yönetimi araçları arasında seçim yaparken aşağıdaki faktörleri göz önünde bulundurun:

  • Düzenleme araçlarının, iş yükünüzü yapılandırma kaydırmalarına karşı proaktif olarak yoklamanızı sağlamak için yerleşik özellikleri yoktur. Kod olarak altyapı (IaC) dağıtımı ve yönetimi standardının korunması için düzenleme araçlarının sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hattınızla tümleştirilmesi gerekir. Düzenleme araçlarını kullanmanın bir avantajı, kaynakların dağıtıldığında 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 birlikte iade edildiğinde uygulanır. İlke yönetimini kullanmanın bir avantajı, bu sistemlerin kod temelli olmadığından, takımınızdaki 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, kodda güncelleştirme tanımlamanın işletimsel uygulamalarınıza uygun olup olmadığını ve dağıtmayı planladığınız kaynak türlerinin sayısı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 Azure İlkesi kullanarak her kaynağı ve ilkeyi ayrıntılı bir düzeyde değerlendirebilirsiniz. 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şaltma işlemi 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üğe kaydetme çözümlerini yapılandırma gibi farklı yapılandırma görevleri için çeşitli uzantılar sağlanır. 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ının 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. Azure özel betik uzantılarına çok benzer şekilde cloud-init, Linux VM'lerinde paketleri yüklemenize ve 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 bulut tabanlı etkin birçok VM görüntüsü içerir. Tam liste için bkz. Azure'da 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önetimini önyüklemek 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 şablonu 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 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 önyükleme: GitHub depolarında yapılandırma ayarlarınızı bildirerek GitOps ve Flux v2 küme uzantısını kullanarak 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 küme durumunu Git deposunda bildirilen istenen durumla sürekli olarak mutabık tutar. Daha fazla bilgi için bkz. AKS temel başvuru mimarisi.

Yapılandırma yönetimi

Azure Otomasyonu State Configuration, herhangi bir buluttaki 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 Uygulama Yapılandırması, uygulama ayarlarınızı ve özellik bayraklarınızı merkezi olarak yönetmek için kullanabileceğiniz bir hizmettir. Ortamınız genelinde çok çeşitli uygulama yapılandırmalarını güvenli bir şekilde yönetebilmeniz için Azure Key Vault ile birlikte çalışır.

Değişiklik izleme ve envanter

Azure monitoring Agent kullanarak değişiklik izleme ve envanter , sanal makinelerdeki işletim sistemi yapılandırma kaymalarını izler. Bu, iş yükünüzdeki sanal makinelere kayma, çalışan envanter hizmetleri ve yüklü paketlerin algılanmasını otomatikleştirir. Değişiklik izleme ve stok tarafından izlenen öğeler şunlardır:

  • Yüklü Windows ve Linux yazılımları
  • Önemli Windows ve Linux dosyaları
  • Windows kayıt defteri anahtarları
  • Windows hizmetleri ve Linux daemon'ları

Operasyonel Mükemmellik denetim listesi

Önerilerin tamamına bakın.