Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

!2 今日はまるっと Fargate!! ついでに相性抜群の継続的デリバリー

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

!4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

!6 CI / CD パイプライン local source repository CI CD storage / docker repository cloud

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

!8 AWS サービスでいうと local source repository CI task runner CD storage / docker repository cloud CodeCommit CodeBuild ECS / EKS / CodeDeploy /CloudFormation ECR / S3 CodePipeline

Slide 9

Slide 9 text

!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

Slide 10

Slide 10 text

!10 Input と Output の考慮ポイント例 local source repository CI CD docker repository staging env edge env production env いつ? master ブランチ だけ push? 自動? 本番環境だけは 承認ボタン? 自由? master へは 直 push 禁止? テストする? e2e、UI など 全環境必要?

Slide 11

Slide 11 text

!11 例)1. master ブランチに push すると.. local source repository CI CD docker repository staging env edge env production env

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

ところで、ご存知ですか !14

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

フィードバックを !21 • もらう • 理解する • 次に生かす { 正確に Fargate コンテナを使うことで

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

!24 ハンズオンの流れ CloudFormation ECR CodePipeline CodeBuild CodeCommit master に push 1. 開発環境で確認 Fargate (Edge)

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

では、始めましょう! !27

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

Join us :)

Slide 31

Slide 31 text

JAWS-UG コンテナ支部 !31 • AWS でのコンテナ利用事例、ベストプラクティスの知見交換 • 定期的な AWS / コンテナ初心者向けハンズオン • 懇親会でも熱くコンテナを語る参加者のみなさん 一緒に運営、 やりません?

Slide 32

Slide 32 text

SUPINF Inc. !32 • クラウド / コンテナ 中心の コンサルティング / 環境構築 / 受託開発 / 運用 • オンプレ × DGX-1 × Kubernetes 機械学習環境なども • スピンフ、と読みます