DevOps kelimesinin ilk kez telaffuzu üzerinden on yılı aşkın süre geçti. Bu süre içerisinde farkındalığın oluşmasından, organizasyonel kültür dönüşümüne, pratiklerin öğrenilmesinden, otomasyonun devreye alınmasına kadar birçok adım atıldı. Önümüzdeki dönemde de atılmaya devam edecek.
Bu anlamda gelecek yıllarda DevOps alanındaki iş gücü ve nitelikli insan kaynağı talebinin artarak devam edeceğini düşünmek hiç de yanlış olmaz. Oldukça geniş bir alan olduğundan DevOps ile ilgili kariyer hedefleyenlerin eforlarını doğru yönlendirmesi kritik.
DevOps dönüşümü kapsamında 2020 yılında yoğunlukla tartışılacak konu başlıklarının bazıları;
Trend #1 DevOps Organizasyonel Dönüşümü
DevOps farkındalığı arttıkça buna uygun organizasyonel yapıların formasyonu da her geçen gün devam ediyor. Çevik dönüşüm sayesinde müşteri ile yakın çalışma deneyimi edinen geliştirme ekiplerininin, uçtan uca ürün sorumluluğunu almasıyla, canlıya çıkış sonrasında uygulamanın doğru çalışıyor olabilmesi için gerekenleri sağlama gereksinimi ortaya çıkıyor.
Uluslararası DevOps Agile Skill Association‘in (DASA) tanımında ‘Business System’ ekiplerinin ‘Platform’ ekiplerinin sağladığı servisler kullanarak uygulamalarını canlıya alması ve canlı ortamlarda yönetmesi tavsiye ediliyor. Bu sayede kurum içerisinde belirli bir standart yapı korunurken, aynı zamanda geliştirme ekiplerinin operasyon sorumluluğunu alması ile silolaşmanın önüne geçiliyor.
Trend #2 Micro-Servis Yapısına Geçişin Hızla Devam Etmesi
Micro-servis mimari, yazılım geliştirme konsepti için tam anlamıyla bir paradigma kırılımı olarak düşünülebilir. Yazılımların yekpare bir bütün yerine, her biri kendi için belirlenmiş küçük görevleri yerine getiren birçok parçacıktan oluşması anlamına geliyor. Bu sayede bağımlılıkların azaltılarak, değişikliklerin daha kolay yapılabilmesi hedefleniyor. Containerize edilerek kullanıldığında çok daha esnek hale gelen micro-servislere geçişin hemen gerçekleştirilebilmesi oldukça güç. Önümüzdeki yıllarda yükselecek DevOps trendleri arasında, legacy monolithic uygulamaları parçalanarak bu yöntemin benimsenmesi ise birçok firmanın takviminde bulunan bir çalışma.
Trend #3 CI-Build Server’ların Sıradanlaşması
Kodların bir CI (Continuous Integration) aracı ile derlenmesi, hatta otomatize testlerin bu derlemeleri kontrol etmesi artık eskisi kadar ayrıcalıklı değil. Hatta sıradan bile denilebilir. Bugün en küçük start-up ekiplerden en büyük kurumsal şirketlere kadar birçok organizasyon CI süreçlerini işleyişlerinin standart bir parçası olarak görüyor.
Artık derlemenin değil, teslimatın da otomatikleşmesi (Continuous Delivery) yeni hedef olarak görülüyor. Bu sayede teslimat yönetiminin belirli günlerde manuel gerçekleştiriminden, istenildiği an gerçekleştirilebilen bir yapıya geçilerek daha çevik bir süreç oluşturulması amaçlanıyor.
Popüler CI/CD Araçları; Jenkins, Teamcity, Bamboo, TFS, Travis Cı, Circle CI, Wercker, vb. Daha fazla bilgi edinmek için: Continuous Delivery /Continuous Integration
Trend #4 Everything as Code’un Yükselişi
‘Infrastructure as Code’, ‘Pipeline as Code’, ‘Configuration as Code’ ya da bir başka deyişle ‘Everything as Code’. Muhtemelen DevOps dönüşümündeki en önemli teknik pratiklerden biri. Özetle, altyapı, süreç ve konfigürasyonu kaynak kod gibi yönetmek anlamına geliyor. Peki bu ne demek?
Aslına bakılırsa en basit anlamıyla oluşturmak istenilen sunucu özelliklerini, derleme adımlarını veya konfigürasyonu aynı kaynak kod gibi dosyalarda tanımlayarak versiyonlar oluşturmak ve bu versiyonları tekrar edebilir, hatasız ve çok hızlı bir şekilde devreye alınmasını sağlamak olarak düşünülebilir.
Örneğin, Terraform kullanarak belirlediğiniz server özellikleri ile (elbette buna uygun bir yapıya sahip bir ortam üzerinde) çok hızlı bir şekilde istediğiniz test ve canlı ortamı oluşturmanız mümkün. Akabinde, Ansible playbook’larındaki tanımlamalarınız ile oluşturduğunuz ortamları hızlıca konfigüre edebilir ve manuel işlemlerden kaynaklı sorunların önüne geçebilirsiniz. Popüler IaC, PaC, CaC Araçları; Terraform, Ansible, Salt Stack, Chef, Puppet, Jenkins File …