IaC'yi CI/CD boru hatlarına entegre etme

AWS üzerinde Dağıtımları Otomatikleştirme

Dunieski Otano

Amazon Web Services Solutions Architect

Önce kod, altyapı sonra

önce-kod

  • Kod, CodePipeline ile; altyapı elle güncellenir
  • Geliştiriciler Lambda'yı ölçekler; operasyon SQS kuyruğunu büyütür
  • Kod ve altyapı arasındaki sapma kesintilere yol açar
  • CloudFormation'ı aynı boru hattına bağla
AWS üzerinde Dağıtımları Otomatikleştirme

Boru hattında CloudFormation eylemi

boru-hattı-eylem

  • CodePipeline, CloudFormation deploy action destekler
  • Boru hattı, eyleme bir template artifact geçirir
  • Kipler: CREATE_UPDATE, DELETE_ONLY, REPLACE_ON_FAILURE, CHANGE_SET_REPLACE / EXECUTE
  • Kaynak, derleme ve uygulama dağıtımıyla birlikte çalıştır
AWS üzerinde Dağıtımları Otomatikleştirme

Uçtan uca tipik bir boru hattı

tipik

  • Kaynak: Git push boru hattını tetikler
  • Derleme: bir şablon + uygulama artifakti üret
  • Altyapı dağıt: CloudFormation yığını oluşturur/günceller
  • Uygulama dağıt: CodeDeploy yeni sürümü gönderir
AWS üzerinde Dağıtımları Otomatikleştirme

Yığın hatasında otomatik geri alma

  • Başarısız güncellemeler otomatik olarak geri alınır ve son iyi duruma döner
  • Boru hattı aşaması hata verir ve sonraki aşamalar durur
  • Bölüm 1'deki hata uyarıları otomatik devreye girer

otomatik

AWS üzerinde Dağıtımları Otomatikleştirme

Modüler şablonlar için iç içe yığınlar

  • Nested stack, AWS::CloudFormation::Stack türünde tanımlanır
  • 2.000 satırlık bir şablonu yeniden kullanılabilir modüllere böl
  • Üst yığın parametreleri iletir ve çıktıları okur
  • Her modül üst içinde bağımsız dağıtılır

içiçe

AWS üzerinde Dağıtımları Otomatikleştirme

Çok hesaplı, çok bölgeli için StackSet'ler

  • StackSet, bir şablonu birçok hesap ve bölgede dağıtır
  • Güvenlik tabanları, korkuluklar, paylaşılan altyapı için faydalı
  • Yığın örnekleri ekle/çıkar; şablonu yeniden yazma
  • Merkezi yönetim, yerel dağıtım

stackset

AWS üzerinde Dağıtımları Otomatikleştirme

Doğru yapıyı seçmek

doğru-şekil

  • Tek yığın: küçük uygulama, tek ortam
  • İç içe yığınlar: büyük şablon, modüler bileşenler
  • StackSet'ler: aynı şablon, birçok hesap ve bölge
  • Üçü de CodePipeline ile uyumlu çalışır
AWS üzerinde Dağıtımları Otomatikleştirme

Hadi pratik yapalım!

AWS üzerinde Dağıtımları Otomatikleştirme

Preparing Video For Download...