İçindekiler
- DevOps nedir?
- Dev ve Ops Kısımları
- DevOps Yaşam Döngüsü
Devops nedir?
“DevOps is the union of people, process and products to enable continuous delivery of value to our end users” – Donovan Brown
DevOps, son kullanıcılarımıza sürekli değer aktarımını sağlamak için insanların, süreçlerin ve ürünlerin birleşimidir.
DevOps, son kullanıcılarımıza sürekli değer aktarımını sağlamak için insanların, süreçlerin ve ürünlerin birleşimidir.
Geliştirme (Development) ve operasyon (Operation) işlemlerinin bir araya getirilmesine DevOps denir.
Bilgisayar teknolojisinde önemli olan bu iki işlevden sorumlu insanların bir arada çalışması hedeflenen bir metodolojidir (yöntem bilimidir).
"Dev" ve "Ops" Kısımları
Dev kısmı, uygulamanın:
- Planlanması,
- Kodlanması,
- Versiyonlanma ve yayınlanması,
- Güncellenmesi,
- Test edilmesi…
Ops kısmı ise, uygulamanın:
- Barındırılacağı ve kullanılacağı ortamı tasarlamak,
- Çalışması için gerekli sistem bileşenleri, ağ ve güvenlik yapılandırmalarının yapılması,
- Kaynak kullanımı,
- Gerekli izleme (Monitoring) araçlarının ayarlanması…
.. gibi işlemlerden sorumludurlar.
DevOps Yaşam Döngüsü
DevOps yaşam döngüsü (lifecycle) ya da sürekli teslim hattı (the continuous delivery pipeline), yazılım geliştirme sürecinde
tekrarlanan bir dizi otomatikleştirilmiş iş akışları veya süreçlerden oluşur.
İş akışları, genellikle altı aşamaya kadar özetlenebilir:
- Planlama (planning/ideation): Yazılım ihtiyaç, gereksinim ve önceliklerin saptandığı kısımdır.
- Gelişim (Development): Programlama kısmıdır. Yazılım iç döngüsünü gerçekleştirirler.
- Entegrasyon (integration, build ya da CI/CD): Yeni kod mevcut kod tabanına entegre edilir, test edilir ve
dağıtım için bir çalıştırılabilir şekilde paketlenir. - Dağıtım (deployment): Çalışma ortamına dağıtılır ve kalite, uyumluluk ve güvenlik için çalışma zamanı testleri yürütülür.
- Operasyonlar (operations): Özellik performansı, davranışı ve kullanılabilirliği izlenerek, özelliklerin son kullanıcılara değer sağlayabilmesi sağlanır.
- Geri bildirim (feedback ya da learning): Uygulamanın bir sonraki sürümündeki geliştirmeler ve özellikler için son kullanıcılardan özellikler, işlevsellik, performans
ve iş değeri hakkında geri bildirimlerin toplanmasıdır.
