Aracılığıyla paylaş


DevOps araç zinciri

DevOps araç zinciri, DevOps ekiplerinin tüm ürün yaşam döngüsü boyunca işbirliği yapmasına ve önemli DevOps temellerini ele almalarına olanak tanıyan bir araç koleksiyonudur.

DevOps araç zincirinin içerdiği araçlar planlama, sürekli tümleştirme, sürekli teslim, operasyonlar, işbirliği ve geri bildirim için tümleşik bir birim olarak çalışır. DevOps teknoloji ekosisteminizi tanımlama bölümünde farklı DevOps aşamalarındaki DevOps teknolojilerinin bazı örneklerini gözden geçirebilirsiniz.

DevOps araç zinciriyle ilgili dikkat edilmesi gerekenler

  • Bir araç zinciri seçtiğinizde DevOps'un işlemleri kuruluşunuz genelinde zaten kullanılıyor olabilir. Ekibinizin ihtiyaçlarına uygun teknolojilerin benimsenmesi ile kuruluşunuzdaki heterojen DevOps ekosistemlerini standartlaştırma ve önleme hedefi arasında doğru dengeyi bulmanız gerekir.

  • Farklı türde DevOps araç zincirlerini benimseyebilirsiniz:

    • Hepsi bir arada: Diğer üçüncü taraf araçlarla tümleştirilmeyebilecek eksiksiz bir çözüm sağlar. Hepsi bir arada araç zincirleri, DevOps yolculuğuna başlayan kuruluşlar için yararlı olabilir. Örnek: Tam yığın Azure DevOps araç zinciri.
    • Özelleştirilmiş: Ekiplerin bildikleri ve zaten kullanımda olan mevcut araçları daha geniş DevOps araç zincirine getirmesine ve karıştırmasına olanak tanır. Tümleştirme, ekranlar arasında geçiş yapmak, birden çok yerde oturum açmak ve araçlar arasında bilgi paylaşma zorluğuyla karşılaşmamak için bu tür araç zincirleri için gereklidir. Örnek: Azure DevOps ve GitHub araç zinciri.
  • Düzenli olarak güncelleştirilen ve e-posta veya çevrimiçi portal aracılığıyla ihtiyacınız olduğunda yardıma sahip araç zincirlerini kullanmayı göz önünde bulundurun. Bu, pazara giden kritik yolda olan herhangi bir ürün veya hizmet için bir gereksinimdir.

Planlama

  • Sürekli Planlama uygulamalarını destekleyen bir araç benimsemeyi göz önünde bulundurun:
    • Sürüm planlaması
    • Epic ve özellik belirleme
    • Öncelik belirleme
    • Tahmin
    • Kullanıcı hikayesi tanımı
    • Kapsam iyileştirmesi
    • Sprint planlaması
    • Günlük Scrum
    • Sprint gözden geçirmesi
    • Geçmişe dönük gözden geçirme

Sürekli Tümleştirme ve Sürekli Teslim

  • Sürekli Tümleştirme (CI)/Sürekli Teslim (CD) uygularken şunları destekleyen bir araç benimsemeyi göz önünde bulundurun:
    • Sürüm Denetim Sistemleri. Projenizdeki her şey Git gibi tek bir sürüm denetimi deposunda iade edilmelidir: kod, testler, veritabanı betikleri, derleme ve dağıtım betikleri ve uygulamanızı oluşturmak, yüklemek, çalıştırmak ve test etmek için gereken diğer her şey.
    • Dallanma stratejisi.
    • Otomatik derlemeler.
  • Depo seçiminizin veri hakimiyeti/yerleşim gereksinimlerinden de etkilendiğini unutmayın. Verilerinizin ABD dışında bir ülkede/bölgede yerel olarak barındırılması gerekiyorsa GitHub Depoları kullanılamadığında Azure DevOps depolarına ihtiyacınız olacaktır.
  • Kaynakları sağlamak için gereken el ile yapılandırma miktarını en aza indirmek için Kod Olarak Altyapı 'yı (IaC) benimsemeyi göz önünde bulundurun. IaC , altyapı ve dağıtımları otomatik, tutarlı ve yinelenebilir hale getirmek için test ve sürüm oluşturma gibi yazılım mühendisliği uygulamalarını uygulamanıza olanak tanır. Betikleri ve şablonları, bakımını yaptığınız diğer kodlar gibi kaynak denetimi altında tutun.
  • Kod hatalarını en kısa sürede algılamanıza yardımcı olmak için kod tarama araçlarını benimseyin. Herhangi bir dağıtım (Örnek: "what-if") işlevi öncesinde değişiklikleri doğrulamak ve onaylamak için dağıtım öncesi denetimleri ekleyin.
  • CI/CD araçları, ürününüz için pazarlama süresini hızlandırır. Görevleri paralelleştirmenize ve bulutta barındırılan altyapıda esnek ölçeklenebilirlikten yararlanmanıza olanak sağlayan araçlar CI/CD işleminizin performansını artırır.
  • DevOps performansının ölçüsünü destekleyen CI/CD aracı özelliklerini kullanmayı göz önünde bulundurun. Panolar ve raporlama, geliştirme sürecinizin sağlama süresi, döngü süresi, çalışma hızı gibi yönlerini izleyebilir.

Sürekli İşlemler

Sürekli İşlemler, kuruluşların kritik hizmetlerin veya işlevlerin kesintisiz teslimi yoluyla iç sistemler ve müşteriler arasındaki çıkışın sürekliliğini sürdürmesine yardımcı olan bir odaktır. Sürekli İşlemlerin hedefleri şunlardır:

  • Planlı kapalı kalma sürelerine veya zamanlanmış bakım, kapasite iyileştirme ve dağıtım gibi kesintilere olan ihtiyacı azaltmak veya ortadan kaldırmak için.
  • İnsanlar, süreç ve araçlarla sistemlerin genel güvenilirliğini ve dayanıklılığını üç açıdan artırmak.

Buluta özel araçları kullanarak şunları yapın:

  • Hizmet performansı ve kullanılabilirliği için temel ölçümleri izleyin.
  • Dijital deneyim ve müşteri içgörüleri elde edin.
  • Olaylar, sistem kurtarma veya ölçeklendirme için zeka temelli yanıtlar oluşturun.
    • Azure Tanılama ve Uygulama Analizler, Azure kaynaklarının durumunu ve durumunu izlemek için standart yöntemdir. Azure İzleyici , bulut veya karma çözümler için merkezi izleme ve yönetim de sağlar.
  • Proaktif bakımı ve dağıtım veya sistem güncelleştirmeleri gibi görevleri otomatikleştirin.
    • Azure Otomasyonu, sorunları tanılamak ve çözmek için olay tabanlı otomasyon oluşturmak için kullanabileceğiniz buluta özel bir araçtır.

İşbirliği ve geri bildirim

  • Hızlı geri bildirim döngüleri CI/CD işleminin merkezinde yer alır. CI/CD aracı, CI/CD iş akışı mantığındaki koşulları çözümlemek için geri bildirim kullanır ve genellikle pano aracılığıyla bilgileri kullanıcılara geri görüntüler.

  • E-posta bildirimleri ve IDE'ler veya iletişim platformları ile tümleştirme desteği, bir panoyu kontrol etmek zorunda kalmadan neler olduğu hakkında bilgi sahibi olmanıza izin verir. Çok fazla uyarı almak bunları arka plan gürültüsüne dönüştürdüğünden, hangi uyarıları aldığınızı yapılandırma esnekliğine sahip olduğunuzdan emin olun.

  • İşbirliği için seçtiğiniz tüm araçlar aşağıdaki işbirliği uygulamalarını desteklemelidir:

    • Kanban işbirliği
    • Wiki içeriği işbirliği
    • ChatOps işbirliği
    • Ekip odası

Azure Giriş Bölgeleri için DevOps araç zinciri önerileri

Azure Giriş Bölgesi uygulaması için DevOps araç zincirleri, daha önce tartışılan tüm DevOps aşamalarını dikkate almalıdır:

  • Planlama
  • CI/CD (kod olarak altyapı gibi otomasyon özellikleri dahil)
  • Operations
  • İşbirliği ve geri bildirim

Giriş bölgesi benimsemesini seçme bölümünde giriş bölgesi dağıtımına yönelik kılavuzu ve uygulama seçeneğini belirlemeyle ilgili dikkat edilmesi gerekenleri gözden geçirin.

Seçilen metodolojiden (küçük başlat ve genişlet veya kurumsal ölçekli) bağımsız olarak, kuruluşların DevOps iş akışlarını ve araç zincirlerini tasarlarken izleme eğiliminde olduğu birkaç yaygın topoloji vardır.

  • Tam yığın Azure DevOps araç zinciri: Zaten Microsoft ekosistemine yoğun yatırım yapmış kuruluşlar için bu topoloji, Microsoft ürünleri ve hizmetleri arasındaki yerel tümleştirmelerden tam olarak yararlanmalarına ve önemli süreçleri kolaylaştırmalarına olanak tanır.
  • Azure DevOps ve GitHub araç zinciri: Bu topoloji, iyi tümleşik bir çözümün parçası olarak hem Azure hem de GitHub'ın güçlü yönlerini kullanmanıza olanak tanır.

Tam yığın Azure DevOps araç zinciri

Tam yığın Azure DevOps araç zincirinin diyagramı.

DevOps aşaması Araçlar
Planlama Azure Boards , geliştiricilere ve hiyerarşik kapsamlar, özelleştirilebilir Kanban panoları, zengin işlem özelleştirmesi, ekip panoları ve özel raporlama gibi diğer kişilere güçlü ve esnek planlama özellikleri sağlar.
CI/ CD Azure Depoları özel Git depoları oluşturmanıza olanak tanır ve farklı Git istemcilerini, dallanma stratejisini ve korumayı destekler. Azure Repos, Avrupa düzenlemeleri ile uyumluluğu sağlamak için bulutta yerelleştirilmiş veri yerleşimi de sağlar. Azure Pipelines , müşterilerin gelişmiş test raporlaması dahil olmak üzere CI/CD için otomatik işlem hatları ayarlamasına olanak tanır ve çok aşamalı işlem hatları için güçlü destek sağlar. Azure Pipelines'da ayrıntılı izinler, geçitler, özel denetimler ve otomatik test sonucu raporlaması, kuruluşunuzda güvenlik, uyumluluk ve güvenli dağıtım en iyi yöntemlerini zorunlu kılmanıza yardımcı olur ve paralel adım yürütme ve ölçeklenebilirliği destekler. Azure Artifacts , paketleri depolamak ve güvenlik amacıyla her paketi gözden geçirmek ve doğrulamak için bir akış sağlar ve ayrıca ayrıntılı izin denetimi ve denetim sağlar. Azure DevOps'taki Azure Test Planları , keşif, el ile ve kullanıcı kabul testi için tarayıcı tabanlı bir test yönetimi çözümü sağlar. Azure Test Planlarının kullanıcıları genellikle planlama ve proje yönetimi için Azure Boards'ı da kullanır. Kullanıcı hikayelerini ve diğer gereksinimleri test durumlarına bağlayabilir ve test aracılığıyla bulunan hataları belgeleyebilirsiniz. Kimlik bilgileri tarayıcıları, açık kaynak tarayıcılar, Hatalar ve Güvenlik Açıkları tarayıcıları gibi araçlarla statik kod analizini geliştirmek için DevOps için Market uzantılarını benimseyin.
Operations Azure Panoları ve raporlama , önemli hizmet performansı ölçümlerini izlemenize yardımcı olmak için özel raporlama sağlar. Azure Tanılama ve Uygulama Analizler, Azure kaynaklarının durumunu ve durumunu izlemenin standart yöntemidir. Azure İzleyici merkezi izleme ve yönetim sağlar. Azure Otomasyonu, sorunları tanılamak ve çözmek için olay tabanlı otomasyon oluşturmak için kullanılabilir.
İşbirliği ve Geri Bildirimler Azure DevOps Wiki , diğer ekiplerin üyeleriyle bilgi paylaşmanıza olanak tanır ve içeriğinin ve yapısının işbirliğine dayalı olarak düzenlenmesini destekler. Azure Boards , kapsam öğelerindeki yorumlar ve tartışmalar için Kanban işbirliği ve desteği sağlar. Eksiksiz bir ekip işbirliği deneyimi için Microsoft Teams'i Azure DevOps ile tümleştirebilirsiniz.

Azure DevOps ve GitHub araç zinciri

Azure DevOps ve GitHub araç zincirinin diyagramı.

DevOps aşaması Araçlar
Planlama Azure Boards planlama, depo yönetimi, veri görselleştirme ve hiyerarşik iş öğesi düzenleme için kararlı ve ölçeklenebilir bir çözüm sağlar. GitHub ile tümleştirerek iş öğelerini ve GitHub işlemelerini bağlamanızı sağlar. Ayrıca, ister basit, kullanıma hazır bir iş akışı ister güçlü ve esnek Azure Boards özelleştirme altyapısıyla oluşturduğunuz özel bir iş akışı olsun ideal iş akışınızı seçmenizi sağlar. Verilerinizi görselleştirmeniz gerektiğinde Azure Boards, özel panoları kolayca oluşturup yapılandırmanıza ve proje yaşam döngüleriniz boyunca ilerleme durumunu izlemenize yardımcı olur.
CI/ CD GitHub'ın GitHub Repo ve GitHub Advanced Security (GHAS) içeren GitHub Enterprise (GHE) sürümünü kullanın. GHAS CodeQL, Kod Tarama, Gizli Dizi Tarama ve Bağımlılık Gözden Geçirme'yi içerir. GHE ayrıca kod geliştirmek için kullanabileceğiniz ve kuruluşların genellikle tam yığın Azure DevOps senaryolarına dahil ettiği Visual Studio Code'un yerini alabilen bir bulut IDE'si olan Codespaces'ı da sunar. Depolarınız GitHub'daysa derleme dışı iş akışlarını otomatikleştirmek için GitHub Actions'ı kullanabilirsiniz. GitHub dışından koda erişmeniz veya iş akışı şablonları ve derleme işlem hatları için merkezi yönetim gerektiren daha karmaşık senaryolarınız varsa Azure Pipelines'ı benimseyin. Azure Boards için Azure Pipelines'ı GitHub depolarıyla tümleştirebilirsiniz. Azure DevOps ve GitHub'ı tümleştirme hakkında bilgi edinmek için bkz . Azure DevOps ve GitHub ile çalışma. GitHub Packages , kendi paketlerinizi özel veya genel olarak barındırmanıza olanak tanıyan bir yazılım paketi hizmetidir. GitHub, Docker veya OCI görüntülerini barındırmak için kapsayıcı kayıt defteri desteği sunar. Paketleri yayımlamak, yüklemek veya silmek ve paket yaşam döngüsü yönetiminizin güvenliğini sağlamak için erişim belirteçlerine ihtiyacınız vardır. Paketleri otomatikleştirmek için GitHub Packages'ı GitHub Actions, GitHub API'leri ve web kancalarıyla tümleştirerek kod, CI ve dağıtımlar içeren DevOps iş akışlarını tek bir arabirimde oluşturabilirsiniz.
Operations GitHub Analizler, yazılım teslim sürecinizi anlamanıza ve geliştirmenize yardımcı olmak için GitHub Enterprise Server örneğinizdeki verileri temel alan analiz raporları sağlar. Giriş Bölgesi tanılama ve yönetimi için Tam yığın Azure DevOps senaryosunda önerilen Azure hizmetlerini kullanın.
İşbirliği ve geri bildirim Soruları, fikirleri, konuşmaları, yorum isteklerini (RFC), kaynak planlamayı ve duyuruları paylaşmak için GitHub Tartışmalarını kullanabilirsiniz. Azure Boards'ı kullanarak özel panoları kolayca derleyip yapılandırın ve proje yaşam döngüleriniz boyunca ilerleme durumunu izleyin. Eksiksiz bir ekip işbirliği deneyimi için Microsoft Teams'i benimseyin.