ScholarGate
Asistan

DevOps ve Sürekli Teslimat

DevOps ve sürekli teslimat, yazılım geliştirme ve operasyonları otomasyon, hızlı geri bildirim ve yazılımı sürekli olarak yayınlanabilir durumda tutan bir dağıtım hattı aracılığıyla birleştiren uygulamalardır.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

DevOps, teslimat döngüsünü kısaltmak amacıyla yazılım geliştirme ve BT operasyonlarını entegre eden kültürel ve teknik uygulamalar bütünüdür; sürekli teslimat ise yazılımın her an güvenilir bir şekilde yayınlanabilmesi için derleme, test ve dağıtımı otomatikleştiren mühendislik disiplinidir.

Kapsam

Bu konu, sürekli entegrasyon ve sürekli teslimat/dağıtım hatlarını; derleme, test ve yayın otomasyonunu; kod olarak altyapıyı (infrastructure as code); konfigürasyon yönetimini; izleme ve gözlemlenebilirliği; geliştirme ve operasyonlar arasındaki kültürel işbirliğini; ve dağıtım sıklığı, öncü süre (lead time), değişiklik-hata oranı ve ortalama kurtarma süresi gibi metrikleri kapsamaktadır.

Temel sorular

  • Bir dağıtım hattı, kod taahhüdünden (commit) üretime giden yolu nasıl otomatikleştirmektedir?
  • Hangi uygulamalar, kaliteyi korurken yazılımı sürekli olarak yayınlanabilir durumda tutmaktadır?
  • Sürekli entegrasyon, teslimat ve dağıtım birbirinden nasıl farklılaşmaktadır?
  • Hangi metrikler, yazılım teslimat performansını güvenilir bir şekilde göstermektedir?

Temel kuramlar

Dağıtım hattı
Her değişiklik, derleme, otomatik testler ve aşamalı dağıtımdan oluşan otomatik bir hat üzerinden akmakta, hızlı geri bildirim sağlamakta ve geçen her sürümün yayın için bir aday olmasını güvence altına almaktadır.
DevOps'un Üç Yolu
Kim'in prensipleri, geliştirme ve operasyonlardan akışı optimize etmeyi, geri bildirim döngülerini güçlendirmeyi ve yüksek performanslı teknoloji organizasyonlarının temeli olarak sürekli deney ve öğrenme kültürünü teşvik etmeyi tanımlamaktadır.
DORA teslimat performansı metrikleri
Araştırmalar, yüksek performanslı yazılım teslimat organizasyonlarını düşük performanslı olanlardan istatistiksel olarak ayıran dört anahtar metriği (dağıtım sıklığı, değişiklikler için öncü süre, değişiklik-hata oranı ve hizmeti geri yükleme süresi) belirlemektedir.

Klinik önem

DevOps ve sürekli teslimat, yayın döngülerini aylardan saatlere indirmekte, otomasyon ve küçük parti boyutları aracılığıyla dağıtım riskini azaltmakta ve hem istikrarı hem de verimi artırmaktadır; ampirik çalışmalar bu uygulamaları daha iyi örgütsel performansla ilişkilendirmektedir.

Kanıt ve kılavuzlar

Yıllık DevOps Durum raporları ve Accelerate araştırma programı, sürekli teslimat uygulamalarının yazılım teslimatı ve örgütsel performansla ilişkili olduğuna dair ampirik kanıtlar sunmaktadır.

Tarihçe

DevOps terimi, çevik sistem yönetimi ve kod olarak altyapı (infrastructure-as-code) hareketlerinden yaklaşık 2009 yılında ortaya çıkmış, geliştirme ve operasyonlar arasındaki duvarı yıkmayı hedeflemiştir. Humble ve Farley, sürekli teslimatı 2010 yılında kodifiye etmiş ve sonraki ampirik araştırmalar, yüksek performanslı ekipleri ayırt eden metrikleri resmileştirmiştir.

Tartışmalar

Sürekli dağıtım ve sürekli teslimat arasındaki fark
Geçen her değişikliğin otomatik olarak üretime dağıtılıp dağıtılmayacağı (sürekli dağıtım) veya manuel bir yayın kararı beklenip beklenmeyeceği (sürekli teslimat) tartışılmaktadır; cevap risk toleransına, düzenleyici bağlama ve otomatik doğrulamanın olgunluğuna bağlıdır.

Öne çıkan isimler

  • Jez Humble
  • David Farley
  • Gene Kim
  • Nicole Forsgren
  • Patrick Debois

İlgili konular

Temel eserler

  • humble2010
  • kim2016
  • forsgren2018

Sıkça sorulan sorular

Sürekli teslimat ve sürekli dağıtım arasındaki fark nedir?
Sürekli teslimatta, hattı geçen her değişiklik yayınlanabilir durumdadır, ancak üretime dağıtım kararı kasıtlı bir insan eylemidir; sürekli dağıtımda ise bu son adım da otomatiktir, böylece geçen her değişiklik otomatik olarak yayınlanır.
DevOps bir rol mü yoksa bir uygulama mı?
DevOps, öncelikli olarak geliştirme ve operasyonları kapsayan kültürel ve teknik uygulamalar bütünüdür, tek bir iş unvanı değildir; bunu sadece yeniden adlandırılmış bir operasyon rolü olarak görmek, ortak sahiplenme ve otomasyon vurgusunu gözden kaçırmak anlamına gelir.

Bu kavram için yöntemler

İlgili kavramlar