Otomasyon uygulama önerileri
Bu İyi Tasarlanmış Çerçeve Operasyonel Mükemmellik denetim listesi önerisi için geçerlidir:
OE:09 | İnsan müdahalesinin içgörüsünden ve uyarlanabilirliğinden yararlanmamış, son derece yordamsal olan ve otomasyon yatırımı getirisi elde eden raf ömrüne sahip tüm görevleri otomatikleştirin. Mümkün olduğunda, otomasyon ve özel uygulamalar için kullanıma hazır yazılımları seçin. Tüm otomasyonu iş yükü bileşenleriyle aynı şekilde değerlendirin ve tasarım ve uygulamalarına İyi Tasarlanmış Çerçeve yapılarını uygulayın. |
---|
Bu kılavuzda, iş yükünüzde otomasyonu benimsemeye yönelik öneriler açıklanmaktadır. Ekiplerinizin verimlilik kazanmasına ve standartlara uymasına yardımcı olmak için yinelenen ve insan hatasına eğilimli görevleri otomatikleştirebilirsiniz. İş yükünüzün kolay ve tutarlı olmasını sağlamak için görevleri otomatikleştirin. Otomasyon, operasyonlarınızın ve mühendislik ekiplerinizin daha verimli olmasını sağlar çünkü diğer geliştirmeler üzerinde çalışmak için daha fazla zaman tanır. Otomasyon, iş yükü yönetiminin her alanında güçlü bir araçtır. Kuruluşunuzu güçlendirmek için otomasyonu dikkatlice uygulayın.
Temel tasarım stratejileri
İş yükünüzü geliştirirken yönetim yükünü azaltmak ve insan hatalarını en aza indirmek için otomasyondan yararlanma fırsatları arayın. Bu fırsatları değerlendirin ve kuruluşunuza getirdikleri değeri göz önünde bulundurun. Otomasyona yatırımınızın değerini en üst düzeye çıkarmak için basit, yordamsal ve raf ömrü uzun olan görevlerin önceliklerini belirleyin. Otomasyon uygulamak ya hep ya hiç taktiği değildir. Karar alma noktaları gibi insan müdahalesi gerektiren işlemlere sahip olabilecek iş akışları vardır. Bu iş akışları, diğer görevleri gerçekleştirmek için otomasyondan yararlanmaya devam edebilir.
Otomatikleştirmek için görevleri değerlendirme
Otomasyondan en çok yararlanan görevleri önceliklendirmek için aşağıdaki önerileri göz önünde bulundurun:
Kolay galibiyetler için hedefleyin. Son derece yordamsal ve insan hatasına duyarlı görevlere odaklanın. Bu görevler yüksek oranda otomatikleştirilebilir. Bunlar açıkça tanımlanmıştır, karmaşıklık katan değişkenlerden bağımsızdır ve normal işlemlerin bir parçası olarak gerçekleştirilir. Buna karşılık, değişken olayları veya nadiren gerçekleşen görevleri hesaba eklemek için karmaşık betikler yazmayı gerektiren otomatikleştirme görevlerinin önceliğini belirlemeyin.
Yüksek oranda otomatikleştirilebilir görevlere örnek olarak sunucuları yeniden başlatma, hesap oluşturma ve günlükleri bir veri deposuna aktarma verilebilir. Bu görevler bir zamanlamaya göre, bir olaya veya izleme uyarısına yanıt olarak ya da dış faktörlere göre gerektiğinde gerçekleşebilir.
Operatörleri güçlendirmenin ve KOBİ'lerinizi boşaltmanın yollarını arayın. Kuruluşunuzda gereksiz olabilecek yükseltmelere dayalı uzmanlarınız olabilir. Örneğin, çok kiracılı çözümünüzde yeni müşteriler eklediğinizde veritabanı yöneticileriniz düzenli olarak yeni veritabanları oluşturma istekleri alabilir. Yardım masası ekibiniz için bir self servis portalı oluşturursanız, onların kendileri güvenli bir şekilde boş bir veritabanı oluşturmalarını sağlayabilirsiniz. Alternatif olarak, çalıştırılacak betikler oluşturarak SME'nin gerçekleştirmesi gereken istekleri ve adımları otomatikleştirebilirsiniz.
Yatırım getirinize odaklanın. Yüksek değerli otomasyon, minimum yönetim yükü gerektirir ve şeytani bir verimlilik derecesi ekler. Örneğin, veritabanı girdilerini otomatikleştirerek operasyon ekibinize her gün bir saat kaydedebilirseniz, onlara geliştirme için diğer alanları bulmaları için zaman verirsiniz.
Otomasyon uygulama alanları
Geliştirmeden günlük yönetime kadar tüm iş yükü yaşam döngünüz boyunca otomasyonu benimseyin. İş yükü yaşam döngünüzün otomasyondan yararlanabilecek geniş alanlarını göz önünde bulundurmanıza yardımcı olması için aşağıdaki örnek listesini kullanın. Otomatikleştirebilirsiniz:
İşlem hattı tanımı, yürütme ve yönetim: Azure DevOps ve diğer DevOps araçları gibi sürekli tümleştirme ve sürekli teslim (CI/CD) araçlarını kullanarak bir işlem hattını ve nasıl çalıştığını otomatik olarak tanımlayın. Bu araçlar CI/CD görevlerini veya rapor oluşturma gibi diğer görevleri otomatikleştirmenize yardımcı olabilir.
Dağıtımlar: İş yükü geliştirme ve yayın süreçlerinizi otomatikleştirmek için Azure Resource Manager şablonları, Bicep, Terraform ve Ansible gibi araçları kullanın. Kod olarak altyapı (IaC) yaklaşımını kullanarak altyapınızı aynı otomasyon platformlarıyla dağıtın ve güncelleştirin.
Test: Test süreçlerinizi otomatikleştirmek için birçok araç mevcuttur. Bu araçlar kalite güvencesi ekibinizin önemli bir yükünü hafifletebilir ve testlerin standart ve güvenilir olmasını sağlayabilir.
Ölçeklendirme: Yük arttığında veya azaldığında altyapınızı otomatik olarak ölçeklendirmek için platform tarafından sağlanan işlevleri ve düzenleme araçları gibi diğer araçları kullanın.
İzleme ve uyarı: Yeni dağıtılan kaynakları otomatik olarak kaydetmek ve sorunlar oluştuğunda düzeltmeye yardımcı olmak için uyarıyla tetiklenen eylemleri yapılandırmak için izleme çözümünüzde bulunan araçları kullanın.
Kendi kendini düzeltme: eylemleri otomatikleştirmek ve hatalı çalışan bileşenleri veya işleri kurtarmak için izleme sisteminiz tarafından oluşturulan uyarıları kullanın. Daha fazla bilgi için bkz . Kendi kendini iyileştirme ve kendini koruma önerileri.
Yapılandırma yönetimi: Tüm kaynaklarınızın aynı yapılandırmayı çalıştırdığından ve uyumluluk gereksinimlerinin iş yükünüz genelinde uygulandığından emin olmak için düzenleme ve ilke araçlarını kullanın.
Diğer yönetim görevleri: Veritabanı kayıtlarını veya DNS kayıtlarını güncelleştirme gibi yinelenen görevleri otomatikleştirmek için betikleri kullanın.
Onaylar: Onay geçitleri olan iş akışlarının verimliliğini artırmak için sistemlerin önceden tanımlanmış kurallara göre otomatik olarak onay kararları almasını sağlayın. Bu yöntem, standartlaştırılmış form ve şablonların kullanılmasını teşvik eder ve bu da işlemlerin verimliliğini artırır. Yüksek ortamlarda otomatik onay riskli olabilir. Belirli ölçütlerin onay vermek için tanımlandığından emin olmak için otomatik onaylarınıza sıkı bir şekilde odaklanın ve test edin.
Yeni kullanıcı ve yeni çalışan ekleme: Veritabanı güncelleştirmeleri ve kimlik bilgisi oluşturma gibi yeni uygulama kullanıcılarını veya yeni çalışanları eklemeyle ilişkili birçok görevi otomatikleştirebilirsiniz.
İzleme ve uyarı: Gözlemlenebilirlik platformunuzun sağladığı otomasyon işlevselliğinden yararlanın. Anomalileri izlemek ve uyarı vermek için yeni cihazları otomatik olarak kaydedin.
Uygun bir otomasyon aracı seçin
Şirket içinde kendi otomasyonunuzu geliştirmek zaman alır ve geliştirme ekibinize yönetim yükü getirir. Şirket içi yazılımlarda olduğu gibi bir şirket içi otomasyon aracı bulundurmaları gerekir. İhtiyaçlarınızı karşılayabildiğinizde kullanıma hazır aletler kullanmanız önerilir. Ticari, açık kaynak ve bulut platformu tarafından sağlanan araçlar arasında birçok seçenek vardır. Büyük olasılıkla ihtiyacınız olan otomasyonu oluşturmak için çeşitli araçlar kullanacaksınız. Araçları değerlendirirken kararlarınızı yönlendirmeye yardımcı olmak için şirket içi uzmanlığınıza güvenin. Ekibiniz belirli geliştirme dilleri ve çerçeveleri hakkında daha fazla bilgi sahibi olabilir. Başlangıçta, yüksek öğrenme eğrisi olmadan kullanabilecekleri kullanıma açık araçlara odaklanabilirsiniz. Otomasyonla ele almayı planladığınız görevleri düşünün ve bu görevleri özellikle ele alan araçlara yatırım yapın. Genel olarak tercih ettiğiniz araçları temin etmeyin ve ardından görevleri göz önünde bulundurun.
Otomasyonunuzu oluştururken sürüm kilitleme ve eklenti aşırı kullanma gibi işlemlerinizi zorlaştırabilecek faktörlere dikkat edin. Jenkins veya Azure DevOps eklentileri gibi eklentiler, işlevsellik eklemenin harika bir yoludur. Otomasyon hedeflerinize fayda sağladığında eklentileri benimsemeniz gerekir. Ancak tek bir görevi gerçekleştirmek için birden çok eklenti kullandığınızda, otomasyon güncelleştirmelerini ve sorun gidermeyi zorlaştırabilir. Eklenti kullanımınızda yargısal olun. Ayrıca, çerçeve sürümü bağımlılıkları olan çözümlerin zaman içinde korunması gereken bir yük olduğundan kaçının. Bu tür sorunların riskini en aza indirmeye yardımcı olmak için otomasyon araçları ve eklentileri seçiminizi standartlaştırın ve tüm otomasyon projeleri için kaynak denetimini kullanın.
Otomasyonu iş yükünüzle tümleştirme
Otomasyonunuzu oluşturmak için kullandığınız herhangi bir araç için bunu operatörleriniz için kolayca erişilebilir ve yönetilebilir hale getirin. İş yükü ekibiniz için net ve kullanımı kolay arabirimler sağlayın. CI/CD işlem hatlarına, API'lere ve kitaplıklara erişim sağlayabilirsiniz. Otomasyonun desteklediği iş yükü gibi otomasyonu bütünsel olarak yönetmeniz gerekir. Otomasyonu diğer iş yükü bileşenleriyle aynı dereceye kadar güvenli bir şekilde sağlayın. Otomasyonu izleyin ve diğer iş yükü bileşenleriyle aynı test protokollerine tabi tutun.
Dikkat edilmesi gereken noktalar
Bazen otomasyondan elde ettiğiniz verimlilikler, gereksinimlerinize uygun kullanıma açık çözümler yoksa kendi çözümünüzü geliştirmenin yönetim yükünden daha ağır basar. Bu gibi durumlarda, geliştirme çabalarınızda yargısal olun. Kullanıma açık çözümlerle çözemezseniz yalnızca ihtiyacınız olan boşlukları geliştirmeye odaklanın ve bağımlılıklar gibi karmaşıklıkları en aza indirin.
Operasyon ekiplerinin yüksek düzeyde bakım gerektiren karmaşık otomasyonları yönetmesi ve sorunlarını gidermesi zor olabilir. Otomatik görevlerin yalnızca ayrık işler gerçekleştirmeye odaklanmasını sağlayın. Diğer araçlardaki veya bileşenlerdeki bağımlılıkları en aza indirmeyi deneyin.
El ile gerçekleştirilen işlemleri kullanma konusunda dikkatli olun. Bir işlemi otomatikleştirmemeye karar verirseniz, işleçler için adım adım bir denetim listesi oluşturarak el ile işlemi ayrıntılı bir şekilde belgeleyin. Bu uygulama, bir işlecin yanlışlıkla yanlış işlemi çalıştırması gibi insan hatası olasılığını azaltır. Bu belgeler gelecekte bu işlem için otomasyon tasarlamanıza da yardımcı olur.
Karma el ile ve otomatik bir yaklaşım kullandığınızda, özellikle dikkatli olmanız gerekir. Bir betik sürecin büyük bölümünü çalıştırıyorsa ancak belirli bir kısmı veya kararı için bir insana meydan okuyorsa, kişiye bilinçli bir karar vermek için gerekli bağlamı ve bilgileri vermeniz önemlidir.
Azure kolaylaştırma
Azure, iş yükünüz için görevleri otomatikleştirmenize yardımcı olacak birçok araç sunar.
IaC araçları: Terraform, Bicep ve IaC dağıtımları için Azure Resource Manager'ı kullanabilirsiniz. Gereksinimlerinize ve ekibinizin araçlarla ilgili bilgisine bağlı olarak, dağıtımlarınız ve kaynak yönetiminiz için bu araçlardan birini veya daha fazlasını kullanabilirsiniz.
Azure İşlevleri: Azure İşlevleri, tercih ettiğiniz geliştirme dilini kullanarak görevleri otomatikleştirmek için kullanabileceğiniz sunucusuz bir araçtır. İşlevler, işlevlerinizi diğer hizmetlere bağlayan kapsamlı bir olay temelli tetikleyici ve bağlama kümesi sağlar. Ek kod yazmanız gerekmez.
Azure için GitHub Actions: CI/CD işlemlerini otomatikleştirmek için Azure için GitHub Actions'ı kullanabilirsiniz. GitHub Actions, dağıtımları basitleştirmek için Azure ile tümleşir. Deponuzdaki her çekme isteğini derleyip test eden iş akışları oluşturabilir veya birleştirilmiş çekme isteklerini üretim ortamına dağıtabilirsiniz.
GitHub Actions yalnızca DevOps'un ötesine geçer ve deponuzda başka olaylar gerçekleştiğinde iş akışlarını çalıştırmanıza olanak tanır. Örneğin, birisi deponuzda yeni bir sorun oluşturduğunda uygun etiketleri otomatik olarak eklemek için bir iş akışı çalıştırabilirsiniz.
Azure Otomasyonu: PowerShell ve Python, işletimsel görevleri otomatikleştirmeye yönelik popüler programlama dilleridir. Hizmetleri yeniden başlatma, günlükleri veri depoları arasında aktarma ve talebi karşılamak üzere altyapıyı ölçeklendirme gibi işlemleri gerçekleştirmek için bu dilleri kullanın. Bu işlemleri kodda ifade edebilir ve isteğe bağlı olarak çalıştırabilirsiniz. Bu diller tek başına merkezi yönetim, sürüm denetimi veya çalıştırma geçmişi için bir platform sunmaz. Diller ayrıca izleme temelli uyarılar gibi olaylara yanıt vermek için yerel bir mekanizmaya sahip değildir. Bu özellikleri sağlamak için bir otomasyon platformuna ihtiyacınız vardır.
Otomasyon , Hem Azure hem de Azure dışındaki bulut ve şirket içi ortamlarda PowerShell ve Python kodunu barındırmak ve çalıştırmak için Azure'da barındırılan bir platform sağlar. PowerShell ve Python kodu bir Otomasyon runbook'unda depolanır. Otomasyonu şunlar için kullanın:
Runbook'ları isteğe bağlı olarak, zamanlamaya göre veya web kancası aracılığıyla tetikleme.
Çalıştırma geçmişi ve günlüğe kaydetme.
Gizli dizi depolarını tümleştirme.
Kaynak denetimini tümleştirin.
Azure Update Manager: Update Manager , sanal makinelerin güncelleştirmelerini yönetmeye ve yönetmeye yardımcı olan birleşik bir hizmettir. İş yükünüz genelinde Windows ve Linux güncelleştirme uyumluluğunu izleyebilirsiniz. Güncelleştirme Yöneticisi'ni kullanarak güncelleştirmeleri gerçek zamanlı olarak yükleyebilir veya tanımlı bir bakım penceresi içinde planlayabilirsiniz. Güncelleştirme Yöneticisi'ni kullanarak:
- Tüm makine filonuzda uyumluluğu denetleyin.
- Yinelenen güncelleştirmeleri zamanlama
- Kritik güncelleştirmeleri dağıtma
Azure Dağıtım Ortamları: Dağıtım Ortamları, geliştirme ekiplerinin proje tabanlı şablonları kullanarak hızlı bir şekilde tutarlı uygulama altyapısı oluşturmasını sağlar. Bu şablonlar kurulum süresini en aza indirir ve güvenlik, uyumluluk ve maliyet verimliliğini en üst düzeye çıkarır. Dağıtım ortamı, önceden tanımlanmış aboneliklerde dağıtılan Azure kaynaklarının bir koleksiyonudur. Geliştirme altyapısı yöneticileri kurumsal güvenlik ilkelerini zorunlu kılabilir ve önceden tanımlanmış bir dizi IaC şablonu sağlayabilir.
Geliştirme altyapısı yöneticileri, dağıtım ortamlarını katalog öğeleri olarak tanımlar. Katalog öğeleri, katalog adı verilen bir GitHub veya Azure DevOps deposunda barındırılır. Katalog öğesi bir IaC şablonundan ve manifest.yaml dosyasından oluşur.
Dağıtım ortamlarının oluşturulması için betik oluşturabilir ve ortamları program aracılığıyla yönetebilirsiniz.
Azure Logic Apps ve Microsoft Power Automate: Onay akışları veya ChatOps tümleştirmeleri oluşturma gibi iş yükü görevlerini işlemek için özel dijital süreç otomasyonu (DPA) oluşturduğunuzda Logic Apps veya Power Automate kullanmayı göz önünde bulundurun. Yerleşik bağlayıcılardan ve şablonlardan iş akışları oluşturabilirsiniz. Logic Apps ve Power Automate aynı temel teknoloji üzerine kurulmuştur ve hem tetikleyici tabanlı hem de zamana bağlı görevler için uygundur.
Otomatik ölçeklendirme: Birçok Azure teknolojisi yerleşik otomatik ölçeklendirme özelliklerine sahiptir. Ayrıca API'leri kullanarak diğer hizmetleri otomatik olarak ölçeklendirilecek şekilde programlayabilirsiniz. Daha fazla bilgi için bkz . Güvenilir bir ölçeklendirme stratejisi tasarlama önerileri.
Azure İzleyici eylem grupları: Uyarı tetiklendiğinde otomatik olarak kendi kendini düzeltme işlemlerini çalıştırmak için Azure İzleyici eylem gruplarını kullanın. Runbook, Azure işlevi veya web kancası kullanarak bu işlemleri tanımlayabilirsiniz.
Örnek
Otomasyonu diğer Azure hizmetleriyle birlikte kullanma örneği için bkz . Azure Event Grid kullanarak ops otomasyonu. Bu örnekte, operasyonel görevleri otomatikleştirmek için Logic Apps ve Event Grid kullanılır.
İlgili bağlantılar
- Otomasyon
- Azure Update Manager
- Azure Functions
- Azure İzleyici eylem grupları
- Dağıtım Ortamları
- Azure için GitHub Actions
- Logic Apps
- Event Grid kullanarak ops otomasyonu
- Power Automate
- Güvenilirlik testi stratejisi tasarlama önerileri
- Güvenilir bir ölçeklendirme stratejisi tasarlama önerileri
- Kendini iyileştirme ve kendini koruma önerileri
Operasyonel Mükemmellik denetim listesi
Öneriler kümesinin tamamına bakın.