DevOps Nedir?

DevOps tanım ve kapsamı, yaşam döngüsü ve Agile süreçler ile bağlantısından bahsetmeye çalışacağım.

Kübra Balaban
lTunes Tribe
3 min readMar 15, 2019

--

DevOps, kurumların uygulama ve hizmetlerini kısa sürede ve yüksek hızla müşteriye sunmasının yanı sıra ürünleri geleneksel yazılım geliştirme ve alt yapı yönetim süreçlerini kullanan kurumlara göre daha hızlı geliştirme becerisini arttıran uygulama ve araçların birleşimidir.

DevOps konusunda yaptığım araştırmalar sonucunda aslında kelimenin anlamı olarak;

  • “DEV” genelde yazılım geliştiriciler için kullanılan bir terimdir. Developer kısaltması olarak kullanılmaktadır. Ancak gerçek dünyada “dev” yazılım geliştirme için çalışan herkesi kapsamaktadır.
  • “OPS”, “DEV”e göre daha geniş bir kapsam olarak, sistem mühendisleri, sistem yöneticileri, veri tabanı yöneticileri, network mühendisleri, güvenlik uzmanları ve daha birçok değişik alt disiplinler için kullanılmaktadır.

Genel bir tanım olarak aslında DevOps, IT bölümlerinin kendi içerisinde etkili iletişim üzerinden birbiri ile çalışmasıdır.Kültürel bir yaklaşım olmak ile beraber, yazılımcıların sistemlerinin çalışması için kullandığı tekniklerin , sistem ekipleri tarafından da kullanılmasıdır.Teknikler, kaynak kodu kontrolünden , Agile geliştirme süreçlerine kadar uzanmaktadır.

DevOps kültürünün kurumlar tarafından benimsenmesi için bazı durumların kültüründe oluşması gerekmektedir. Bunlar;

  • Agile methodolojisi ve yazılım süreçlerini kullanması
  • İş birimlerinden, canlı ortam yaygınlaştırma isteklerinde artış sağlanılması
  • Sanallaştırma ve bulut alt yapılarının ulaşılabilir olması
  • Test ve Sürekli Entegrasyon yaklaşımlarına odaklanılması

Aslında DevOps kültürü ile birlikte sadece Docker, Jenkins, gibi araçlar ile birlikte, Scrum — Kanban — XP — BDD (Behavior Driven Development) yaklaşımlardan da bahsedilmektedir.

NOT:

BDD (Behavior Driven Development): Yazılım süreçlerinin test odaklı gitmesini sağlayan yaklaşımdır. Proje kodlarından önce test kodlarının yazılması anlayışını benimsemektedir.

WHAT IS AGİLE ?

Kelime anlamı çeviklik olan Agile, dünya üzerinde kabul edilen en hızlı ve en güvenli proje geliştirme yaklaşımıdır.

Agile;

  • Değişime hızlı karşılık verebilmeyi
  • Kendi kendine organize olan çapraz fonksiyonlu takımlar oluşturabilmeyi
  • Projelerin bir bütün olarak bitmesini beklemek yerine, değer üreten ve test edilebilir parçalar ile pazara çıkmayı
  • Hızlı paraya çıkmakla beraber, kaliteden ödü vermemeyi
  • Müşteri için değer üretmeye odaklı
  • Çalışanların mutluluğunu arttırmayı
  • Sürekli gelişen ve bunları bir yaklaşım ve hareket biçimi olarak benimsemiş bir kültür oluşturmayı
  • İletişimin arttırılması
  • Şeffaflık

maddelerini temel alan bir yaklaşım biçimidir.

Agile kapsam olarak bakıldığında, aslında Agile ve DevOps yaklaşımları rakip olmamak ile birlikte, farklı alanlara dokundukları için birbirlerini tamamlar niteliktedir.

Agile yaklaşımlar müşteri ile geliştirme takımı arasındaki süreçlere odaklanırken, DevOps ise geliştirme takımı ve Operasyon takımları arasındaki süreçlere odaklanır.

Agile süreçler, User Story geliştirmesinin tamamlanmasına kadar olan süreç ile ilgilenir.Sonrasında olan süreçte ;

  • Deploy
  • Continous Delivery
  • Infrastructure Automation
  • Monitoring
  • UAT

konuları açıkta kalmaktadır. DevOps ise yazılım geliştirici ve operasyonel ekipleri birbirine yaklaştıran süreçleri teşvik ederek, açığı kapatmak ve çevikliğin artmasını sağlamak amaçlanmaktadır.

Sonraki yazılarda görüşmek üzere …

--

--