JAWS-UG コンテナ支部 入門編 #5 の資料です
+ Code 兄弟で始める継続的デリバリーAWS FargateJAWS-UG コンテナ支部 入門編 #5 July 30, 2018Ryo NAKAMARU, SUPINF Inc.
View Slide
!2今日はまるっと Fargate!!ついでに相性抜群の継続的デリバリー
早速 Fargate + α の紹介なんですがBlack Belt の資料がよすぎるのでそのまま一緒に読み合わせしますね!!3
!4
CI / CD パイプラインについて!5もう少しこまかい
!6CI / CD パイプラインlocalsourcerepositoryCICDstorage/ dockerrepositorycloud
!7localsourcerepositoryCI taskrunnerCDstorage/ dockerrepositorycloud• ソースコード / 各種設定の バージョン管理• 静的解析• 単体テスト• コンパイル• デプロイ• 成果物の管理• イメージ管理(・ e2e / UI テスト )• イベント制御• イベントフック• 正常 / 異常終了通知基本的な要素
!8AWS サービスでいうとlocalsourcerepositoryCI taskrunnerCDstorage/ dockerrepositorycloudCodeCommit CodeBuildECS / EKS / CodeDeploy /CloudFormationECR / S3CodePipeline
!9Input と Output の選択肢localsourcerepositoryCICDdockerrepositorystagingenvgit push• master• release• other branches• tags • dev (edge)• branch-testing• staging• UAT• productionedgeenvproductionenv
!10Input と Output の考慮ポイント例localsourcerepositoryCICDdockerrepositorystagingenvedgeenvproductionenvいつ?master ブランチだけ push?自動?本番環境だけは承認ボタン?自由?master へは直 push 禁止?テストする?e2e、UI など全環境必要?
!11例)1. master ブランチに push すると..localsourcerepositoryCICDdockerrepositorystagingenvedgeenvproductionenv
!12例)2. tag を打つと..localsourcerepositoryCICDdockerrepositorystagingenvedgeenvproductionenv
sourcerepositoryCI!13例)3. リリースを承認すると..localCDdockerrepositorystagingenvedgeenvproductionenv
ところで、ご存知ですか!14
!15ビル・ゲイツが TED で語った教師の質を上げるために必要なこととは?
フィードバックを得ること!フィードバックを 受け、現状を 正しく把握 する振り返りから改善点を学び、次に 活かす!16
フィードバックを得て、理解して、生かす!17
フィードバックを!18• もらう• 理解する• 次に生かす{
継続的デリバリーとコンテナもフィードバックのための手段!!19
!20• もらう• 理解する• 次に生かす{フィードバックをContinuous Deliveryいち早く継続的デリバリーで
フィードバックを!21• もらう• 理解する• 次に生かす{正確にFargateコンテナを使うことで
コンテナやパイプラインそのものの完成ではなくそこから フィードバックがどう得られるかが重要!!22
!23今日のハンズオンのゴールCI / CD:Docker:フィードバックサイクルの短縮再現性の向上、デプロイの汎化
!24ハンズオンの流れCloudFormationECRCodePipelineCodeBuildCodeCommitmaster に push1. 開発環境で確認Fargate (Edge)
!25ハンズオンの流れrelease にマージ2. リリース確認Fargate (Staging)CloudFormationECRCodePipelineCodeBuildCodeCommitmaster に push1. 開発環境で確認Fargate (Edge)
!26ハンズオンの流れrelease にマージ2. リリース確認Fargate (Staging)Fargate (Production)3. リリース承認CloudFormationECRCodePipelineCodeBuildCodeCommitmaster に push1. 開発環境で確認Fargate (Edge)承認ボタンクリック
では、始めましょう!!27
!28本日のお題https://github.com/jawsug-container/hands-on/blob/master/fargate/README.md
!29初歩的なことから始めたい方はhttps://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_AWSCLI_Fargate.html
Join us :)
JAWS-UG コンテナ支部!31• AWS でのコンテナ利用事例、ベストプラクティスの知見交換• 定期的な AWS / コンテナ初心者向けハンズオン• 懇親会でも熱くコンテナを語る参加者のみなさん一緒に運営、やりません?
SUPINF Inc.!32• クラウド / コンテナ 中心の コンサルティング / 環境構築 / 受託開発 / 運用• オンプレ × DGX-1 × Kubernetes 機械学習環境なども• スピンフ、と読みます