Azure系エンジニアの秋山です。
最近 Azure で Webサービスを Docker で動かす PaaS の Web App for Containers が GA となり、プレビューの頃から使っていた 立場としては嬉しい限りです。
今回は Production での導入が広がっていきそうな Docker を取り巻く Dev/Ops のサービスをまとめてみます。
Docker を取り巻く要素
Docker を使って Dev/Ops を構成するためには、
- Dockerfile を含めたリポジトリを管理するソースコード管理システム(VCS)
- Docker イメージをビルドするビルドシステム
- ビルドした Docker イメージをホスティングするホスティングサービス
の3つが必要です。
図に表すと以下のとおりです。
それぞれのサービスのポイントを書いてみます。
ソースコード管理
Visual Studio Team Service
- Git で PullRequest ベースでの開発が可
- ライセンスが MSDN サブスクリプションに付いてくるため、既に持っていれば導入しやすい
- Scrum やアジャイルに沿ったプロジェクト管理が可
GitHub
- Git で PullRequest ベースでの開発が可
- 使い慣れたエンジニアが多い(特にWeb系)
GitLab
- Git で PullRequest ベースでの開発が可
- Freeプランがある
- SaaS を利用できないポリシーに対応可
ビルド
Visual Studio Team Service
- Azure と連携しやすい
- ビルド時間課金
CircleCI
- 予約ホスト課金
- 2.0 では Docker ビルドでキャッシュを使えるため、高速化の余地がある
- 汎用ビルドのため導入にひと手間必要
Docker Hub
- GitHub と連携しやすい
- ビルドがDocker専用のため、導入が簡単
Jenkins
- SaaS を利用できないポリシーに対応可
- 他のビルドと共用できる
ホスティング
Azure Container Registry
- Azure の他のサービスと連携しやすい
- Azure と請求がまとまる
Docker Hub
- ビルドとセットでついてくる
Docker Registry
- SaaS を利用できないポリシーに対応可
最後に
いかがだったでしょうか。 今回挙げた以外にもさまざまなサービスがあります。 ISAO ではこれらを利用し、Azure 上の Docker で LAMP 環境へ移行支援 を行っております。 ご興味ありましたら以下のバナーからお問合せください。