DevOps Nedir, Ne Değildir

Bu yazımda DevOps nedir ya da ne değildir sorusunun yanıtlarını bulacağız. DevOps ile ilgili yazıma hoşgeldiniz.

Bu yazımda özellikle ne olmadığı konusuna odaklanmak istedim.

Bunun yanında Agile ve özellikle son dönemde sıkça karşılaştığımız bir kavram olan BDD yani Behaviour Driven Development konusuna da değineceğim.

DevOps bir hedef değil bir yolculuktur…Bu anlamda da bir kişiye verilen bir sorumluluk olamaz. Tüm takımın benimsemesi gereken bir “mindset” yani yaklaşımdır…
DevOps’a geçmeden önce sıkça karşılaştığımız bazı kavramların tanımlarını tekrardan hatırlayalım.

Continuous Integration: Farklı kişilerin aynı yazılım üzerinde yaptıkları geliştirmelerin yüksek sıklıkta, tercihen günlük, entegre edilmesidir. Yapılan değişikliklerin entegre olması demek, birim testlerden geçmesi ve “build” sürecinin işletilmesi ile olası hataların en erken şekilde tespit edilmesi anlamına gelmektedir.
Continuous Delivery: Continuous Integration sürecini başarılı tamamlamış her değişikliğin, gerçek bir “release” olduğunun doğrulanmasıdır. Bunu yapmak için “Continuous Integration” ın çıktısı olan “artifact” ın, tercihen otomatik, kabul ve performans testlerinden geçirilmesi ve test veya “prod-like” bir ortama “release” edilmesidir.
Continuous Deployment: Continuous Delivery sürecini başarı ile tamamlamış her değişikliğin canlı ortama otomatik olarak “deploy” edilmesidir.

Peki DevOps’a Nasıl ve Nereden Başlayacağız?
Günümüz koşullarında DevOps kavramını kullanmak isteyen her şirketin ya da organizasyonun kafasında aşağıdaki üç soru eminim ki dolaşıyordur;

  • Should you start with tools?
  • Should you encourage your dev and ops to collaborate more?
  • Should you just create a DevOps department and wait for results?

Türkçesi bir tool kullanarak mı başlayacağız? Geliştirme ve Operasyon ekiplerini biraraya getirdiğimizde DevOps yapmış olacak mıyım? Son olarakta DevOps için bir özel bir ekip atta bir departman mı kurmalıyım?

Tüm bu soruların yanıtları dört harfe sığmaktadır. CAMS…
CAMS kelimesi
Culture
Automation
Measurement
Sharing

ifadelerinden oluşmaktadır. Bunun bizler için anlamı;
C
ulture

  • Ortak hedefler belirleyin ve ortak sorunları seçin.
  • Bağımsız olarak çalışmak yerine diğer departmanlarla işbirliği yapın.
  • Agile’ı benimseyin.
  • Sorunların üzerini örtmek yerine yönetici ve ekiplerinizle geri bildirimlerinizi paylaşın.
  • Süreçlere körü körüne bağlı kalmak yerine sürekli olarak değerlendirin ve geliştirin.
  • Önemli süreçlerde KPI’lar oluşturun ve sürekli iyileştirme sağlamak için buna gerçekten inanarak ölçün.
  • Kendi ajandanızı her şeyin üzerinde tutmak yerine açıklık, şeffaflık ve saygı başlıklarına devamlı önem verin.

A
utomation

  • Otomasyon DevOps ile eşanlamlıdır.
  • Otomasyonunuz yoksa, DevOps’unuz yoktur !!!
  • İdeal dünyada infrastructure, software releases, testing, deployment, core security tasks, compliance policies, and configuration management task’ları otomatize edilebilir.

M
easurement

  • DevOps yaşam döngüsünün belirli aşamalarını ölçmek için metrikler oluşturun.
  • Tüm paydaşlar için metriklerinizi açık ve şeffaf tutun.
  • Ortak hedeflerle uyumlu ölçüm hedefleri belirleyin.
  • Metriklerinizin çoğunlukla teknik olmadığından emin olun.
  • Yerine getirilmeyen ölçüm hedeflerini takip edin ve yeniden oluşturun.

S
haring

  • İnsanları düzeltmeye çalışmayın, hataları düzeltin.
  • Amacınız hatayı tanımlamak ve hızlı bir şekilde düzeltmek.
  • Kimin neyi ve neden yaptığını değil, sistemi daha esnek hale getirmek için hataları kullanın.
  • Direnci ortadan kaldırmak için çalışanları soru sormaya ve fikirlerini paylaşmaya teşvik edin.

DevOps Toolları
Discover bottleneck, Fix the bottleneck, Automate…
Bu kavramın gereğini yerine getirmek için sizlere önerebileceğim çoğu şirketin projelerinde kullandığı DevOps araçlarına göz gezdirelim.

Versiyon Kontrol Tool’ları

  • git
  • Apache Subversion
  • Github
  • Bitbucket

Build ve Test Tool’ları

  • Gradle
  • Jenkins
  • Maven
  • Grunt
  • Scala

Repository Yönetim Tool’ları

  • Nexus

Continuous Integration Tool’ları

  • Jenkins
  • Bamboo

 

Metin YENİDOĞAN

IT Solution Manager |Lecturer | Agile Performer | Solution Architect

Yorum ekle


Güvenlik kodu
Yenile

Metin Yenidoğan

Metin Yenidoğan

Bilişim teknolojileri Yöneticisi, Eğitmen

Yazarın Son 5 makalesi