AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers

AWS Fargate + Code 兄弟で始める継続的デリバリー / Continuous Delivery with AWS Fargate and Code brothers

JAWS-UG コンテナ支部 入門編 #5 の資料です

1e5a15f4dc65c207a04a1e82a3f92e92?s=128

ryo nakamaru

July 30, 2018
Tweet

Transcript

  1. + Code 兄弟で始める継続的デリバリー AWS Fargate JAWS-UG コンテナ支部 入門編 #5 July

    30, 2018 Ryo NAKAMARU, SUPINF Inc.
  2. !2 今日はまるっと Fargate!! ついでに相性抜群の継続的デリバリー

  3. 早速 Fargate + α の紹介なんですが Black Belt の資料がよすぎるので そのまま一緒に読み合わせしますね! !3

  4. !4

  5. CI / CD パイプラインについて !5 もう少し こまかい

  6. !6 CI / CD パイプライン local source repository CI CD

    storage / docker repository cloud
  7. !7 local source repository CI task runner CD storage /

    docker repository cloud • ソースコード  / 各種設定の  バージョン管理 • 静的解析 • 単体テスト • コンパイル • デプロイ • 成果物の管理 • イメージ管理 (・ e2e / UI テスト ) • イベント制御 • イベントフック • 正常 / 異常終了通知 基本的な要素
  8. !8 AWS サービスでいうと local source repository CI task runner CD

    storage / docker repository cloud CodeCommit CodeBuild ECS / EKS / CodeDeploy /CloudFormation ECR / S3 CodePipeline
  9. !9 Input と Output の選択肢 local source repository CI CD

    docker repository staging env git push • master • release • other branches • tags • dev (edge) • branch-testing • staging • UAT • production edge env production env
  10. !10 Input と Output の考慮ポイント例 local source repository CI CD

    docker repository staging env edge env production env いつ? master ブランチ だけ push? 自動? 本番環境だけは 承認ボタン? 自由? master へは 直 push 禁止? テストする? e2e、UI など 全環境必要?
  11. !11 例)1. master ブランチに push すると.. local source repository CI

    CD docker repository staging env edge env production env
  12. !12 例)2. tag を打つと.. local source repository CI CD docker

    repository staging env edge env production env
  13. source repository CI !13 例)3. リリースを承認すると.. local CD docker repository

    staging env edge env production env
  14. ところで、ご存知ですか !14

  15. !15 ビル・ゲイツが TED で語った 教師の質を上げるために必要なこととは?

  16. フィードバックを得ること! フィードバックを 受け、現状を 正しく把握 する 振り返りから改善点を学び、次に 活かす !16

  17. フィードバックを 得て、理解して、生かす !17

  18. フィードバックを !18 • もらう • 理解する • 次に生かす {

  19. 継続的デリバリーとコンテナも フィードバックのための手段! !19

  20. !20 • もらう • 理解する • 次に生かす { フィードバックを Continuous

    Delivery いち早く 継続的デリバリーで
  21. フィードバックを !21 • もらう • 理解する • 次に生かす { 正確に

    Fargate コンテナを使うことで
  22. コンテナやパイプラインそのものの完成ではなく そこから フィードバックがどう得られるかが重要! !22

  23. !23 今日のハンズオンのゴール CI / CD: Docker: フィードバックサイクルの短縮 再現性の向上、デプロイの汎化

  24. !24 ハンズオンの流れ CloudFormation ECR CodePipeline CodeBuild CodeCommit master に push

    1. 開発環境で確認 Fargate (Edge)
  25. !25 ハンズオンの流れ release にマージ 2. リリース確認 Fargate (Staging) CloudFormation ECR

    CodePipeline CodeBuild CodeCommit master に push 1. 開発環境で確認 Fargate (Edge)
  26. !26 ハンズオンの流れ release にマージ 2. リリース確認 Fargate (Staging) Fargate (Production)

    3. リリース承認 CloudFormation ECR CodePipeline CodeBuild CodeCommit master に push 1. 開発環境で確認 Fargate (Edge) 承認ボタンクリック
  27. では、始めましょう! !27

  28. !28 本日のお題 https://github.com/jawsug-container/hands-on/blob/master/fargate/README.md

  29. !29 初歩的なことから始めたい方は https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ECS_AWSCLI_Fargate.html

  30. Join us :)

  31. JAWS-UG コンテナ支部 !31 • AWS でのコンテナ利用事例、ベストプラクティスの知見交換 • 定期的な AWS /

    コンテナ初心者向けハンズオン • 懇親会でも熱くコンテナを語る参加者のみなさん 一緒に運営、 やりません?
  32. SUPINF Inc. !32 • クラウド / コンテナ 中心の コンサルティング /

    環境構築 / 受託開発 / 運用 • オンプレ × DGX-1 × Kubernetes 機械学習環境なども • スピンフ、と読みます