【勉強会メモ】MonotaRO TechTalk #5「Docker」
日時:2017年8月8日(火) 19:30〜21:30 場所:株式会社MonotaRO 本社
①Rancherで開発、リリース、運用のサイクルを回す
※例によって遅刻してしまったため途中からのメモになります。
発表者:Rancher Labs 新藤洋介氏
DevOpsとDockerとマイクロサービスでイノベーション
各社の事例
Rancherについて
- Docker上でコンテナ管理するツール
- RancherサーバとRancherエージェント
- インフラは何でも良い
情報収集:
- 日本のRancherの参考資料
- Slackコミュニティ
- 200人くらい
- デモ環境
②AWSでDockerを運用するためのマネージドサービスたち
発表者:金谷 敦志氏 @todogzm
会場アンケート
- Docker使っている…半分くらい
- AWSを使っている…3/1くらい
モノタローのDocker運用範囲
- データ分析の基盤構築
- 開発環境構築
- ツールの検証とテスト運用
基本的にAWSを使用、それ以外のツールは使われていない
- ビルド手動
- デプロイ手動
- デプロイメントパイプライン⇒×
⇒Docker運用を快適にするためにマネジメントサービスを活用する
1.Develop
AWS CodeCommit
- Gitのリポジトリ管理
- PR機能は無い
- BitBucket⇒CodeBuildでの必要性
2.Build
CodeBuild
- クラウド内でコードをビルド/テストできる
- ビルドサーバ不要
- Dockerイメージを含む各種言語のコードビルド
buildspec.yml
を書いてビルドする(またはコマンド指定)- ビルドに特化
- ビルドトリガーはもたない(WebHookがきてビルドみたいなことはできない)
- Dockerイメージのビルドは遅め
- ビルドサーバを管理しなくていい
3.Package
ECR(EC2 Container Registry)
- Dockerイメージ管理
- DockerHubと比較して
- イメージ管理のみ
- 安定している
4.Build〜Test
CodePipeline
- 継続的デリバリーを実現
- ビルドトリガー機能
- アクションと成果物の管理
- 並列処理・やり直しも簡単
- ステージ単位
- 大まかな処理
- リトライの単位
- ステージ内にアクションを設定
- ステージ単位
- Jenkinsと比較
- デプロイメントパイプラインに特化
- パイプライン管理サーバのメンテナンスをしなくていい
5.Deploy/Upgrade
ECS(EC2 Container Service)
- コンテナ管理
- クラスタリング構成の管理を吸収
- ECSを理解するキーワード
- ブルーグリーンデプロイメント
6.Operate
CloudWatch
- AWSリソースやログのモニタリング
- アラート送信
Docker開発ワークフロー
- 開発環境…ブランチごとにCI
- リリース方法⇒マージとともにリリース
- 環境の調達
- Cloud Formationを使うと捗る