DevOps nedir?

Tamamlandı

DevOps, müşterilerimize sürekli değer sunulmasını sağlamak için insanların, süreçlerin ve ürünlerin birleşimidir. Ancak bu tam olarak ne anlama geliyor? Mara DevOps'un ne olduğunu, ne olmadığını ve elit performans gösterenleri neyin başarılı yaptığını açıklarken ekibe katılalım.

Mara takım arkadaşlarıyla kısa bir toplantı yaptı. Herkes geldi ama kimse orada olmak istemiyor. Masaya bir kutu halka koydu.

Merhaba, geldiğiniz için teşekkürler. Değer akışı haritamız ve süreçlerimizi nasıl daha verimli hale getirebileceğimiz hakkında daha fazla konuşmak istedim.

Mara'nın değer akışı haritası, önceki toplantılarından itibaren beyaz tahtada yer almaya devam ediyor:

Screenshot of a whiteboard showing the value stream map.

Mara: Değer akışı haritamız, son kullanıcılarımıza değer sunma konusunda verimliliği nerede kaybettiğimizi gösterir. Herkes gibi biz de geliştirebiliriz. Ve ilk olarak hangi alanlarla başa çıkacağımıza karar verebiliriz.

Andy: Bu bize nerede sorunlarımız olduğunu gösterir, ancak bunlar hakkında ne yapmamız gerekmediğini gösterir.

Doğru, bizi doğru yöne yönlendirmeye yardımcı olan bir alıştırma. Sorunlarımızla ilgili olarak, DevOps'un bize yardımcı olacağını düşünüyorum. Son şirketimde dağıtım oranlarımız çok daha yüksekti, sağlama süreleri çok daha hızlıydı ve operasyonlarda çok daha az olay oldu. Oraya varmak biraz zaman aldı, ama buna değerdi. DevOps hızlı bir çözüm değildir.

DevOps mühendisi olarak yeni işe giren birini tanıyorum. Bence daha çok geliştiriciler için. Bu sana benziyor, Andy.

Mara: DevOps bir iş unvanı değildir.

Amita: Bize yardımcı olacak herhangi bir yazılım programı veya bir şablon var mı? Belki bir DevOps elektronik tablosu vardır.

Mara: DevOps bir yazılım parçası değildir.

Daha çok metodolojiye benziyor.

Tam olarak değil.

Andy, Amita, Tim: Peki nedir?!

Mara: İşte kullanmak istediğim tanım:

DevOps, son kullanıcılarımıza sürekli değer sunulmasını sağlamak için tasarlanmış kişilerin, süreçlerin ve ürünlerin birleşimidir.

Aslında Microsoft'ta Bulut Danışmanı olan Abel Wang, büyük sorularımızdan bazılarına hızlı yanıtlar içeren harika bir video kümesine sahiptir. Şimdi Abel'in DevOps'ı nasıl tanımladığına bakalım:

Abel'a sorun

Amacımız müşterilerimize sevecekleri oyunlar vermektir. Bunu, paylaşılan bir dizi uygulama ve araçla birlikte çalışarak yaparız.

Bu ne anlama geliyor? Hangi paylaşılan uygulamalar? Hangi paylaşılan araçlar?

Mara: Uygulamalardan kastım şu:

  • Çevik planlama: Birlikte ekipteki ve yönetimdeki herkesin görebileceği bir çalışma kapsamı oluşturacağız. Öncelikle ne üzerinde çalışmamız gerektiğini bilmemiz için öğelere öncelik vereceğiz. Kapsam, kullanıcı hikayelerini, hataları ve bize yardımcı olan diğer bilgileri içerebilir.
  • Sürekli tümleştirme (CI): Kodumuzu derleme ve test etme yöntemimizi otomatikleştireceğiz. Bir ekip üyesi sürüm denetiminde değişiklikleri her işlediğinde bunu çalıştıracağız.
  • Sürekli teslim (CD):CD, bir derlemeden bir soru-cevap veya üretim ortamına test etme, yapılandırma ve dağıtma işlemidir.
  • İzleme: Bir uygulamanın performans ve kullanım desenleri hakkında bilgi almak için telemetri kullanacağız. Bu bilgileri yinelemeyi geliştirmek için kullanabiliriz.

Otomatik test hakkında bilgim yok. Testlerim el ile yapılır ve Andy kodu bana verdikten sonra yaparım. Her şeyi nasıl yapacağımı değiştirecek vaktim yok.

Hiçbirinin üretime dağıtım yapmasına izin vermem.

Bu yönetimi korkutacak. Bir sonraki sürümden daha fazla düşünmez ve bunu her zaman dün isterler.

Yönetim hakkında ne demek istediğini biliyorum. Bu dinleyici notlarını seçkin bir performans ekibi yapan şey hakkında bir araya getiriyorum.

Seçkin bir performans ekibini ne yapar?

İşte Mara'nın hazırladığı dinleyici notları. Bu bilgiler, dünya çapındaki teknik uzmanlarla yapılan DevOps araştırma raporlarını ve anketlerini temel alır.

DevOps, şirketlerin müşteri benimsemesini ve memnuniyetini artırmanın yollarını denemelerine yardımcı olur. Daha iyi kurumsal performansa ve genellikle daha yüksek kârlılığa ve pazar payına yol açabilir.

Ölçümleri kullanarak elit performans gösterenleri düşük performans gösterenlerle karşılaştıracak dört kategori oluşturur.

Elit performans gösterenler:

  • Daha sık dağıtma

    Aslında, bazı ekipler günde onlarca kez dağıtılır.

    Yazılım geliştirme sürecinin önceki bölümlerinde izleme, sürekli test, veritabanı değişiklik yönetimi ve güvenliği tümleştirme gibi uygulamalar, seçkin performansçıların daha sık ve daha fazla öngörülebilirlik ve güvenlikle dağıtım yapmalarını sağlar.

  • İşlemeden dağıtmaya kadar sağlama süresini kısaltın

    Sağlama süresi, bir özelliğin müşteriye gelmesi için gereken süredir. Daha küçük toplu işlerde çalışarak, el ile işlemleri otomatikleştirerek ve daha sık dağıtarak, seçkin performans gösterenler bir zamanlar haftalar, hatta aylar süren saatler veya günler içinde elde edebilir.

  • Değişiklik hata oranını azaltma

    Üretimde başarısız olan veya diğer özelliklerin bozulmasına neden olan yeni bir özellik, siz ve kullanıcılarınız arasında kayıp bir fırsat oluşturabilir. Yüksek performanslı ekipler büyüdükçe, zaman içinde değişiklik hata oranını azaltır.

  • Olaylardan daha hızlı kurtarma

    Olaylar gerçekleştiğinde, elit performans gösterenler daha hızlı bir şekilde kurtarabiliyor. Ölçümler üzerinde hareket etmek, elit performans gösterenlerin daha hızlı bir şekilde kurtarılmasına ve daha sık dağıtım yapılmasına yardımcı olur.

Bulut altyapısını nasıl uygulayabileceğiniz de önemlidir. Bulut, yazılım teslim performansını artırır ve temel bulut özelliklerini benimseyen ekiplerin elit performans gösterme olasılığı daha yüksektir.

Dış kaynak tasarrufu tasarruf edebilir ve esnek bir iş gücü havuzu sağlayabilir, ancak doğru alanlarda kullanılmalıdır. Düşük performanslı ekiplerin tüm işlevleri (test ve işlemler gibi) dış kaynak kullanma olasılığı, yüksek performanslı karşılıklarına göre daha yüksektir.

Sözün özü

DevOps, birçok seçkin sanatçının müşterilere rakiplerinden daha hızlı bir şekilde yeni özellikler ve iyileştirmeler biçiminde değer sunabilmesinin önemli bir nedenidir. Bu kısa videoda Abel, DevOps hakkında neden daha fazla bilgi edinmeniz gerektiğini açıklamaktadır:

Abel'a sorun

DevOps ne değildir

DevOps'un ne olduğunu düşünürken ne olmadığını öğrendiğimizden emin olmak da önemlidir. DevOps şu şekilde değildir:

  • Bir metodoloji.
  • Belirli bir yazılım parçası.
  • Bir kuruluşun zorlukları için hızlı bir düzeltme.
  • Yalnızca bir ekip veya iş unvanı (bu unvanlar sektörde oldukça yaygın olsa da).