DevOps, yazılımı daha hızlı ve daha güvenilir bir şekilde oluşturabilmek, test edebilmek ve yayınlayabilmek için yazılım geliştirme ve bilgi teknolojileri ekipleri arasındaki süreçleri otomatikleştiren bir dizi uygulamadır. DevOps kavramı, tarihsel olarak ekipler arasında bir iş birliği kültürü oluşturmak üzerine kuruludur. Sağladığı faydalar arasında artan güven, daha hızlı yazılım sürümleri, kritik sorunları hızlı bir şekilde çözme ve planlanmamış işleri daha iyi yönetme yeteneği bulunmaktadır. DevOps felsefi ve kültürel yaklaşımdır. Geliştiriciler (dev) ve sistem yöneticileri (ops) arasında etkili iletişimi teşvik eder.
“Dev” genellikle yazılım geliştiricileri için kullanılır ancak aslında daha geniş bir grubu temsil eder. Bu grup, yazılım geliştirme için çalışan herkesi kapsar.
“Ops”, “Dev” den daha geniş bir kapsama sahiptir ve sistem mühendisleri, sistem yöneticileri, sürüm mühendisleri, veri tabanı yöneticileri, ağ mühendisleri, güvenlik uzmanları ve diğer alt disiplinler için kullanılır.
Günümüzde, yazılım ürünlerinin sürüm değiştirme hızları ürünler arasındaki rekabetten dolayı artmaya etmektedir. Bu rekabette şirketler ve ürünleri, müşterilerinin gereksinimlerini karşılayabilmek için kaliteli sonuçlar elde etmek zorundadır. Bazı şirketler, kullanıcı deneyimini iyileştirmek, hataları düzeltmek veya yeni özellikler eklemek için gerçek zamanlı olarak düzinelerce, belki de yüzlerce yazılım değişikliği sunar. Bu nedenle çevik yazılım üretimi yapmak kaçınılmaz hale gelmiştir Geçmişte, “Dev” ve “Ops” birbirinden ayrı çalıştığından istenen çeviklik sağlanamamakta ve bu durum yazılım geliştiren firmalarda verimsizliğe ve müşteri memnuniyetsizliğine neden olmaktaydı. Geciken projeler, hatalı ürünler, başarısız sürüm denemeleri, para ve zaman israfı, itibar kaybı gibi olumsuz sonuçlar DevOps’a olan gereksinimi ortaya çıkardı.
DevOps Yaşam Döngüsü
Geçmişte esas olarak Waterfall metodolojisini izleyen geleneksel yazılım geliştirme yaşam döngüsü, bugün Agile ve SCRUM metodolojisini yaygın olarak kullanmaktadır. Bununla birlikte, DevOps yaşam dönüsü birçok kuruluşta Agile, SCRUM ve Waterfall metodolojilerinin bir karışımı olarak görülmektedir.
DevOps yaşam döngüsü aşağıdaki adımları izlemektedir:
DevOps ile ürünlerin bir geri besleme döngüsü aracılığıyla sürekli olarak dağıtılması, aşağıdaki adımlarla gerçekleşir:
DevOps’un Faydaları
DevOps ile gelen en büyük değişiklik, ayrı ayrı çalışan ve geliştiriciler, veri tabanı yöneticileri, sistem yöneticileri, sistem analistleri gibi farklı becerilere sahip ekip üyelerinin tek bir ekip oluşturmak için bir araya gelmeleridir. Farklı rollerin iş birliğinin birçok avantajı vardır. Sürekli teslimat, düzeltilecek sorunların karmaşıklığının azaltılması, sorunlara daha hızlı çözümler üretilmesi DevOps’un sağladığı teknik faydalardır. Ürün özelliklerinin daha hızlı teslimi, tutarlı ve kararlı çalışma sistemleri, sorun giderme yerine iyileştirme için zaman harcanması ise DevOps’un sağladığı iş faydalarıdır.