DEVOPS SLAYTI
Development ekibi: yeni ürünler, özellikler, hata çözme, güvenlik açıklarının giderilmesi gibi görevleri
var.
Operasyon ekibi: dış dünyadan gelen isteklere cevap verme, yeni özelliğin dış dünyaya açılması, dış
dünyaya açılan uygulamanın izlenmesi
Developerların geliştirdikleri kod dış dünyaya açıldığında beklenmeyen sonuçlar doğurabilir. Devopsta
bu durum ortadan kalkar.
Devops ekipleri geliştirme, test, dağıtım üzerinde çalışarak yazılım yaşam döngüsü boyunca görev
alırlar
Geliştirme araçlarıyla yazılım geliştirme süreci daha fazla otomatik hale gelir ve bu durum hız
kazandırır.
Devops avantajları
Daha hızlı ve daha iyi ürün teslimatı
Hızlıca yenilik yapabilme
Hızlı sorun çözümü
Ölçeklenebilirlik
Daha iyi kaynak kullanımı
Daha fazla otomasyon
Devops döngüsü
Plan -> code -> build -> test -> release -> deploy -> operate -> monitor
CD (continous development)
Sürekli olarak geliştirilme yapılması
CI (continous integration)
Geliştiricilerin yazdıkları kodun sürekli olarak projeye entegre edilmesinin otomatikleştirir
CD (continous delivery) (sürekli teslimat)
Yeni özellikler, değişiklikler, hata düzeltmelerin hızlı ve güvenli bir şekilde canlı ortama alınması
CD (continous deployment) (sürekli dağıtım)
Müşteriye sunmadan önce çözümü doğrula, canlıya al, sorunları izle, dağıtımda meydana gelen
sorunları çöz
Con. Delivery ve con. Development farkı;
Sürekli dağıtımda üretim otomatik olarak gerçekleşir
Kod olarak altyapı
Makine tarafından okunabilen dosyalarla veri merkezlerini yönetmeyi sağlar
İmperative yaklaşım (zorunlu): yapılan değişiklik için atılacak adım tam olarak belirlenir dışına çıkılmaz
Declarative (bildirimsel): kullanıcılar yalnızca son gereksinimi tanımlamalı
Bulut bilişim: it kaynaklarının ihtiyaca göre ve kullandıkça sunulması. Depolama, bakım, güvenlik gibi
özellikleri bulut sağlayıcılarda yapabiliriz. Ölçeklendirme.
--------------------------
TDD (Test Driven Development)
Extreme Programming’in bir parçası
Test senaryosu hazırladıktan sonra kodu yazmak, refactor etmek
Kodlar arası bağımlılık az, hızlı, clean code, hata bulma daha kolay
BDD (Behavior Driven Development)
TDD karmaşıklığını gidermeyi amaçlar
Yazılım süreçleri daha test odaklı gider
konuşma dilinde test senaryoları yazmamıza olanak sağlar, daha ucuz
Kod kalitesini artırır, bakım maliyetini düşürür, ihtiyaçlar daha iyi karşılanır
“Given-When-Then” olarak üç başlıkta test senaryoları kurulur.
Given, belirlenen test senaryosu bu başlıkta yazılır.
When, test senaryosunun gerçekleşeceği zamanı anlatılır.
Then, belirlenen senaryo ve aksiyon sonrasında uygulamanın nasıl bir sonuç döneceğini
anlatır.
Given: Kullanıcı şifre alanına hatalı şifre girer.
When: Giriş düğmesine basar.
Then: Kullanıcıya hatalı şifre ile giriş yapmak istediğini belirten hata mesajı gösterilir.
Model tabanlı geliştirme nedir ?
Donanıma uygulamadan önce tasarım sürecinizin erken aşamasında sonucun birçok yinelemesini ve
optimizasyonunu yapabileceğimiz simülasyon yoluyla bir model tasarlamakdır.