DevOps için dikkat edilmesi gerekenler

Bu makalede Azure Giriş Bölgeleri'ndeki DevOps ile ilgili önemli noktalar ve öneriler sağlanmaktadır.

DevOps nedir?

DevOps, geliştirme (geliştirme) ve işlemlere (ops) sürekli değer sağlayan kişilerin, süreçlerin ve teknolojinin birleşimidir. DevOps yaklaşımı, kuruluşların verimli ve uygun ölçekte çalışmasına yardımcı olmak için yinelenebilir süreçler oluşturan ekip işbirliğini teşvik eder.

Azure Giriş Bölgeleri bağlamında DevOps, aşağıdaki gibi alanlarda Azure Giriş Bölgeleri yaşam döngüsü yönetiminizin tamamında sorumlu olan ekibinize (veya ekiplerinize) yol gösteren çerçeve haline gelir:

  • Özerklik ve idare arasında uygun dengeyi sağlamak için diğer ekiplerle sınırları kendi kendine düzenleme ve tanımlama
  • Azure Giriş Bölgesi mimari tasarımını sürekli geliştirme (Conway Yasası)
  • Tasarlanan Mimarinin uygulanmasını planlama, önceliklendirme ve yineleme
  • Azure Giriş Bölgesi kodu için sürüm denetimi, sürekli tümleştirme ve sürekli dağıtım uygulama
  • Sahip olduğunuz sistemler ve platformlar için olayları çalıştırma ve yanıtlama
  • Azure Giriş Bölgesi sağlama ve kendi kendini düzeltme için uyguladığınız otomasyon düzeyi
  • Kuruluşunuzdaki diğer ekiplerle çevik ve sonuç odaklı bir şekilde işbirliği yapma
  • Güvenlik, kalite, kullanıcı odaklılık ve sürekli öğrenme için üretken bir kültür oluşturma

Bulut işletim modellerini gözden geçirirken alınan kararlar DevOps çerçevenizi kullanma şeklinizi etkileyebilir.

DevOps tasarımında dikkat edilmesi gerekenler

  • DevOps çerçevenizi tanımlayın veya kuruluşunuzun DevOps ve bulut benimseme stratejisiyle uyumlu hale getirme. DevOps tanımını ve ekibinizin izlemesi gereken ilkeleri ve uygulamaları ekleyin. DevOps stratejinizi iş stratejinize bağladığınızdan emin olun.

  • Ekibinizin DevOps performansını geliştirmesine olanak sağlayan ölçümler oluşturun. Yüksek performanslı takımlar fikirlerini test etmek için bir hipotez kullanır, hipotezin nasıl çalıştığını görmek için bunu ölçer ve sonra gerektiğinde değişiklikler yapar. DevOps'un son amacı dağıtım sıklığı, değişiklik uygulama süresi veya düzeyi düşürülmüş bir hizmeti geri yükleme süresi gibi özellikleri geliştirmektir. Tüm bu ölçümleri genel iş performansını etkileyecek şekilde tasarlamanız gerekir.

  • Ekibinizin geçerli becerilerine göre ilk olarak uygulaması gereken DevOps uygulamalarını belirleyin ve ekibinizin DevOps ölçümlerini geliştirmesine yardımcı olacak yeni uygulamaları artımlı olarak uygulamak için bir yol haritası tasarlar. Mühendislik özelliklerine ve kaynaklarına yatırım yapmak kritik önem taşır.

  • Ekibinizin DevOps uygulamalarını uygulamak için kullanması gereken DevOps araç zincirini belirleyin. Heterojen DevOps ekosistemleri senaryolarının Azure Giriş Bölgesi veya iş yükü dağıtımlarının karmaşıklığını artırmasını önlemek için araçların genel DevOps stratejinizle tutarlı olduğundan emin olun.

  • Uygulanan DevOps uygulamalarınızın ve DevOps araçlarının Azure Giriş Bölgelerinizin tasarımı üzerindeki etkisini değerlendirin.

  • Ekibinizin becerilerini sürekli geliştirmek için bir hazırlık planı oluşturun. DevOps modelinin paket uygulaması, anında yetenekli DevOps ekipleri oluşturmaz.

  • Kuruluşunuzun DevOps stratejisi ve bulut çalışma modeliyle en uygun ekip topolojisini belirleyin ve ekipler arasında net sınırlar, sorumluluklar ve bağımlılıklar oluşturun.

  • Tasarım ve uygulamayı güncelleştirmek, olayları çözmek, bağımlılıkları en aza indirmek ve iş öncelikleriyle uyumlu hale getirmek üzere yeni Azure Giriş Bölgesi gereksinimlerini yakalamak için Azure Giriş Bölgelerinden sorumlu ekibin kuruluşunuzdaki diğer ekiplerle nasıl işbirliği yapması gerektiğini belirleyin.

DevOps önerileri

Aşağıdaki bölümlerde, kuruluşunuzda DevOps çerçevesini uygulamanıza yardımcı olacak öneriler yer almaktadır.

DevOps çerçevenizi tanımlama

DevOps çerçevenizi oluşturmak için önceden tanımlanmış kanıtlanmış bir dizi uygulamayla başlamak için zaten kullanılabilir olan çerçeveleri kullanmayı göz önünde bulundurun:

Azure Giriş Bölgeleri yönetiminiz için DevOps uygulamalarını tanımlama

Azure Giriş Bölgeleriniz için aşağıdaki DevOps uygulamalarını göz önünde bulundurun:

DevOps uygulama yolculuğunuzu planlama

DevOps uygulama yolculuğunuzu tanımlayın ve kuruluşunuzun bulut benimseme planıyla uyumlu hale getirme.

İstenen DevOps ölçümlerini uygulama

Ekibinizin DevOps performansını ölçmek için hangi ölçümleri kullanacağınızı belirleyin. Ekibinizde iş sonuçlarıyla bağlantı kuran istenen alışkanlıkları yönlendirmek için ölçümleri kullanın. Ekibinizin etkinlikler üzerindeki etkisini ölçmesini sağlamak için ölçümler oluşturun. Saydamlık güveni yükseltdiğinden ve kurumsal hedeflerle uyumu yönlendirdiğinden, önemli ölçümleri herkes için görünür hale getirin.

İş etkisini geliştirmek için DevOps performansını ölçen ölçümlere örnek olarak şunlar verilebilir:

  • İş Sonuçları:

    • Ekiplerinizi bir "çıkış" zihniyetinden ve "sonuç" zihniyetinden uzaklaştırmak için bir araç olarak Hedefler ve Önemli Sonuçlar'ı kullanın. Örneğin, Azure'a dağıtılan ilke sayısına göre uyumluluk derecelendirmesini geliştiren iş yüklerinin sayısını kullanabilirsiniz.
    • Müşteri veya son kullanıcı memnuniyeti. Örnek olarak Net Promoter Score (NPS), anketler, röportajlar verilebilir.
    • İş büyümesi. Artan karlılık, artan gelir ve yeni gelir kaynağı alımları buna örnek olarak verilebilir.
    • ölçümleri Kişiler. Örnek olarak Çalışan Net Yükseltici Puanı (eNPS), kullanım, saklama ve memnuniyet verilebilir.
    • Maliyet. Örneğin, maliyetlerde düşüş kullanabilirsiniz.
  • Yazılım teslim performansı:

    • Değişiklik için Sağlama Süresi, hata düzeltmesi için gereken süre, yeni özellik veya başka bir değişikliğin fikirden dağıtıma ve üretime geçmesi.
    • Dağıtım Sıklığı, kodun günlük dağıtımları üretime değişir.
    • Ortalama Geri Yükleme Süresi, bir olay gerçekleştikten sonra üretimde hizmeti geri yüklemek için geçen süre.
    • Hata Yüzdesini Değiştir, üretimdeki değişikliklerin yüzdesi (yapılandırma değişiklikleri gibi) hataya neden olur.
  • Kalite:

    • Hata çıkış oranı, son kullanıcılarınız tarafından tanımlanan hata sayısı.
    • Planlanmamış iş veya yeniden çalışma, planlanmamış iş veya yeniden çalışma yaparken harcanan zaman yüzdesi.
    • Etkin hatalar, henüz düzeltilmemiş hata sayısı.
    • Birim testi yapılmamış kodun yüzdesi olan Kod Durumu.

DevOps teknoloji ekosisteminizi tanımlama

Azure Giriş Bölgelerinizin yaşam döngüsünü yönetmeyi seçtiğiniz DevOps araç zinciri aşağıdakileri etkiler:

  • DevOps ilkelerini ve uygulamalarını uygulama stratejileriniz
  • DevOps yaşam döngünüz için güvenlikle ilgili dikkat edilmesi gerekenler
  • Azure Giriş Bölgeleri yaşam döngüsü yönetiminizin genel mimari tasarımı

DevOps işlemlerinizin her biri için hangi araçların kullanılacağını belirlemek için daha önce tanımladığınız DevOps çerçevesini kullanın. Ekiplerinizin ihtiyaçlarına en uygun DevOps teknolojilerini seçin, ancak kuruluşunuz genelinde standartlaştırmaya ulaşmanıza olanak tanıyan ancak DevOps ekosistemlerinizde çok fazla karmaşıklık veya heterojenlikten kaçınmanızı sağlayan bir denge bulun.

Farklı DevOps aşamalarında DevOps teknolojilerine örnek olarak şunlar verilebilir:

  • Planlama: Azure Boards, GitHub, Atlassian Jira, Trello
  • Sürekli Tümleştirme: Azure Repos, GitHub Depoları, Atlassian Bitbucket, SonarQube, Selenium, Salatalık, OWASP ZA, NuGet, npm
  • Sürekli Teslim: Azure Pipelines, GitHub Actions, Bicep, Terraform, Jenkins, Atlassian Bamboo, RedHat Ansible, Chef, Puppet
  • Işlem: Azure İzleyici, Azure Otomasyonu, Microsoft Power BI, Grafana, Splunk
  • İşbirliği ve geri bildirim: Azure DevOps Wiki'leri, GitHub Wiki'leri, GitHub Tartışmaları, Microsoft Teams, Slack, Confluence, Stack Overflow

Aşağıdaki diyagramda Azure DevOps araç zinciri seçimiyle örnek bir DevOps çerçevesi gösterilmektedir:

Azure DevOps araç zinciri seçimi ile DevOps çerçevesi diyagramı.

Aşağıdaki diyagramda Azure DevOps ve GitHub araç zinciri seçimiyle örnek bir DevOps çerçevesi gösterilmektedir:

Azure DevOps ve GitHub araç zinciri seçimi ile DevOps çerçevesi diyagramı.