• 09 JUNE 2021
  • Trendler
  • 24 DAKİKA

DevOps Nedir?

DevOps Nedir?

DevOps kavramı, bilişim sektöründe bulunanlar tarafından bilinmekte. Özellikle geçtiğimiz son bir kaç yılda hem küçük hem de büyük organizasyona sahip kuruluşlar tarafından çokça benimsenmiştir. Terimin tam olarak ne olduğu konusunda genellikle bilişim çalışanları da oldukça zorluk çekmektedirler. Bizlerde bu yazımızda genel olarak DevOps içeriğini ve özelliklerini kavramanıza yardımcı olacağız. 

DevOps, bilişim uzmanları ile yazılım geliştiricileri arasındaki teknoloji iletişimini sağlayan bir yazılım geliştirme yöntemidir. DevOps mühendisleri, yazılım geliştirme döngüsünün algoritmasını tam olarak kavramışlardır. DevOps çalışanları, bilişim teknolojileri operasyonu (Operations) ile uygulama geliştirme (Development) ekipleri arasında işbirliği, entegrasyon ve sürekli iletişime sağlamaya yönelik teşvik eder. Bu sebep ile DevOps kelimesi iki çalışma alanının ortak olarak isim birleşmesinden oluşuyor. Bu birbirinden ayrı iki ekip ile yakından ilişki kurması, DevOps çalışanın hayati olan yaşam döngüsünü oluşturur. Bu yaşam döngüsü belli adımlardan oluşmaktadır. Bu döngünün genel olarak adımları; piyasaya çıkacak yazılım hakkında plan yapılması, fikirlerin toplanıp bir noktada derlenmesi, test ve en son olarakta yayınlama aşamasıdır. Bu aşamalardan sonrasın da ise yazılımın geliştirme, iyileştirme, test etme ve dağıtımı konularında bulunan DevOps çalışanları, çalışma prensibi ve iyileştirme için sürekli müşterilerin geri dönüşlerini kurumuna katar. İşte tam olarak bu şekilde bir yaşam döngüsü oluşması sağlanır. Böylece yazılıma gereken değişiklikler bir hayli hızlı ve müşterinin isteğine uygun olarak yapılabilir.

Bazı çevrelerde ise DevOps çalışanları mevcut hedeflerini dört gruba ayırır. DevOps araçlarının yardımcı olduğu alanları sıralamak gerekirse; paylaşım, ölçüm, kültür ve otomasyon (Sharing, Measurement, Culture, CAMS, Automation) olarak ayırılmaktadır. DevOps araçları işleyiş olarak kolaylıklar sağlamaktadır. Genel olarak DevOps araçları iş akışlarını daha akıcı ve işbirliğine uygun hale getirirler. DevOps araçları, daha önceki zamanlarda manuel olarak yapılan tüm işleri otomatik hale getirirler. Örnek vermek gerekirse; geliştirme, entegrasyon ve test etme aşamalarını tamamen otomatik hale getirirler.

DevOps’un Kazandırdıkları

DevOps’un bilişim dünyasında önemi oldukça yüksektir. Bir anlayış, misyon yada felsefe olarak değerlendirmek mümkündür. Eğer DevOps’un sektöre ve kullanıcılara kazandırdıklarını sıralayacak olursak;

Güvenlik

Güvenlik bilişim sektörünün en sıkıntılı süreçlerinin başında gelmektedir. Düzgün geliştirilmiş bir DevOps size güvenlik konusunda oldukça kolaylık sağlayabilir. Çalışanlar tarafından otomatik hale getirilmiş, sisteme entegre güvenlik testi araçları kullanarak güvenlik konusundan ödün vermeyen bir DevOps modeline rahatlıkla sahip olabilirsiniz.

Uzmanlaşmış İşbirliği

Belki de en önemli başlık demek mümkün. Uzmanlaşmış İşbirliği! Sıradan bir DevOps modelinde bile, operasyon ekipleri ve diğer geliştiriciler her daim işbirliği içerisinde bulunurlar. Bu işbirliği kapsamında yürütülen işlerin akışları ortak bir payda da birleştirilir ve sorumluluklar çift taraflı paylaşılır. Bu sayede sorumluluklar oluşturulduğu için, çok daha verimli bir iş ve zaman kullanımı söz konusu olmaktadır.

Güvenilirlik

Sürekli teslimat ve sürekli entegrasyon gibi DevOps’un getirdiği avantajlar sayesinde uygulama altyapı değişiklikleri ve güncellemelerinin kalitesi neredeyse garanti altına alınır. Bu uygulama son kullanıcılar açısından en iyi deneyimi oluştururken güvenilir ve hızlı şekilde teslimat yapılmasına olanak tanınır.

Hız

DevOps uygulamalarının birden fazla avantajı vardır. Bunlardan bir diğer avantajı ise hızlı değişen pazarlarda daha iyi uyum sağlaması, daha hızlı inovasyon çalışmaları yürütmek ve iş sonuçları yönetiminde verimli olmak gibi amaçlardır. Yani DevOps uygulamaları kurumun ihtiyaç duyduğu hızda hareket etmesini sağlar. 

Hızlı Teslimat

DevOps uygulamaları ile birden fazla kazanım elde edersiniz. DevOps ile sürüm hızı kolay bir şekilde artırılabilir. Bu durumun getirdiği avantajlar sayesinde ürünü daha hızlı bir şekilde geliştirebilir ve rakipleriniz ile rekabet halindeyken, onların önüne hızlı bir şekilde geçebilirsiniz.

DevOps Çalışmaları İçin Kullanılan Araçlar

Kanban

Bu aracın temel amacı, devam eden yazılım projelerinin durumlarını (WIP) bir pano halinde görüntülenmesini sağlar.

Scrum

Scrum yöntemi, geliştirme yapan takımın üyelerinin kalite güvence projesini hızlandırmak amacıyla takımın birlikte nasıl çalışması gerektiğini gösterir. Scrum yönteminin uygulamaları; kurum terminolojisini (günlük toplantı, zaman kutuları, sprintler), temel iş akışlarını ve kişiler için belirlenmiş rollerini (Ürün sahibi, Scrum Master vb.) içerir.

Çevik (Agile)

Önceki anlattığım iki yazılım geliştirme yöntemi de DevOps uygulamalarına ve araçlara yön vermeye devam ediyor. Kanban ve Scrum da dâhil olmak üzere birçok DevOps operasyonu, çevik programlama yönteminin unsurlarını içerir. Bazı çevik uygulamaları, hızla değişen ihtiyaç ve gereksinimlere yanıt verme, kullanıcı geri bildirimlerini dahil etme ve günlük standup gerçekleştirme ile ilişkilidir. Çevik yöntemi, ayrıca geleneksel “şelale” yöntemi yerine daha kısa yaşam döngülü yazılım geliştirmeye teşvik eder.

DevOps Hakkında Yanlış Bilinenler

  • DevOps uygulamaları hedef değil birer yolculuktur.
  • DevOps çalışmaları bir kişiye verilen sorumluluk değil, yazılım geliştirme sürecine katkıda bulunan tüm takımların benimsemesi gereken bir konudur.
  • DevOps her organizasyona aynı uygulamalar ile uygulanamaz, her organizasyona özel adımlar belirlenerek yola çıkılması gerekir.
  • DevOps bir tool (araç) veya bir yazılım değildir.

İletişim Formu

İletişim Formu