DEVOPS PRENSİPLERİ

DevOps Prensipleri

DevOps prensipleri sürekli olarak evrim halindedir. Hatta güncel olarak farklı ilkeler olduğunu da söyleyebiliriz. Ama en genel geçer ve bilinen ilkeler CALMS kısaltmasıyla anılan 5 prensiptir. Bu yazımızda, farklı disiplinlerden insanları tek bir çatı altında çalışmak üzere bir araya getiren bir kültürel dönüşüm olan DevOps’un 5 prensibini ele alacağız. 

CALMS yani, Culture, Automation, Lean, Measurement ve Sharing. 

Kültür

Modern anlamda İşletme’nin kurucusu olarak bilinen Peter Drucker’ın bir sözünü hatırlayalım, “Culture eats strategy for breakfast” (“Kültür, stratejisi kahvaltıda yer”). Eğer tüm dünyayı sarsacak bir değişim yapmak istiyorsanız, buna kültürü değiştirmekle başlamalısınız. Kültür de, hızlı bir şekilde değiştirebileceğiniz bir şey değildir. İnsan davranışlarında gömülü olan kültür, tüm bu alışkanlıkların ve davranışların elden geçmesiyle değişebilir. 

DevOps ile değiştirmek istenen bazı davranışları maddeler halinde inceleyelim:

  • Ürünün/projenin sadece kendi yaptığın kısmının değil, tamamının sorumluluğunu üstüne al. 
  • Konfor alanından dışarı çık ve farklı pencereden bakmayı öğren. 
  • Hata yapmaktan korkmadan sürekli yeni yaklaşımlar dene. Düştüğün zaman seni tutacak bir güvenlik ağı (“safety net”) olduğunu unutma. 
  • Ekibinle sürekli iletişim kur, beraber çalış ve işbirliği yap. 

Otomasyon 

Otomasyon, DevOps metodolojisindeki önemli bir bileşendir. Ürünün daha hızlı teslim edilmesi konusunda önemli bir kolaylaştırıcıdır ve aynı zamanda hızlı geri bildirim sağlamak için çok önemlidir. Bir önceki Kültür başlığında, DevOps’la değiştirmek istediğimiz davranışlardan bahsederken, maddelerden birinde bir güvenlik ağından söz etmiştik. İşte bu güvenlik ağı otomasyonla mümkün kılınır. 

Amaç, yazılım teslim yaşam döngüsünde mümkün olan her şeyi özdevinirleşir hale getirmektir. Bunların verimli olanları da insan zekasına ihtiyaç duymadan kendi kendini tekrarlayabilenlerdir. Bir yapı ya da bir test komut dosyası çalıştırmak gibi executing tasks dediğimiz görevlerin yürütülmesini içeren etkinlikler otomatikleştirilebilir. Ancak, insan bilincini gerektiren faaliyetleri bugün otomatize etmek gerçekten zordur. Kod veya test senaryoları yazma sanatı insan zekasının kullanılmasını gerektirir ve bugünün makineleri bunu yapacak durumda değiller. Tabii gelecekte, yapay zeka, bugün insanlara bağımlı olan faaliyetler için bir tehdit oluşturacak gibi duruyor.

Lean

DevOps, Lean metodolojisinden ve Toyota Üretim Sistemlerinden (TPS) büyük ölçüde esinlemiştir. Yalın metodolojinin arkasındaki düşünce, işleri basit tutmak ve aşırı karmaşıklaştırmamaktır. Otomasyonun ortaya çıkışının, mimarinin karmaşıklığını azaltması ve karmaşık iş akışlarını basitleştirmesi doğaldır. Lean ilkesi, ayaklarımızı yere sağlam basmamızı sağlar ve böylece anlaşması ve üzerinde çalışılması kolay olan işleri yapmaya devam edebiliriz. 

Lean prensibini ikiye ayırarak ele alalım. Birincisi, bir işi yapış şeklinizi minimal ve net hale getirin. İkincisi de, metodolojinin kendisinden kaynaklanan israfı azaltın. Kusurlar elbette ciddi bir sıkıntıdır ve sorun yaratırlar. Genel teslimatı geciktirirler ve bunları düzeltmek için harcanan çaba tamamen zaman ve para kaybıdır. 

Ölçüm 

Her şeyi otomatikleştirmeniz gerekiyorsa, muhtemelen bir şeyler ters gittiğinde geri bildirim sağlayacak bir sisteme de ihtiyacınız olacaktır. Optimum sonuçların ne olduğunu ve ne olmadığını biliyorsanız geri bildirim almak mümkündür. Sonucun optimum olup olmadığını anlamanın tek yolu da tabii ki onu ölçmektir. Bu nedenle, her şeyi otomatikleştirecekseniz her şeyi ölçmeniz çok önemlidir. Ölçüm ilkesi, uygulanacak önlemler ve genel yazılım dağıtımının nabzını tutacak sekmeler hakkında yönlendirme sağlar. Her şeyi ölçmek basit bir iş değil. Hatta itiraf edelim, çoğu zaman neyi ölçmemiz gerektiğini bile bilmiyoruz. Biliyorsak bile, “nasıl” yapacağımız sorusu sorun yaratabilir. İyi bir DevOps süreç mimarı bu sorunu çözmeye yardımcı olacaktır. 

İzlemedeki (“monitoring”) ölçümler, bir olayın ne zaman uyarı veya istisna olarak kategorize edileceğini gösterir. Otomasyon mevcutken, tüm kritik faaliyetlerin ve bunları destekleyen altyapının ölçüm için izlenmesi ve optimize edilmesi son derece önemlidir.

Paylaşım

Son prensip, insanlar arasında işbirliği ve bilgi akışı ihtiyacına bağlı olan paylaşımdır. Yazılım teslim sürecini hızlandırmak istiyorsak, çalışanların bireysel işlerine gömülmelerine engel olmalıyız. Bilgi, deneyim, düşünceler ve fikirler başkalarının onları daha gelişmiş ve derin hale getirmelerine açık olmalıdır ve bu açıklık da ancak paylaşarak mümkündür.  Bu ilkenin temel çıkarımlarından biri, bir ürün veya hizmet üzerinde çalışan herkesi tek bir ekibe yerleştirmek ve bilgi paylaşımını teşvik etmektir. Bu, ekip üyeleri arasında bir rekabet ve şüphecilikten çok işbirliğine yol açacaktır. 

Bugün artık teknoloji bize fiziksel olarak bir araya gelmeden de rahatça paylaşım yapma imkanı tanıyor. Microsoft Teams ve Slack gibi uygulamalar, ekibin sürekli iletişim halinde kalmasını sağlayabiliyor. Yapılanlar şeffaf bir şekilde paylaşıldığı zaman, kimsenin üretim süreci hakkında endişe ya da şüphe duymasına da gerek kalmayacaktır.

Bu yıl popülaritesini çokca arttıran DevOps ve trendlerinin gerisinde kalmayın, "2020 DevOps Trendleri" blog yazımıza göz atarak bu senenin trendlerini yakalayın! DevOps trendlerini yakalamak ve DevOps dönüşümünüzü başlatmak istiyorsanız DevOps Institute onaylı DevOps eğitim kataloğumuza bir göz atın! Uluslararası geçerli DevOps Institute sertifikanızı dilerseniz evinizin konforundan da alabilirsiniz.

Eğitime kayıt olmak, eğitim planlamak ve diğer tüm konular için bize ulaşın!

İlgili Eğitimler

Certified DevOps Foundation

DevOps Foundation sertifikasyonu, temel DevOps prensipleri ve uygulamalarını, terminolojisini ve kül...

  • Classroom
  • Virtual Classroom
  • Online

2 Gün

DevOps Practitioner

DevOps, bir yandan geliştirme ve operasyon ekipleri arasındaki işbirliğini desteklerken bir diğer ya...

  • Classroom
  • Virtual Classroom
  • Online

5 Gün

DevOps Engineering on AWS

DevOps Engineering on AWS, AWS’e uygulamaları geliştirmek, kurmak ve bakımını yapmak amacıyla en sık...

  • Classroom
  • Virtual Classroom
  • Online

3 Gün

Microsoft Azure DevOps Solutions

Bu eğitim şunları sunmaktadır:DevOps proseslerini uygulamaya koymak için gereken bilgi ve beceriler....

  • Classroom
  • Virtual Classroom
  • Online

5 Gün

RED HAT NEDİR? RED HAT HAKKINDA TÜM MERAK EDİLENLER II 

DEEP LEARNING & MACHINE LEARNING

FRAMEWORKLER NEDİR VE NE İŞE YARAR?

SİBER GÜVENLİKTE KARİYER

YAPAY ZEKÂ VE TÜRLERİ

MULTI-CLOUD: EFSANELER VE GERÇEKLER

RED HAT HAKKINDA TÜM MERAK EDİLENLER