GitHub+ ECSで快適Review環境
by
pataiji
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
GitHub + ECS で快適Review 環境 2017/07/21 JAWS-UG コンテナ支部 #9 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 2
Slide 2 text
天野太智 @pataiji 株式会社Speee リー ドエンジニア 開発基盤グルー プ 兼務 好きなAWS のサー ビス: CloudFormation, Systems Manager ( 最近娘がパパっ子になってきて嬉しい) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 3
Slide 3 text
webapp-revieee https://github.com/speee/webapp-revieee 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 4
Slide 4 text
動作イメー ジ GitHub にWebhook を登録するだけ PR 作ったら確認環境が立ち上がる 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 5
Slide 5 text
背景 Review 環境の渋滞 多数の独立したプロダクト 既存ツー ル 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 6
Slide 6 text
Review 環境の渋滞 Development / Staging / Production 複数のエンジニア / 案件 / レビュアー 声掛け運用で解決 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 7
Slide 7 text
多数の独立したプロダクト 社内に10 以上のプロダクト それぞれ独自の開発体制 全社で画一的な環境を用意するのは現 実的でない 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 8
Slide 8 text
全社共通の Review 基盤が 求められている 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 9
Slide 9 text
既存ツー ル Heroku Review Apps メンテナンスフリー 設定が圧倒的に楽 IP によるアクセス制限ができない (Enterprise は可) ミドルウェアのバー ジョンが指定不可 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 10
Slide 10 text
既存ツー ル Paus https://github.com/dtan4/paus Docker Swarm ベー ス docker-compose.yml を用意してgit push するとcontainer が立ち上がる Docker Swarm の管理が必要 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 11
Slide 11 text
ECS ベー スで実装しよう 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 12
Slide 12 text
実装面 ( とツラみ) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 13
Slide 13 text
EC2 1 台 Nginx Ruby on Rails ECS + SpotFleet ECR 全体構成 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 14
Slide 14 text
ECS + SpotFleet 必要そうなリソー スをざっくり見積も って運用 落ちても大きな問題がない環境なので あまり気を使っていない 今後AutoScale するようにしていく 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 15
Slide 15 text
PR 作成時のワー クフロー 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 16
Slide 16 text
ブランチ指定してTask を実行 PR にhook して指定したブランチの最新のcommit をpull してきてTask を起動したい ECS はTaskDe nition でImage を指定するのでTask 起動時にImage を変更することはできない 悩んだ結果 ENTRYPOINT で頑張ることに 漂うコレジャナイ感 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 17
Slide 17 text
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 18
Slide 18 text
ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 19
Slide 19 text
ワー クフロー(Review 環境アクセス時) 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 20
Slide 20 text
ホストベー スルー ティング Task へのアクセスポー トは動的に変化 Nginx(OpenResty) + MySQL で動的にproxy 初回アクセス時のみMySQL にアクセスし以降はキ ャッシュ Paus はVulcand を使用しているそう 漂うガンバッテル感 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 21
Slide 21 text
ホストベー スルー ティング 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 22
Slide 22 text
ECS を選んで思うこと やりたいことを比較的簡単に実現することが できた クラスタ管理はほとんど考える必要がない ので考えることが少なく済んだ Task 起動時にImage のTag を変更したい...! docker-compose.yml をAPI に投げられると嬉 しい 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 23
Slide 23 text
最後に webapp-revieee はまだまだβ もう少しでCFn 一発で環境が立ち上がる状態にでき そう いい感じになったらブログ(http://tech.speee.jp/) とかで告知すると思います 使ってみてFB いただけると嬉しいです...! 2017/07/21 JAWS-UG コンテナ支部 #9
Slide 24
Slide 24 text
ありがとうございました 2017/07/21 JAWS-UG コンテナ支部 #9