4. • Kapsamlı dökümantasyondan ziyade çalışan yazılıma*
• Bir plana bağlı kalmaktan ziyade değişime karşılık vermeye* (İletişim)
• Süreçler ve araçlardan ziyade bireyler ve etkileşimlere (İletişim)
• Sözleşme pazarlıklarından ziyade müşteri ile işbirliğine (İletişim)
AGILE Manifesto
5. • İletişim
• Takım ruhu ve motivasyonu sağlamak
• Hümanizm ve demokratik yönetim
• Hızlı bir şekilde çıktı oluşturabilmek ve müşteriden geri bildirim alabilmek
• Plan, sözleşme vs. gibi kağıt işlerinden daha öncelikli olarak değer üretmeye
odaklanmak
• Güven ilişkisi yaratabilmek
• Otomasyon sistemini oluşturmak
• Sürekli iyileştirme döngüsünü kurabilmek (Verimliliği arttırmak)
AGILE Proje Yönetiminin Temel Noktaları
8. • 2008’da Belçika’da bir seminerde ortaya çıkmıştır.
• DevOps =Development + Operations
• Temelinde Agile Yaklaşımı bulunmakla birlikte DevOps için Agile yaklaşımı
zorunlu değildir.
• Genel Olarak DevOps Yazılım Geliştirme ve Operasyon birimlerinin tüm SDLC
süreçlerinde (analiz tasarım aşamasından, ürünün gerçek sisteme çıkışına
kadar olan süreçte) birlikte çalışması olarak tanımlayabiliriz.
DevOps
9. • “Yazılım Yaşam Döngüsü” otomasyona bağlanarak, yazılım ve sistem takımları
arasındaki anlık bağımlılıkları yok etmek ve yazılımcıları operasyonel işlerden
arındırarak, üstüne mühendislik pratiklerinin de uygulanması ile yüksek
kalitede, daha sık ve daha sorunsuz canlı ortam çıkışlarının sağlaması
https://www.linkedin.com/pulse/devops-nedir-derya-sezen-b-sc-m-sc-mba
DevOps
14. • 2 Kurulum arasında geçen süre: 11,6 saniye
• 1 saatte yapılan max. kurulum sayısı: 1.079 (ort. 3.3 saniye)
• Aynı anda kurulum alan ortalama sunucu sayısı: 10.000
• Aynı anda kurulum alan max. sunucu sayısı: 30.000
• http://assets.en.oreilly.com/1/event/60/Velocity%20Culture%20Presentation.pdf
AMAZON Deployment İstatistikleri
15. • 2006 yılından beri kurulumlardan(deployment) dolayı oluşan kesintilerde %75
oranında azalma
• Kurulum süresinde %0 oranında kesinti olması
• Kurulumlardan dolayı kesinti oranı % 0.001 (yüzbin kurulumda bir)
• Kurulumu anlık geri alma (Rollback)
• Karmaşıklığın Azalması
• http://assets.en.oreilly.com/1/event/60/Velocity%20Culture%20Presentation.pdf
AMAZON Tarafından Kazanımlar
16. • Test Otomasyonu ve Sürekli Entegrasyon yaklaşımlarına odaklanılması
• Kısa sürelerde ürünün müşteriye ulaştırılması ve katma değer kazanılması
• Sürekli iyileştirme süreçlerinin geliştirilmesi
• Kaynak kullanımında esneklik
Neden DevOps
17. • DevOps başlı başına bir roldür, diğer işlere ek olarak yapılamaz.
• DevOps bir paket program değildir, sindirilmesi ve tüm organizasyona
benimsetilmesi gerekir.
• Bir anda tamamlanacak bir iş değildir, kademe kademe yapılması önemlidir.
• DevOps süreci sindirilmelidir. Nasıl yazılım geliştirme yapılırken test süreçleri
de planlanıyorsa DevOps için de aynı yaklaşım gösterilmelidir.
•
Öneriler
Dokümantasyon, plan, süreç- araçlar ve sözleşme pazarlıkları önemsiz değildir. Ama çalışan yazılım, değişime karşılık verme, bireyler ve etkileşim, müşteri ile işbirliği daha önemli ve odaklanması gereken konular.
Takım ruhu ve motivasyon -> Havuzdan işlerin alınması & Scrum
Hızlı bir şekilde çıktı oluşturabilmek ve müşteriden geri bildirim alabilmek -> Hatayı(Bug, CR ) ne kadar önce farkedersek veya müşteriye ne kadar önce istediğini farkettirirsek maliyet o kadar düşecektir. Proje başında %70 oranındaki müşteriler ne istediklerini %50 oranında biliyorlar.
Plan, sözleşme vs. gibi kağıt işlerinden daha öncelikli olarak değer üretmeye odaklanmak-> Müşteri her zaman haklıdır. Öncelikle müşterinin ikna olması lazım.
Otomasyon sistemini oluşturmak -> Hızlı çıktı oluşturmak, çeviklik, dinamiklik bazı konuları akıllıcı yapmaktan geçiyor. Unittet/mock test/test otomasyonları Continuous deployment - Continuous delivery - Continuous deployment
Sürekli iyileştirme döngüsünü kurabilmek -> Süreç iyileştirmeleri yapmak. Hiçbir kültüre kutudan çıkmışbir çözüm vermemiz mümkün değil. Best Practice/ Yaklaşım prensipleri göz önünde tutularak süreci daha iyiye götürmek = Verimlilik
Örnek: 1 yıllık proje düşünelim.
Waterfall modelde 10. ayın sonunda elimizde ROI =0
Agile modelde her ay 1 release çıkıldığında 10. ayın sonunda elimizde %80i çalışan, müşteirden geri bildirim alınmış bir ürün var.
Continuous Integration: Farklı kişilerin aynı yazılım üzerinde yaptıkları geliştirmelerin yüksek sıklıkta, tercihen günlük, entegre edilmesidir. Yapılan değişikliklerin entegre olması demek, birim testlerden geçmesi ve "build" sürecinin işletilmesi ile olası hataların en erken şekilde tespit edilmesi anlamına gelmektedir.
Continuous Delivery: Continuous Integration sürecini başarılı tamamlamış her değişikliğin, gerçek bir "release" olduğunun doğrulanmasıdır. Bunu yapmak için "Continuous Integration" ın çıktısı olan "artifact" ın, tercihen otomatik, kabul ve performans testlerinden geçirilmesi ve test veya "prod-like" bir ortama "release" edilmesidir.
Continuous Deployment: Continuous Delivery sürecini başarı ile tamamlamış her değişikliğin canlı ortama otomatik olarak "deploy" edilmesidir
Continuous Integration: Farklı kişilerin aynı yazılım üzerinde yaptıkları geliştirmelerin yüksek sıklıkta, tercihen günlük, entegre edilmesidir. Yapılan değişikliklerin entegre olması demek, birim testlerden geçmesi ve "build" sürecinin işletilmesi ile olası hataların en erken şekilde tespit edilmesi anlamına gelmektedir.
Continuous Delivery: Continuous Integration sürecini başarılı tamamlamış her değişikliğin, gerçek bir "release" olduğunun doğrulanmasıdır. Bunu yapmak için "Continuous Integration" ın çıktısı olan "artifact" ın, tercihen otomatik, kabul ve performans testlerinden geçirilmesi ve test veya "prod-like" bir ortama "release" edilmesidir.
Continuous Deployment: Continuous Delivery sürecini başarı ile tamamlamış her değişikliğin canlı ortama otomatik olarak "deploy" edilmesidir
Business Perspektifinden…..
Amazon May Deployment Stats
(production hosts & environments only
11.6 seconds
Mean time between deployments (weekday
1,079
Max # of deployments in a single hour
10,000
Mean # of hosts simultaneously receiving a deployment
30,000
Max # of hosts simultaneously receiving a deployment
75% reduction in outages triggered by software deployments since 2006
0% reduction in outage minutes triggered by software deployments
0.001% of software deployments cause an outage
Instantaneous automated rollback
Reduction in complexity