Dockerの公式サイト内でDocker社の顧客一覧が公開されていますので、ここからいくつか抜粋して導入実績を紹介します。
- GROUPON(フラッシュマーケティング、共同購入型クーポンサイトの運営)アプリケーション配信とメンテナンスの効率化にDockerを利用。
- PayPal(決済代行サービス)開発、検証環境から本番環境への素早い展開にDockerを利用。
- Yelp(口コミ・ローカルビジネスレビューサイト)
継続的インテグレーションの品質向上と、4倍の開発速度向上をDockerで実現。 - ING(銀行、保険、資産運用業務などを展開する総合金融機関)
Dockerを利用することで、1週間で1,500もの更新を行う継続的インテグレーションを実現。(参考PDF)
(Photo by:R/DV/RS) - Uber(タクシー・配車サービス)
Dockerで新規開発者を加速。既存のアプリケーションをDockerで動作するマイクロサービスに置き換え。 - Baidu(中国最大手の検索エンジンサービス)
独自PaaS(Baidu App Engine)の構築にDockerを利用。
(参考URL)
こうしてみると、大規模開発における継続的インテグレーションの実現と、既存アプリケーションを分割してマイクロサービスアーキテクチャに移植する流れの中でDockerコンテナが利用されています。また開発環境構築にDockerを利用して新規開発者を素早く稼働させるのに向いています。
どこまでが本当なのか不明ですが、品質が上がって開発が速くなったとの実績紹介を多く目にします。マイクロサービスアーキテクチャとDockerの相性がとても良いようです。
日本国内でのDocker事例紹介
Dockerが話題になり始めたのは2013年頃です。今は2015年で、この間にDockerはマイナーな存在から一躍メジャーな存在に変貌しました。日本国内企業のSlideShareやブログで公開されている事例・実績を紹介して行きます。
株式会社リクルートテクノロジーズ
リクルートポイントの開発で、DockerとClojureを使い開発環境の提供に10日かかっていたのを10分にまで短縮した事例です。
データベースのOracleやバッチスケジューラーのJP1などはDockerコンテナにせず、アプリケーションサーバーやKVSのRedisをDockerコンテナにしています。
全部入りの1環境1コンテナ、最少単位の1プロセス1コンテナではなく、ロールモデルでのコンテナを採用しています。
株式会社ワークスアプリケーションズ
Jenkinsを使ったCI環境(継続的インテグレーション)の再構築にDockerを利用した事例です。複数バージョンのアプリケーション保守を行うのに、ソースコードに対応したバージョン別の環境を準備してテストを実行することで、バージョン別の実行環境の差異によるトラブルを解決しています。
開発環境もバージョン別にDockerでパッケージングしてDockerレジストリからPullして利用する方法が説明されています。
複数拠点、複数バージョンでの開発を行う組織でDockerを利用する知識・経験が詰まっています。
KLab株式会社
http://klabgames.tech.blog.jp.klab.com/archives/1034190238.html
モバイルゲームのローカル開発環境構築にDockerを利用した事例です。VMイメージの配布からDockerコンテナの利用に切り替えを行っています。
エディタやシェルなどの開発者個人が好みで利用する環境と、アプリケーションの実行環境が分離されてスッキリしている印象です。
VMイメージの場合はアプリケーション実行環境以外も全て同梱されているため便利な反面、受け取り側よっては使いづらい事もあります。共有範囲が実行環境に限定されていれば、VMイメージのように元利用者(設定者)個人の設定が混ざる事もありません。
別アプリケーションの開発を行うため別VMイメージを起動した時に、切り替え前のVMイメージで設定していた内容が、切り替え後のVMイメージには反映されていないのでイライラする現象も防げそうです。
Wantedly
https://speakerdeck.com/spesnova/docker-meetup-tokyo-number-4-docker-at-wantedly
Ruby On Railsで作られたアプリケーションをHerokuからAWS+Dockerに移行した事例です。具体的に利用しているツールが明記してあります。
Herokuに東京リージョンがない理由から、東京リージョンがあるAmazon EC2への移行を行っています。HerokuはRuby On Rails に対応したPaaSですので、PaaSの利用を止めて、AWSを利用したクラウド環境+Dockerへの移行を行ったケースになります。
PaaSは便利ですが機能面での制約があります。パフォーマンスを上げる、オプションを追加すると料金が一気に高くなる事も多くあります。
新しく環境構築が必要になりますが、サービスの規模に合わせてこの事例のように自分たちで準備した環境+Dockerに移行するケースは多くありそうです。
Dockerのパートナー企業
Dockerは登場したばかりの新興企業ですが、アライアンスパートナーにクラウド・ITの大手各社の名が並びます。
以下にDocker対応のプラットフォームを提供しているクラウドプロバイダーを列挙します。各社のDockerへの対応状況はURL先をご確認ください。
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
- Rackspace
- Deis※DeisはDockerとCoreOSで作られたオープンソースのPaaSです。
- IBM
以下、テクノロジーパートナーです。
- Fedora
- HP(ヒューレットパッカード)
- Microsoft
- OpenStack
- RedHat
- Nirmata
- Canonical
他にコンサルティングパートナー企業、トレーニングパートナー企業が並びます。
Dockerのサードパーティーツール
Dockerには操作・管理を行うサードパーティー制のツールが多数あります。Docker本体にコマンドラインとAPIが備わっていますが、運用上必要になる監視機能などの便利なツールをサードパーティーが公開しています。ここでは良く利用されるサードパーティー制ツールを紹介します。
- Kubernetes– Googleが開発したコンテナ管理とスケジューリングツール
- hMESOS– Apacheが開発したコンテナ管理とスケジューリングツール
- OpenShift– RedHatが開発したPaaSプラットフォーム。
- Dais– Daisが開発したPaaSプラットフォーム。
またインテグレーションも活発に行われており、CIツール(CircleCI、TravisCIなど)やプロジェクト管理ツール(Bitbucketなど)、モニタリングツール(Prometheus、Zabbixなど)からDockerを利用できます。
Docker関連ツールについての詳細はawesome-docker(https://github.com/veggiemonk/awesome-docker)に良くまとまっていますので、こちらをご参照ください。
Dockerの実績についてまとめ
Dockerには十分な実績があり多くの企業で導入されています。これからますます事例が増えていくことが想定されます。2015年時点で、既に欠かせないインフラの1つとして認識されつつあります。
サービス・組織規模の大小を問わず利用されていますので、導入に奥手になる心配は無さそうです。Dockerが向いている用途であれば積極的に導入して問題ありません。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments