Aracılığıyla paylaş


Geliştiricileri güçlendirmek için korumalarla self servis

Korumalarla self servis, geliştirme ekiplerini iyi tanımlanmış parametreler veya korumalar içinde kendi kararlarını almaları için güçlendirme ilkesidir. Koruma önlemleri ana paydaşlar tarafından kurulur ve kabul edilir. Paydaşlar, kuruluş genelinde güvenlik, operasyon ve mimari ekiplerini içerebilir.

Geliştirme ekipleri, koruma önlemleriyle self servis kullanarak bağımsız olarak geliştirme kararları almak için özerkliğini korur. Otomasyon ve ilke, paydaşların güvenlik, uyumluluk, operasyonlar, standartlar ve maliyetlerin düzgün yönetildiğinden emin olmalarını sağlar. Bu otomasyonun etkinleştirilmesi, geliştiricilerin, operatörlerin ve uzmanların gerekli idareden ödün vermeden daha fazlasını yapabilmesi için ekip hatları arasında işbirliği yapılmasını gerektirir. Geliştiriciler daha sonra iş değerini mümkün olan en kısa sürede sunmaya odaklanabilir.

[Geliştiricilere söylüyoruz], her şeyin nasıl çalıştığı konusunda endişelenmelerine gerek yok, onları sadece açıp kapatın, doldurmanız gereken alanları doldurun, ihtiyaç duyduğunuz yere bir dize yerleştirin ve temelde kendi kendinize hizmet edebileceğiniz bir sistemdir. Bu sistemde bir benioku dosyası bulunur ve girdiler, çıktılar ile istedikleri her şeyi ekleyebilirler. - Daniel, bulut mühendisi, Fortune 500 medya şirketi

Kendinize ait yollar için kendine hizmet deneyimi sağlamanın amacı, geliştirici yükünü azaltırken geliştirme ekiplerine, operasyonlara ve yönetime görünürlük sağlamaktır. Fikir, temel otomasyon ve veri toplama özellikleri sayesinde minimum öğrenme eğrisine sahip belirli bir görev için bir deneyim oluşturmanızdır. Altyapı sağlama gibi etkinliklerin ötesinde, bu deneyimler gözlemlenebilirlik, ilke, olay yönetimi ve daha fazlası için kritik özelliklere erişim sağlayabilir. Bu fikir iç API'leri, SDK'ları ve paylaşılan araçları ve hizmetleri bulma ve paylaşmaya kadar uzanır. Bu deneyimler, geliştirme ekiplerinin işleri halletmeye odaklanması için ek yükü azaltır.

İç geliştirici platformları, geliştiricileri dijital vitrin müşterileri gibi davranma konusunda güçlendiriyor

İç geliştirici platformları, işletmeler arası dijital vitrinlere benzer özellikler sağlar. Dijital mağazalar, müşterilerinin self servislerine yardımcı olmak için doğal olarak tasarlanmıştır. Herhangi biriyle konuşmaksızın ilginç öğeleri keşfedip yerine getirebilme yolları sağladıkları için geleneksel vitrinlerden daha fazla aktarım hızını işleyebilirler. Bu benzetme kullanılarak, geliştiriciler müşteridir ve iç geliştirici platformu benzer self servis deneyimler sağlar. Operatörler, platform mühendisleri ve diğer roller daha sonra geliştiricilerin isteyebileceği, kurumsal korumaları karşılayacak şekilde tasarlanmış bir öğe kataloğu ayarlar.

Örneğin, yeni bir araca erişim isteyen bir geliştiriciyi dijital bir mağaza siparişi veriyormuş gibi düşünebilirsiniz. Bir sipariş gibi, istek gönderildikten sonra geliştirici ilerleme durumunu takip etmek ve ne zaman tamamlanır bilmek ister. Arka planda, isteğin ihtiyacı karşılamak için otomatik olarak doğru karşılama sağlayıcısına yönlendirilmesi gerekir. Sürekli tümleştirme ve teslim (CI/CD) sistemlerinizden birini tek bir karşılama sağlayıcısı, bir GitOps aracı veya açıklayıcı bir uygulama platformu olarak ikinci olarak ve el ile işlemler için iş akışı otomasyon aracı olarak üçüncü olarak düşünebilirsiniz. Her durumda, geliştirici iyi tanımlanmış bir katalogdaki öğeleri aynı şekilde self servis yapabilir.

Her şeyi kod deseni olarak kullanma

Sürekli teslim (CD) işlem hatları ve GitOps araçları aracılığıyla kod olarak altyapı (IaC ) kullanmak self servis özelliğini etkinleştirmenin önemli bir parçasıdır. CD ile IaC, isteğe bağlı bulut kaynakları oluşturmak ve yok etmek için Bicep, Terraform, Helm grafiklerini ve diğer araçları kullanmanıza olanak tanır. Bulut altyapınızın yapılandırması bir kaynak kodu deposundaki kod gibi yönetildiğinden, git deposunun güvenlik ve denetlenebilirlik gibi tüm avantajlarını uygulayabilirsiniz.

IaC yaklaşımının tek avantajı ortak altyapı ve araçları sağlamak değildir. Kod olarak güvenlik ve kod olarak ilke de dahil olmak üzere diğer senaryolar için IaC desenini uyarlayabilirsiniz ( Azure İlkesi ve Açık İlke Aracısı gibi araçlar aracılığıyla). Bu tekniğin ardından, genellikle YAML veya JSON adlı bir yapılandırma dosyası depoya gönderilir ve bu da dosyayı işleyen bir iş akışını tetikler. Bu dosyalar dependabot.yml veya CODEOWNERS gibi bir uygulama deposu veya ayrı bir merkezi depoda tutulabilir. Hatta her şeyi kod olarak (EaC) gerçek bir hale getirmek için bunu kendi senaryolarınıza da genişletebilirsiniz.

Geliştiriciler, self servis deneyimlerinizi destekleyen ve varsayılan olarak en iyi yöntemleri teşvik eden merkezi bir katalogla bu EaC şablonlarının her birine başvurabilir.

Doğru başlangıç yapma şablonları oluştur ve doğru yönetişimi kur

Yazılım geliştirmede uygulama tasarlarken kapsülleme, modülerlik ve kompostlanabilirlik hedefleniyor. Aynı düşünce çizgisini şablon oluşturma yoluyla platform mühendisliğine de uygulamalısınız. Örneğin, altyapı için yapı taşları olarak merkezi olarak güvenli, yeniden kullanılabilir bir IaC şablonları kümesi oluşturabilir ve kullanabilirsiniz.

[Geliştiriciler] için modüller oluşturacağız... bu nedenle, arka uç işlevlerini kendileri yazmak veya bunlar için endişelenmek zorunda kalmak yerine, tek yapmaları gereken kendi uygulama kodları hakkında endişelenmektir. - Daniel, bulut mühendisi, Fortune 500 medya şirketi

IaC, EaC ve uygulama şablonlarını, kaynak kod deposu oluşturma, örnek kod dağıtma veya önerilen gözlemlenebilirlik araçları için yapılandırma ve örnek kod sağlama gibi diğer etkinliklere kadar uzanan özel bir kod olarak her şeyi (EaC) çözümünde birleştirin. Bu IaC, EaC ve uygulama şablonları, merkezi ve güvenli bir konumdan, örneğin bir depo, Azure Dağıtım Ortamları'ndaki katalog veya Azure Container Registry gibi bulut yerel teknolojiler için saklanabilir ya da referans alınabilir.

Doğru başlangıç şablonları otomatik yönetim, tarama ve politika yapılandırmasıyla birleştirildiğinde, geliştiriciler ilk günden itibaren doğru yolda kalır.

Platform mühendisliğinde doğru başlangıç ve doğru kalma şablonuna genel bakış diyagramı.

Şablonlar, otomatik ve güvenli uygulamalarla geliştirmeyi kolaylaştırıyor

Geliştiricilerin bir proje boyunca üstlendiği çeşitli önemli kararlar ve eylemler için tanımlı yollarınızı önyüklemek için uygulama şablonlarını kullanın. Doğru başlangıç şablonları güvenli, idare edilen geliştirme uygulamaları oluşturur ve geliştiricilerin ihtiyaç duydukları araçlara erişim sağlayan, CI/CD işlem hatlarını yapılandıran, altyapıyı ve uygulama yığınını sağlayan otomasyonu etkinleştirerek ve gerekli SDK'ları veya API'lere yönelik başvuruları içeren kazan plakası kaynak koduyla eksiksiz bir depo yapılandırarak hızlı bir şekilde çalışmaya başlamalarını sağlar.

Bu uygulama şablonlarının diğer merkezi şablonlara (örneğin IaC şablonları) başvurmasını sağlayarak, bu tek tek yapı taşları kendi başlangıç şablonları haline gelir. Bu şablonlar, yalnızca çıkışları tanımlamakla kalmaz, aynı zamanda geliştiricilerin tercih ettikleri seçeneklerden de yararlandıkları için self servis deneyimlerini etkinleştirmenin merkezidir.

Şablonlar idare, güvenlik ve maliyet iyileştirmesi sağlar

Ancak, şablonlar yalnızca bir geliştirme çalışmasını önyüklemekten daha fazlasını yapmalıdır. Ayrıca, proje yaşam döngüsü boyunca tam olarak devam etmek için gerekli ilke ve güvenlik taraması aracılığıyla denetimi ve idareyi de kurmaları gerekir. Başka bir örnek olarak, şablonlar üretimde yetkisiz birleştirmeleri önleyen dal koruma kuralları ayarlayabilir. Şablonlar en iyi yöntemleri ve yaygın yapılandırmaları yakaladığından, araçlar, satıcılar ve ekipler arasında maliyetleri iyileştirmeye yönelik temel tekniklerden biridir.

İki yönlü iletişim oluşturmak için doğru kampanyaları çalıştırın

Son olarak, yollara olan güveniniz arttıkça, mevcut uygulamaları kaldırımlı bir yola taşımak için uygulama şablonlarınıza derlediğiniz temel yapı taşlarını kullanabilirsiniz. Dahili müşterileriniz, pilot uyguladığınız yerleşik yöntemlerin değerini zaten göreceğinden, diğer uygulama ekipleriyle iki yönlü bir diyalog kurmak için bir iç düzeltme kampanyası yürütebilirsiniz. Geliştiriciler, platform mühendisliği ekibinin aynı anda platformu onlar için nasıl iyileştirebileceği konusunda daha fazla bilgi edindiği sırada uygulamalarını nasıl taşıyabileceklerini öğrenebilir.

Kendi yolculuğunuzu çizin

Self servis yeteneklerinizin kapsayabileceği geniş deneyim yelpazesi göz önünde bulundurulduğunda, şirket içi geliştirici platformunuzun kademeli olarak değer sunabilmesi için yatırımlarınıza odaklanmanız ve Planlama ve önceliklendirme yapmanız önem taşır. Her kuruluşun kendi iç geliştirici platformunu oluşturma yolculuğu farklıdır ve bir ürün zihniyetini takip etmeniz, önce self servis deneyimlerine ihtiyaç duyan en kritik yerleri hedeflemenize yardımcı olur.