Bu rehber, yazılım teslimatını elle yapılan adımlardan kurtarmak isteyen ekipler için hazırlandı: sürekli entegrasyon ve dağıtım (CI/CD) hattı ile altyapı kodlamasının (IaC) nasıl kurulduğunu, ilk hafta neyin yapılacağını ve nelerin ölçüleceğini anlatır.
1. Neden?
Elle dağıtım; "benim bilgisayarımda çalışıyor", unutulan yapılandırma ve cuma akşamı kesintileri demektir. CI/CD her değişikliği aynı yoldan test edip yayına taşır; IaC ise sunucu ve servisleri kodla tanımlar, böylece ortamlar birbirinin kopyası olur ve felaket anında yeniden kurulabilir.
2. Sürüm Kontrolü ve Dal Stratejisi
Her şey Git'te: uygulama kodu, altyapı tanımları, hat tanımları. Basit bir dal stratejisi (ana dal + kısa ömürlü özellik dalları, birleştirme öncesi inceleme) ekibin büyüklüğünden bağımsız işler. Gizli bilgiler (parola, anahtar) asla depoda tutulmaz; kasa ya da hat değişkenleri kullanılır.
Çıktı: Dal kuralları ve gizli bilgi politikası.
3. Sürekli Entegrasyon
Her birleştirme isteğinde otomatik: bağımlılık kurulumu, statik analiz ve biçim denetimi, birim ve özellik testleri, güvenlik taraması (bağımlılık zafiyetleri), derleme. Hat 10 dakikayı aşıyorsa testler paralelleştirilir ya da katmanlanır. Kırmızı hat birleştirmeyi engeller; bu kural istisnasız uygulanır.
4. Ortamlar
En az üç ortam: geliştirme, hazırlık (staging) ve üretim. Hazırlık ortamı üretimin küçük bir kopyasıdır ve aynı IaC tanımından kurulur; "üretimde farklıydı" cümlesi burada biter. Veri gizliliği için hazırlık ortamında maskelenmiş veri kullanılır.
Çıktı: Ortam listesi ve farkları (yalnız boyut ve veri).
5. Altyapı Kodlaması
Sunucular, ağlar, veritabanları ve DNS kayıtları Terraform ya da bulut sağlayıcının şablon diliyle tanımlanır; sunucu içi yapılandırma Ansible ile ya da konteyner imajıyla yapılır. Elle yapılan değişiklik yasaktır; her değişiklik kodda, incelemeden geçer ve hatla uygulanır. Durum dosyası güvenli ve kilitli bir depoda tutulur.
6. Dağıtım Stratejisi
Sıfır kesintili dağıtım için mavi-yeşil ya da kademeli (canary) yayın; veritabanı değişiklikleri geriye uyumlu adımlarla (önce sütun ekle, sonra kodu değiştir, sonra eskiyi kaldır). Geri alma düğmesi önceden denenmiş olmalıdır: son bilinen iyi sürüme dönüş bir komutla yapılır.
Çıktı: Dağıtım ve geri alma kılavuzu.
7. Gözlemlenebilirlik
Dağıtım sonrası otomatik sağlık kontrolü, hata oranı ve gecikme izleme, merkezi günlükler ve uyarılar. Her dağıtım izleme panosunda işaretlenir; bir sorun çıktığında "hangi sürümle başladı" sorusu saniyeler içinde yanıtlanır.
8. Ölçüler
Dört temel ölçü: dağıtım sıklığı, değişikliğin yayına ulaşma süresi, başarısız dağıtım oranı ve kesinti sonrası toparlanma süresi. İlk ay ölçülür, hedefler buna göre konur; iyileşme çeyreklik gözden geçirilir.
Kontrol Listesi
- Uygulama, altyapı ve hat tanımları sürüm kontrolünde; gizli bilgiler kasada.
- Her birleştirme isteğinde test, analiz ve güvenlik taraması çalışıyor; kırmızı hat birleştirmeyi engelliyor.
- Hazırlık ortamı üretimle aynı IaC tanımından kuruluyor.
- Elle altyapı değişikliği yasak; durum dosyası güvende.
- Sıfır kesintili dağıtım ve denenmiş geri alma prosedürü var.
- Dağıtım sonrası sağlık kontrolü ve uyarılar tanımlı.
- Dört teslimat ölçüsü aylık raporlanıyor.
01Kaynaklar
ETİKETLER
- ci/cd
- devops
- altyapı kodlaması
- terraform
- dağıtım
Bu makale yardımcı oldu mu?
Teşekkürler, geri bildiriminiz alındı.
Geri bildirim gönderilemedi. Tekrar deneyin.
DESTEK
Bu konuda destek alın
Yazıdaki yaklaşımı kendi altyapınıza uyarlamak için ekibimize yazın. 1 iş günü içinde dönüş yapıyoruz.
İletişime geçin