İçeriğe geç
parazade

DevOps Nedir?

Yayın: · Son güncelleme:

DevOps Nedir? Kısaca

DevOps, yazılım geliştirme (Development) ve BT operasyonları (Operations) ekiplerinin birlikte çalışarak yazılımı daha hızlı, sık ve güvenilir şekilde yayına almasını hedefleyen kültür ve uygulamalar bütünüdür.

DevOps nedir?
İçindekiler
  1. DevOps nedir?
  2. Temel uygulamalar
  3. DevOps mühendisi ne yapar?

DevOps nedir?

DevOps, "Development" ve "Operations" kelimelerinin birleşimidir. Geleneksel yapıda yazılımcılar kodu yazar, operasyon ekibi ise sunucuya kurar ve çalışır tutardı. İki ekip arasındaki duvar, gecikmelere ve suçlamalara yol açıyordu.

Yeni yaklaşım bu duvarı yıkmayı amaçlar. Kodu yazan ekip, onun canlıda nasıl çalıştığından da sorumlu olur. Ortak hedef bellidir: hızlı ve sorunsuz teslimat.

Temel uygulamalar

Burada önemli bir ayrım var: bu bir araç değil, bir çalışma biçimidir. Yine de bazı uygulamalar onunla birlikte anılır.

CI/CD ile kodun otomatik test edilip yayına alınması ilk sıradadır. Altyapının kodla tanımlanması (Infrastructure as Code) sunucu kurulumlarını tekrarlanabilir kılar. İzleme ve log toplama ise sorunları kullanıcıdan önce fark etmeyi sağlar. Docker, Kubernetes, Terraform ve GitHub Actions bu alanda sık kullanılan araçlardır.

Örneğin eskiden ayda bir yapılan ve bütün geceyi alan bir sürüm, DevOps uygulamalarıyla günde birkaç kez ve birkaç dakikada yapılabilir hâle gelir.

DevOps mühendisi ne yapar?

Rol, geliştirme ile altyapı arasında köprü kurar. Otomasyon hatlarını kurar, bulut kaynaklarını yönetir, izleme sistemlerini ayarlar.

Bu alana girmek isteyenler için Linux komut satırı, bir betik dili, Git ve bir bulut platformunun temelleri iyi bir başlangıçtır. DevOps'u yalnız bir unvan olarak görmeyin. Küçük bir ekipte herkesin bu kültürü benimsemesi, ayrı bir DevOps mühendisi işe almaktan daha büyük fark yaratabilir.

Sıkça Sorulan Sorular

DevOps ile Agile arasındaki fark nedir?

Agile, yazılımın nasıl planlanıp geliştirileceğine odaklanan bir yaklaşımdır. DevOps ise geliştirilen yazılımın nasıl hızlı ve güvenilir şekilde yayına alınıp çalıştırılacağıyla ilgilenir. İkisi birbirini tamamlar.

DevOps öğrenmek için yazılım bilmek gerekir mi?

Temel düzeyde gerekir. Betik yazabilmek, Git kullanabilmek ve bir uygulamanın nasıl çalıştığını anlamak, otomasyon ve altyapı işlerini yürütmek için önemlidir.

İlgili terimler

DevOps Mühendisi(DevOps Engineer)DevOps mühendisi, yazılımın geliştirilmesi ile canlı ortamda çalıştırılması arasındaki süreçleri otomatikleştiren; CI/CD hatlarını, sunucu ve bulut altyapısını, izleme ve güvenlik düzenlerini kuran ve yöneten mühendistir.CI/CDCI/CD, yazılımdaki değişikliklerin otomatik olarak birleştirilip test edildiği (sürekli entegrasyon) ve yayına hazır hâle getirilip dağıtıldığı (sürekli teslimat ya da dağıtım) süreçlerin bütünüdür.DevSecOpsDevSecOps, güvenliği yazılım geliştirme sürecinin sonunda yapılan ayrı bir kontrol olmaktan çıkarıp planlamadan dağıtıma kadar her adıma yerleştiren yaklaşımdır. Geliştirme, güvenlik ve operasyon ekipleri ortak sorumluluk alır.Komut Satırı(Command Line)Komut satırı, bilgisayara yazılı komutlar girerek işlem yapılan metin tabanlı çalışma biçimidir. Kullanıcı bir komut yazar, Enter'a basar ve sonuç yine metin olarak ekrana gelir. Windows'ta Komut İstemi ve PowerShell, macOS ve Linux'ta Terminal ile kullanılır.Betik(Script)Betik (script), genellikle derlenmeden doğrudan çalıştırılan ve belirli bir işi otomatikleştirmek için yazılan kısa programdır. Bash, Python ve JavaScript gibi dillerle yazılır; yedekleme, dosya düzenleme ve veri işleme gibi işlerde kullanılır.GitGit, dosyalardaki değişiklikleri kayıt altına alan, eski sürümlere dönmeyi ve ekiplerin aynı proje üzerinde paralel çalışmasını sağlayan ücretsiz ve açık kaynaklı dağıtık sürüm kontrol sistemidir. 2005'te Linus Torvalds tarafından geliştirilmiştir.