🚀 AWS CodeDeploy: CanaryとLinearの違い

レストランチェーンの新メニュー展開で理解しよう!

🐤 Canaryデプロイメント
🍔 「味見戦略」レストラン
1
Day 1-3
1店舗だけで新メニューをテスト提供(10%のお客さんに)
2
Day 4
評判が良ければ、全店舗で一気に新メニューを開始!
トラフィック増加パターン
10%
100%
少数テスト → 一気に全展開

👍 メリット

  • リスクが低い(問題があっても少数のユーザーのみ影響)
  • デプロイ時間が短い
  • 問題発見が早い

👎 デメリット

  • 一部のユーザーが異なる体験をする期間がある
  • 負荷テストが限定的
📈 Linearデプロイメント
🍕 「段階展開」レストラン
1
Week 1
25%の店舗で新メニュー開始
2
Week 2
50%の店舗に拡大
3
Week 3
75%の店舗に拡大
4
Week 4
全店舗で提供開始
トラフィック増加パターン
25%
50%
75%
100%
段階的に均等増加

👍 メリット

  • 段階的な負荷テストができる
  • 問題があっても段階的にロールバック可能
  • 予測しやすい展開スケジュール

👎 デメリット

  • デプロイ完了まで時間がかかる
  • 管理が複雑

📊 どちらを選ぶべき?

🐤 Canaryがおすすめ

高速リリースが重要

🔬 新機能の初期テストに最適

💡 フィードバックを素早く得たい

🚀 アジャイル開発チーム

📈 Linearがおすすめ

🛡️ 安定性が最重要

📈 大規模システムの更新

⚖️ 段階的な負荷確認が必要

🏢 エンタープライズ環境

🎯 結論

Canary は「少数テスト→一気に展開」で スピード重視 🚀
Linear は「段階的に均等展開」で 安定性重視 🛡️

プロジェクトの性質とチームの優先度に合わせて選択しよう!

Created by SSuzuki1063

AWS SAP Learning Resources