一方、開発部門は、アプリケーションの要件ごとに様々なOS環境が必要になる場合があります。例えば、CentOSで動くサーバ用のアプリケーションや、Ubuntu(ウブンツ)と呼ばれるLinux OSで稼働可能な開発用のアプリケーションなどの同時利用が必要になることもあります。アプリケーションの種類によって、利用できるLinux OSのバージョンが異なることも多く、アプリケーションの種類やバージョンの数だけ開発環境を利用したいというニーズも少なくありません。
そのようなアプリケーション開発のための複数のOS環境と開発ツールを用意する手間は、IT部門がDockerfileを使って事前にビルドした開発環境を含むDockerイメージによって大幅に削減できます。また、Docker環境では、開発用のソフトウェアを含んだ様々なOSバージョンの雛形がDockerイメージとしてインターネット経由で簡単に入手することができ、すぐにコンテナとして稼働させることができます。
さらに、開発者は、アプリケーションの開発において、修正を加えるたびに、新しいDockerイメージを複数保管できます。これにより、開発用のさまざまなOS環境をDockerコンテナとして切り替えてテストすることも可能です。このため、開発者は、本業ではないOSのインストール作業といった煩雑な作業から開放され、アプリケーションの開発に専念する時間を増やすことができ、結果的に開発期間の短縮につながるのです。

開発部門の開発者にとってのメリット
ITシステムの開発手法においては、前世紀から広く行われているウォーターフォールモデル型開発から、開発者とIT運用管理部門が協力しながら開発と実装を行う「DevOps」(Development and Operations)と呼ばれる手法が浸透してきています。特に、Dockerにおいて、アプリ開発者があまり好まない「ITインフラ配備」の大幅な省力化が可能となる点は見逃せません。
アプリ開発者にとってITインフラの配備、すなわち、物理サーバの調達から、OSのインストール、ミドルウェア環境設定などは、自身のアプリ開発の工数を切迫するため、あまりやりたくありません。しかし、Docker環境があれば、Dockerコミュニティがインターネット上で公開しているOS環境のひな形と開発環境がセットになったDockerイメージをダウンロードし、すぐに稼働させることができます。
本番のサーバ環境だけでなく、開発者の手元にある1つのOS環境の上で、さまざまな種類のLinux OS環境を試すことができます。DockerfileによるDockerイメージ作成の自動化技術によって、OS環境と開発した独自のアプリケーションを簡単にパッケージ化できます。開発環境から本番環境への適用も非常に容易に実施できるのです。
- 古賀政純
- 日本ヒューレットパッカード オープンソース・Linuxテクノロジーエバンジェリスト
兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバのSE及びスーパーコンピュータの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレットパッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は、日本ヒューレットパッカードにて、Linux、FreeBSD、Hadoop、Dockerなどのサーバ基盤のプリセールスSE、文書執筆を担当。Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「Docker実践ガイド」「OpenStack 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。