Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

342 views

Published on

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

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

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

  1. 1. au Webポータル デプロイ・ジャーニー mediba Inc. Yasufumi Moritake 2019.4.17 BIT VALLEY -INSIDE- Vol.8
  2. 2. アジェンダ • 自己紹介 • デプロイ? • バックエンド(BE) デプロイ • フロントエンド(FE) デプロイ • まとめ
  3. 3. 自己紹介 • 森竹 泰文(Yasufumi Moritake) • yasufumi.moritake @moriyasu0410 • 静岡市出身🍵🍊 • mediba Inc. • エンジニア • カイゼン・ジャーニー係 • Scrum Inc. 認定スクラムマスター(LSM) • BIT VALLEY -INSIDE- 運営
  4. 4. 会社概要 • 社名:株式会社 mediba • 設立:2000年12月6日 • 本社:東京都港区六本木3-2-1 住友不動産六本木グランドタワー39F/8F • 従業員:431名(※2018年7月現在)
  5. 5. デプロイ?
  6. 6. デプロイ? • 各種アプリケーションモジュールを実際に使用され る環境に配備することをアプリケーションデプロイ メントと呼ぶ ソフトウェアデプロイメント https://ja.wikipedia.org/wiki/ソフトウェアデプロイメント
  7. 7. バックエンド(BE) デプロイ
  8. 8. BE • バッチアプリケーション • ECS(Fargate) • fetch-and-run • ECS(Fargate)がジョブ を実行 • fetch_and_run.sh が 実行され、AWS S3 から myjob.sh を取得 • myjob.sh を実行
  9. 9. BE mediba Advent Calendar 2018 20日目 バッチのアーキテクチャジャーニー https://adventar.org/calendars/3315#list-2018-12-20
  10. 10. フロントエンド(FE) デプロイ
  11. 11. FE • Webアプリケーション • ECS(Fargate) • Server/API • Node.js + pm2
  12. 12. ECS(Fargate)デプロイ手法 • Amazon ECS CLI • AWS Cloud Development Kit(AWS CDK) • AWS CodePipeline • Deployfish • ECS Deploy • mu
  13. 13. ECS(Fargate)デプロイ手法 • Amazon ECS CLI • AWS Cloud Development Kit(AWS CDK) • AWS CodePipeline • Deployfish • ECS Deploy • mu ベストプラクティスはなさそう
  14. 14. クネビンフレームワーク • Complex(複雑) • 反復活動を繰り返し、得られる フィードバックをもとに技法や手法が 出現する • Complicated(煩雑) • 専門家によるグッドプラクティスが 適用可能 https://en.wikipedia.org/wiki/Cynefin_framework
  15. 15. AWS CodePipeline
  16. 16. AWS CodePipeline? • Amazon ECS CLI • やりたいこと出来ない • AWS Cloud Development Kit(AWS CDK) • β版 • AWS CodePipeline 🎉 • Deployfish • 公式ではない • ECS Deploy • 公式ではない • mu • 公式ではない
  17. 17. AWS CodePipeline
  18. 18. AWS CodePipeline • Pipeline • Source Stage • Amazon S3 • Build Stage • BuildAPI • BuildServer • DeployAPI Stage • Deploy API • DeployServer Stage • Deploy Server
  19. 19. デプロイ 課題 • デプロイ時間 • ロールバック時間
  20. 20. デプロイ 時間 • 20分…😱
  21. 21. デプロイ 時間 • 20分…😱 • Build : 6分 • DeployAPI : 7分 • DeployServer : 7分 • Travis CI 実行時間を入れればもっと…
  22. 22. ロールバック 時間 • デプロイ時間と同じ 20分…😂
  23. 23. デプロイ カイゼン
  24. 24. Build • BuildKit • docker:18.09.0 から使える • BUILDが30倍早くなる(こともある) • DOCKER_BUILDKIT=1 • Done • 若干 早くなった❗️
  25. 25. Build • イメージサイズ軽量化 • 廃棄処理 • multi-stage build • 成果物のみをイメージに保存する • Doing…
  26. 26. Build • Blue/Green Deployment • Source Stage • Amazon Code Commit の場合は動いたが、 Amazon S3 の場合は Exception/Internal Error となり試行錯誤中… • Doing…
  27. 27. デプロイアーキテクチャ • Build までは事前 • Server/APIを個別にデプロイする • Slack • ToDo
  28. 28. まとめ
  29. 29. • AWS CodePipeline • Better, Faster, Safer, Happier
  30. 30. デプロイ・ジャーニーは続く…
  31. 31. https://www.mediba.jp/
  32. 32. ありがとうございました🍺

×