Otomatikleştirme

Yazılım tanımlı bulut altyapısında ekipler, altyapıyı sağlamak, yapılandırmak ve yönetmek için çeşitli araçlar ve teknikler kullanır. Ekipleriniz geliştikçe ve büyüdükçe portalları ve el ile gerçekleştirilen çalışmaları kullanarak altyapı ve hizmetleri sağlamak, yapılandırmak ve yönetmek için kod ve otomasyon kullanmaya geçiş yapabilir.

Platform otomasyonuyla ilgili dikkat edilmesi gerekenler

  • Kod Olarak Her Şey (EaC) metodolojisini uygulamak, ekiplerinizin önemli avantajları ortaya çıkarmasına, güçlü bir geliştirme kültürü oluşturmasına ve her ekipteki herkesin nasıl ve hangi kaynakların dağıtıldığına göz atmasını sağlar. EaC, platform ekiplerinizin çeviklik ve verimliliklerini geliştiren önemli geliştirme uygulamalarını benimsemesine de yardımcı olur. Ekipleriniz depolarda kod barındırarak ve bunu yönetmek için sürüm denetim sistemlerini kullanarak değişiklikleri izleyebilir ve hangilerinin üretime taşınabileceğini denetleyebiliyor.
  • Teams, kod değişikliklerinin hiçbir zaman tek başına yapılmadığından emin olmak için 4 göz ilkesini izleyebilir ve eş programlamayı veya eş gözden geçirmeyi kullanabilir. Eş programlama ve eşler arası gözden geçirme kod kalitesini artırır, ekiplerin değişikliklerle ilgili sorumluluğu paylaşmasına ve üzerinde anlaşmaya varılan ve dağıtılanlar hakkındaki ekip bilgilerini artırmasına olanak tanır. Kod gözden geçirme, ekip üyelerinin kodlama ve otomasyon için yeni teknikler ve yöntemler öğrenmesi için harika bir yoldur.
  • Ekipler, eş gözden geçirmeyi zorunlu kılmak için Git gibi sürüm denetim sistemlerini Git depolarıyla birlikte kullanmalıdır. Git depoları, ekiplerinizin önemli dalları tanımlamasını ve dal ilkeleriyle korumasını sağlar. Korumalı bir dalda birleştirilmeden önce, en az sayıda ekip üyesi onayı gibi belirli ölçütleri karşılamak üzere bu dallarda kod değişiklikleri yapılmasını zorunlu kılabilmesi için ilkeyi kullanabilirsiniz.
  • Ekipler EaC metodolojisini ve değişiklik gözden geçirme sürecini sürekli tümleştirme ve sürekli teslim (CI/CD) süreciyle birbirine bağlamalıdır. Her kod değişikliği statik kod analizi, doğrulama ve test dağıtımlarını yürüten bir CI işlemini otomatik olarak tetiklemelidir. CI, geliştiricilerin gelecekte sorunlara neden olabilecek hatalar için kodlarını erken denetlemesini (genellikle hızlı başarısız veyasola kaydırma testi olarak adlandırılır) güvence altına alır. Ekibinizin hangi dallanma stratejisini kullandığına bağlı olarak, önemli dallarda yapılan değişiklikler farklı ortamlara dağıtımı tetiklemelidir. Değişiklikler onaylanıp ile mainbirleştirildikten sonra CD işlemi bu değişiklikleri üretime dağıtır. Bu kod yönetim sistemi, ekibinize her ortamda çalıştırılanlar için tek bir gerçek kaynağı sağlar.
  • Platformunuzun tamamen kendi kendini iyileştirdiğinden ve iş yükü ekipleriniz için self servis sağladığından emin olmak için platform ekibinizin, iş yükü ekipleri için sağlama, yapılandırma ve platform yönetiminden giriş bölgesi aboneliği sağlamaya kadar her şeyi (genellikle Extreme Automation olarak adlandırılır) otomatikleştirmek için çalışması gerekir. Aşırı otomasyon, platform ekibinizin platformunuzu dağıtmak, yapılandırmak ve yönetmek yerine değer sağlamaya odaklanmasını sağlar. Aşırı otomasyon ayrıca ekibinize daha fazla otomasyon oluşturmak için daha fazla zaman sağlayan kendi kendini geliştiren bir döngü oluşturur.
  • Platform ekipleriniz operasyonel etkinlikleri otomatikleştirip insan müdahalesini azalttıkça, azure'da iş yükü ekibi yeniliklerini etkinleştiren ve hızlandıran önemli görevlere odaklanmaları gerekir. Bunu başarmak için platform ekibinizin platformunuzun araçlarını, betiklerini ve yetenek geliştirmelerini yerine getirerek birden çok derleme ve geliştirme döngüsünde yineleme yapması gerekir.
  • Ekibinizin Azure Giriş Bölgesi dağıtımını kullanmaya başlamasına yardımcı olmak için kullanabileceğiniz birden çok seçenek vardır. Bu seçenekler geçerli ekip özelliklerine bağlıdır ve ekibiniz geliştikçe büyüyebilir. Özellikle Platform Dağıtımı için ilgili Teams'in IaC yeterlilik ve araç tercihlerine bağlı olarak Portal, Bicep veya Terraform tabanlı deneyimler arasında seçim yapabilirsiniz.
    • Kod Olarak Altyapı'yı (IaC) tanımaya devam eden ve kaynakları dağıtmak ve yönetmek için portal kullanmayı daha iyi bilen yeni ve gelişmekte olan platform ekipleri, başlamak için Azure giriş bölgesi hızlandırıcısını kullanabilir ve bu da ekiplerin hala ClickOps yaklaşımını kullanmasını destekler. ClickOps, portallara, yönetim konsollarına ve sihirbazlara tıklayarak kaynakları sağlama, yapılandırma ve yönetme işlemidir. Bu hızlandırıcı, ekibinizin Azure CLI, PowerShell veya IaC'yi daha fazla kullanmak için portalı ilk dağıtım aracı olarak ve platform mühendisliği olgunluğu arttıkça aşamalı olarak kullanmasını sağlar.
    • AzOps çözümü, ekiplerin platform otomasyon ve yönetim uygulamalarını ClickOps temelliden DevOps özellikline geliştirmesine olanak tanır. Ekibiniz kişisel hesap erişimini kullanmaktan Yalnızca AzOps ve IaC ile CI/CD kullanan DevOps ilkelerini ve uygulamalarını kullanmaya geçiş yapabilir. AzOps, ekibinizin kendi mimarisini getirmesine, Azure Giriş Bölgesi Portalı hızlandırıcısı tarafından dağıtılan mimariyi kullanmasına (AzOps tümleştirmesi ALZ Portal deneyiminin bir parçası olmadığından ilk portal tabanlı dağıtımdan sonra), brownfield dağıtımıyla tümleştirmeye veya platformunuzu derlemek ve kullanıma sunmak için özel şablonlar (Bicep veya ARM) kullanmasına olanak tanır.
    • Yerleşik becerilere ve yeteneklere sahip platform ekipleri , DevOps ilkelerine ve uygulamalarına uygun bir codified yaklaşımı benimseyebilir. Ekibiniz, kendi kişisel hesaplarında Azure erişiminden uzaklaşarak ve CI/CD işlem hattınız aracılığıyla tüm işlemleri çalıştırmaya doğru IaC ve modern geliştirme uygulamalarını temel almalıdır. Ekibinizin bu geçişi hızlandırmak için ALZ-Bicep veya Azure giriş bölgeleri Terraform modülü gibi IaC tabanlı hızlandırıcıları kullanması gerekir.
  • IaC tabanlı hızlandırıcılar sınırlı yönetim kapsamına sahiptir. Yeni sürümler daha fazla özellik ve daha fazla kaynak yönetimi özelliği sağlar. Hızlandırıcı kullanıyorsanız ekibinizin hızlandırıcıyla başlayan ve ardından bir otomasyon katmanı ekleyen katmanlı bir yaklaşımı dikkate alması gerekir. Otomasyon katmanı, iş yükü ekiplerinizi eski uygulamalar için etki alanı denetleyicisi dağıtımı gibi platform özellikleriyle tam olarak desteklemek için ekibinize gereken özellikleri sağlar.
  • Platform ekibiniz DevOps yaklaşımına geçerken, acil durum düzeltmelerini işlemek için bir süreç oluşturmaları gerekir. Düzeltmeleri gerçekleştirmek üzere erişim istemek için Privileged Identity Management (PIM) uygun izinleri kullanabilir ve daha sonra yapılandırma kayması sınırlamak için koda geri getirebilir veya hızlı bir düzeltme uygulamak için kodu kullanabilirler. Ekibinizin her düzeltmeyi daha sonraki bir noktada yeniden çalışabilmesi ve teknik borçlarını sınırlandırabilmesi için her zaman kapsamlarına hızlı düzeltmeler kaydetmesi gerekir. Bazı platform kodları tam olarak gözden geçirilmadiğinden ve ekip kodlama yönergelerini ve ilkelerini karşılamadığından çok fazla teknik borç gelecekteki yavaşlamalara yol açar.
  • Azure İlkeleri'ni kullanarak platformunuza otomasyon ekleyebilirsiniz. Genellikle Kod Olarak İlke (PaC) olarak adlandırılan Azure İlkelerini dağıtmak ve yönetmek için IaC kullanmayı göz önünde bulundurun. Bu ilkeler günlük toplama gibi etkinlikleri otomatikleştirmenize olanak sağlar. Birçok PaC çerçevesi bir muafiyet süreci de uygular, bu nedenle iş yükü ekiplerinizin ilkelerden muafiyet istemesini planlayın.
  • güvenlik denetimine uymayan kaynakları dağıtmaya çalıştıkları zaman iş yükü ekiplerine sinyal vermek için "İlke temelli idare" kullanın. İş yükü ekiplerinizin her şeyi Kod olarak işlemesine ve kodun deny tek bir şey bildirdiği ve ilkenin dağıtım zamanında bir ayarı değiştirdiği yapılandırma kaymalarından kaçınmasına olanak tanıyan bu durumlar için etkili ilkeler dağıtmayı göz önünde bulundurun. İş yükü takımının kodunda modify tanımlı bir depolama hesabı supportOnlyHttpsTraffic = false dağıtması ve ilkenin uyumlu kalmasını sağlamak için true dağıtım zamanında olarak değişmesi gibi etkileri kullanmaktan modify kaçının. Bu, kodun dağıtılandan kaymasına neden olur.

Platform otomasyonu tasarım önerisi

  • Azure platformu, belgeleri, dağıtımı ve test işleminin tam saydamlığı ve yapılandırma denetimi için Kod olarak Her Şey yaklaşımını izleyin.
  • Aşağıdakiler dahil olmak üzere tüm kod depolarınızı yönetmek için sürüm denetimini kullanın:
    • Kod olarak Altyapı
    • Kod Olarak İlke
    • Kod Olarak Yapılandırma
    • Kod Olarak Dağıtım
    • Kod Olarak Belgeler
  • Tüm kod değişikliklerinin üretime dağıtılmadan önce ekibiniz tarafından gözden geçirildiğinden emin olmak için 4 göz ilkesini ve eş programlama veya eş gözden geçirme sürecini uygulayın.
  • Ekibiniz için bir dallanma stratejisi benimseyin ve korumak istediğiniz dallar için dal ilkeleri ayarlayın . Dal ilkeleriyle ekiplerin birleştirme değişiklikleri yapmak için çekme isteklerini kullanması gerekir.
  • Kod testlerini ve farklı ortamlara dağıtımı otomatikleştirmek için sürekli tümleştirme ve sürekli teslim (CI/CD) kullanın.
  • Platformunuzun sağlanması, yapılandırılması ve yönetimi ve iş yükü ekipleriniz için giriş bölgesi aboneliklerinin sağlanması gibi her şeyi otomatikleştirmek için çalışın.
  • Azure Giriş Bölgelerini dağıtmaya başlamak için ekibinizin özellikleriyle eşleşen kullanılabilir hızlandırıcılardan birini kullanın.
  • Hızlandırıcı kapsamında olmayan ancak iş yükü ekiplerinizi tam olarak desteklemek için gereken özellikler eklemek için katmanlı dağıtım yaklaşımını kullanmayı planlayın.
  • Hızlı düzeltmeleri uygulamak için kod kullanmaya yönelik bir işlem oluşturun. Her düzeltmenin daha sonraki bir noktada yeniden çalışılabilmesi ve teknik borcu sınırlandırabilmeniz için her zaman hızlı düzeltmeleri ekibinizin kapsamına kaydedin.
  • Azure İlkelerini dağıtmak ve yönetmek için Kod Olarak Altyapıyı kullanma (genellikle Kod olarak İlke olarak adlandırılır)
  • İlkeler için bir muafiyet işlemi uygulayın. İş yükü ekiplerinizin ilkelerden muafiyet istemesini ve gerektiğinde ekiplerin engellemesini kaldırmaya hazır olmasını planlayın.
  • Güvenlik denetimine uymayan kaynakları dağıtmaya çalışan iş yükü ekiplerini engellemek için "İlke temelli idare" kullanın. Bu, kodun dağıtılmakta olandan farklı bir durum bildirdiği yapılandırma kaymasını azaltmaya yardımcı olur.

Daha fazla bilgi edinin