au Webポータル デプロイ・ジャーニー

112 Views

April 18, 19

スライド概要

au Webポータル デプロイ・ジャーニー

profile-image

Slideshare から移行しました。 https://www.slideshare.net/yasufumimoritake

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

au Webポータル デプロイ・ジャーニー mediba Inc. Yasufumi Moritake 2019.4.17 BIT VALLEY -INSIDE- Vol.8

2.

アジェンダ • • • • • 自己紹介 デプロイ? バックエンド(BE) デプロイ フロントエンド(FE) デプロイ まとめ

3.

自己紹介 • 森竹 泰文(Yasufumi Moritake) • yasufumi.moritake @moriyasu0410 • 静岡市出身🍵🍊 • mediba Inc. • エンジニア • カイゼン・ジャーニー係 • Scrum Inc. 認定スクラムマスター(LSM) • BIT VALLEY -INSIDE- 運営

4.

会社概要 • • • • 社名:株式会社 mediba 設立:2000年12月6日 本社:東京都港区六本木3-2-1 住友不動産六本木グランドタワー39F/8F 従業員:431名(※2018年7月現在)

6.

デプロイ?

7.

デプロイ? • 各種アプリケーションモジュールを実際に使用され る環境に配備することをアプリケーションデプロイ メントと呼ぶ ソフトウェアデプロイメント https://ja.wikipedia.org/wiki/ソフトウェアデプロイメント

8.

バックエンド(BE) デプロイ

9.

BE • • • バッチアプリケーション ECS(Fargate) fetch-and-run • • • ECS(Fargate)がジョブ を実行 fetch_and_run.sh が 実行され、AWS S3 から myjob.sh を取得 myjob.sh を実行

10.

BE mediba Advent Calendar 2018 20日目 バッチのアーキテクチャジャーニー https://adventar.org/calendars/3315#list-2018-12-20

11.

フロントエンド(FE) デプロイ

12.

FE • • Webアプリケーション ECS(Fargate) • Server/API • Node.js + pm2

13.

ECS(Fargate)デプロイ手法 • • • • • • Amazon ECS CLI AWS Cloud Development Kit(AWS CDK) AWS CodePipeline Deployfish ECS Deploy mu

14.

ECS(Fargate)デプロイ手法 • • • • • • Amazon ECS CLI AWS Cloud Development Kit(AWS CDK) AWS CodePipeline Deployfish ECS Deploy mu ベストプラクティスはなさそう

15.

クネビンフレームワーク • Complex(複雑) • • 反復活動を繰り返し、得られる フィードバックをもとに技法や手法が 出現する Complicated(煩雑) • 専門家によるグッドプラクティスが 適用可能 https://en.wikipedia.org/wiki/Cynefin_framework

16.

AWS CodePipeline

17.

AWS CodePipeline? • • Amazon ECS CLI • やりたいこと出来ない AWS Cloud Development Kit(AWS CDK) • β版 • AWS CodePipeline 🎉 • Deployfish • 公式ではない ECS Deploy • 公式ではない mu • 公式ではない • •

18.

AWS CodePipeline

19.

AWS CodePipeline • Pipeline • Source Stage • Amazon S3 • Build Stage • BuildAPI • BuildServer • DeployAPI Stage • Deploy API • DeployServer Stage • Deploy Server

20.

デプロイ 課題 • • デプロイ時間 ロールバック時間

21.

デプロイ 時間 • 20分…😱

22.

デプロイ 時間 • • 20分…😱 • Build : 6分 • DeployAPI : 7分 • DeployServer : 7分 Travis CI 実行時間を入れればもっと…

23.

ロールバック 時間 • デプロイ時間と同じ 20分…😂

24.

デプロイ カイゼン

25.

Build • BuildKit • docker:18.09.0 から使える • BUILDが30倍早くなる(こともある) • DOCKER_BUILDKIT=1 • Done • 若干 早くなった❗️

26.

Build • イメージサイズ軽量化 • 廃棄処理 • multi-stage build • 成果物のみをイメージに保存する • Doing…

27.

Build • Blue/Green Deployment • Source Stage • Amazon Code Commit の場合は動いたが、 Amazon S3 の場合は Exception/Internal Error とな り試行錯誤中… • Doing…

28.

デプロイアーキテクチャ • Build までは事前 Server/APIを個別にデプロイする Slack • ToDo • •

29.

まとめ

30.

• • AWS CodePipeline Better, Faster, Safer, Happier

31.

デプロイ・ジャーニーは続く…

32.

https://www.mediba.jp/

34.

ありがとうございました🍺