Azureエンジニアから見たDockerを取り巻くDevOpsサービスのまとめ

Azure系エンジニアの秋山です。

最近 Azure で Webサービスを Docker で動かす PaaS の Web App for Containers が GA となり、プレビューの頃から使っていた 立場としては嬉しい限りです。

今回は Production での導入が広がっていきそうな Docker を取り巻く Dev/Ops のサービスをまとめてみます。

Docker を取り巻く要素

Docker を使って Dev/Ops を構成するためには、

  • Dockerfile を含めたリポジトリを管理するソースコード管理システム(VCS)
  • Docker イメージをビルドするビルドシステム
  • ビルドした Docker イメージをホスティングするホスティングサービス

の3つが必要です。

図に表すと以下のとおりです。

docker-devops-service

それぞれのサービスのポイントを書いてみます。

ソースコード管理

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 環境へ移行支援 を行っております。 ご興味ありましたら以下のバナーからお問合せください。

LAMP環境のAzure PaaS移行支援 くらまね for Azure