Upgrade to Pro — share decks privately, control downloads, hide ads and more …

改めて学ぶデプロイ戦略

Avatar for Masedati Masedati
March 10, 2025
9

 改めて学ぶデプロイ戦略

Avatar for Masedati

Masedati

March 10, 2025
Tweet

Transcript

  1. 2 Copyright © SCSK Corporation 本日の主役 AWS CodeDeploy • ソフトウェアのデプロイを自動化する、フルマネージド型のサービス

    • Amazon EC2、AWS Lambda、オンプレミスサーバー、コンテナへの 自動的なデプロイメントができるサービス
  2. 8 Copyright © SCSK Corporation デプロイタイプ デプロイタイプは2つに分かれます。 In-Place Blue/Green v2

    v2 v2 新しいリビジョンのアプリ用に、 新しいインスタンスを構築し入れ替える
  3. 13 Copyright © SCSK Corporation デプロイタイプ メリット・デメリットは何なの? Blue/Green In-Place メリット

    デメリット • オンプレミスなどインスタンスの作成が 容易でない環境では効果的 • インスタンス内部の一貫性が崩れる • Rollbackが困難 • In placeのデメリットを全て解消 • (コストがかかる)
  4. 14 Copyright © SCSK Corporation デプロイタイプ Blue/Green In-Place メリット デメリット

    • オンプレミスなどインスタンスの作成が 容易でない環境では効果的 • インスタンス内部の一貫性が崩れる • Rollbackが困難 • In placeのデメリットを全て解消 • (コストがかかる) オンプレ, EC2, Lambda, ECSのデプロイタイプ
  5. 15 Copyright © SCSK Corporation まとめると Blue/Green In-Place オンプレ, EC2,

    Lambda, ECSのデプロイタイプ デプロイタイプ
  6. 17 Copyright © SCSK Corporation デプロイ設定 Blue/Green In-Place デプロイタイプの他に、デプロイ設定があります。 デプロイタイプ

    デプロイ設定 • どのようにデプロイするかを定義したもの • デプロイする割合やデプロイ成功、失敗の条件が異なる
  7. 18 Copyright © SCSK Corporation デプロイ設定 Blue/Green In-Place デプロイタイプの他に、デプロイ設定があります。 デプロイタイプ

    デプロイ設定 • One-at-a-time • Half-at-a-time • All-at-once • Linear • Canary • All-at-once
  8. 34 Copyright © SCSK Corporation デプロイ設定 -Lambda・ECS- Lambda・ECSのデプロイ設定は、Linear/Canary/All-at-onceがあります。 • Linear・・・毎回同じ間隔

    (分) の等しい増分でトラフィックを新しい環境へ移行 v1 v1 v1 v2 v2 v2 • Canary・・・一部のトラフィックを新しい環境へ振り分けたあと、残りを振り分ける • All-at-once・・・すべてのトラフィックを元の環境から、置き換え先環境に一度に移行 v1 v1 v1 v2 v2 v2 v1 v1 v1 v2 v2 v2 time:0
  9. 35 Copyright © SCSK Corporation デプロイ設定 -Lambda・ECS- Lambda・ECSのデプロイ設定は、Linear/Canary/All-at-onceがあります。 • Linear・・・毎回同じ間隔

    (分) の等しい増分でトラフィックを新しい環境へ移行 v1 v1 v1 v2 v2 v2 • Canary・・・一部のトラフィックを新しい環境へ振り分けたあと、残りを振り分ける • All-at-once・・・すべてのトラフィックを元の環境から、置き換え先環境に一度に移行 v1 v1 v1 v2 v2 v2 v1 v1 v1 v2 v2 v2 time:1 done
  10. 36 Copyright © SCSK Corporation デプロイ設定 -Lambda・ECS- Lambda・ECSのデプロイ設定は、Linear/Canary/All-at-onceがあります。 • Linear・・・毎回同じ間隔

    (分) の等しい増分でトラフィックを新しい環境へ移行 v1 v1 v1 v2 v2 v2 • Canary・・・一部のトラフィックを新しい環境へ振り分けたあと、残りを振り分ける • All-at-once・・・すべてのトラフィックを元の環境から、置き換え先環境に一度に移行 v1 v1 v1 v2 v2 v2 v1 v1 v1 v2 v2 v2 time:2 done done
  11. 37 Copyright © SCSK Corporation デプロイ設定 -Lambda・ECS- Lambda・ECSのデプロイ設定は、Linear/Canary/All-at-onceがあります。 • Linear・・・毎回同じ間隔

    (分) の等しい増分でトラフィックを新しい環境へ移行 v1 v1 v1 v2 v2 v2 • Canary・・・一部のトラフィックを新しい環境へ振り分けたあと、残りを振り分ける • All-at-once・・・すべてのトラフィックを元の環境から、置き換え先環境に一度に移行 v1 v1 v1 v2 v2 v2 v1 v1 v1 v2 v2 v2 time:3 done done done
  12. 40 Copyright © SCSK Corporation 参考文献 1. AWS での DevOps

    の概要>デプロイ戦略 https://docs.aws.amazon.com/ja_jp/whitepapers/latest/introduction-devops- aws/deployment-strategies.html 2. AWS Solutions Architect ブログ: Blue/Greenデプロイとは? https://aws.typepad.com/sajp/2015/12/what-is-blue-green-deployment.html 3. [AWS Black Belt Online Seminar] AWS CodeDeploy https://aws.amazon.com/jp/blogs/news/webinar-bb-awscodedeploy-2021/ 4. AWS CodeDeployの超詳細解説 https://zenn.dev/tech4anyone/articles/af303ce971e3a3