DevOps, ülkemizde henüz yeni duyulmaya/uygulanmaya başlayan bir kavram olmakla birlikte, ortaya çıkış tarihi olarak 2009 yılında Belçika’da başlayan “Devops Days” (DevOps Günleri) etkinlikleri kabul edilebilir. Ancak DevOps’u, birden bire ortaya çıkıp hayatımıza giren bir kavram olarak değerlendirmek doğru olmaz. DevOps düşüncesinin temelinde Çevik Sistem Yönetimi (Agile System Administration), Kurumsal Sistem Yönetimi (Enterprise Systems Management) ve Çevik Altyapı (Agile Infrastructure)gibi önemli yaklaşımlar bulunmaktadır.
Peki nedir DevOps? En basit şekilde açıklamamak gerekirse; DevOps = Development +Operations; yani yani yazılım geliştirme ve IT operasyon birimlerinin; yazılım hizmet döngüsünün her aşamasında (analiz ve tasarımdan, kodun üretime taşınması ve üretim ortamı desteğine kadar) birlikte çalışmasıdır.
DevOps, yazılım geliştiriciler ve operasyoncuların bir arada çalışması olarak tarif edilse de, genel anlamda kalite kontrol ekibinden, sistem güvenlik uzmanlarına kadar uzanan geniş bir kitleyi içine alır.
DevOps’u anlamamız konusunda yukarıdaki tanımlar yardımcı olsa da, DevOps konusunda genel bir kafa karışıklığı olduğunu da söylenebilir. Bunun bir nedeni olarak da, henüz DevOps’u ve alt süreçlerini detaylı olarak tarif edebilecek bir süreç seti veya bir kurumun bu konudaki yetkinliğini ölçebilecek bir olgunluk modeli olmamasını gösterebiliriz. Ancak DevOps konusuna olan ilginin yoğunluğu, çok yakın zamanda bu alanda yeni modeller, ürünler ve süreçlerle karşılaşacağımızın önemli bir göstergesi…
DevOps, Gartner’ın raporlarına göre önümüzdeki dönem IT dünyasındaki en öncelikli konuların başında gelecek. Ülkemizde de bazı büyük firmaların bu konularda eğitimler aldığını, altyapısal çalışmalar yaptığını ve süreçlerini gözden geçirdiğini biliyoruz.
DevOps konusuna yatırım yapmak ve bu sayede hem kalite, hem de verimlilik artışı planlayanlar için en önemli başvuru kaynaklarından birisi Cameron Haight tarafından hazırlanan, Temel DevOps Şablon ve Pratikleri çalışmasıdır. Haight, Teknoloji, Kültür, Süreç ve İnsan boyutları ışığında “Infastructure As Code”’dan “Automated Testing”’e; MVP’den (Minimum Viable Product/Process) “Continuous Monitoring”’e kadar birçok pratiği modeline dahil etmiştir.
DevOps, Agile (Çevik) yazılımda da olduğu gibi insanları ve süreçleri, araçlardan yeğ tutmaktadır. Diğer bir ifadeyle belirli araçları kullanmak DevOps yapmak anlamına gelmez. Hoş zaten DevOps aracı diye birşey de bahsetmek mümkün değildir. Ancak farklı araçlar (Versiyon Kontrol Aracı, Performans İzleme Aracı, Yazılım Dağıtım Aracı gibi) biraraya gelerek bir DevOps araç seti olarak kullanılabilir. Burada önemli olan araçlar değil, insanlar, prensibler ve süreçlerdir. Önemli olan hem iş birimlerini hem müşterileri memnun eden kaliteli yazılım sistemleri ve bu sistemlerin oluştururken de verimli ve etkin çalışabilen, yaptığı işten keyif alan yazılım geliştirme ve operasyon uzmanlarıdır.
Son olarak da bu çalışmada gözden kaçmaması gereken bir nokta da DevOps için Türkçe karşılığının belirtilmemiş olmasıdır. DevOps kolay ifade edilen kısaltma bir terim olduğu için, Türkçe bir karşılığının belirlenmesi ve yaygınlaşması çok kolay olur mu bilinmez. DevOps’u karşılamak için “Geliştirme Operasyon(u)”, “Yazılım Operasyon(u)” ifadeleri veya belki de kısa olarak “YazOp”, “GelOp” terimleri kullanılabilir.
Dr. Ersin Ünsal
Mirsis Bilgi Teknolojileri
Proje Yöneticisi