Docker/OpenShiftで実現する「プライベートPaaS」の全体像
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「 Docker/OpenShiftで実現する「プライベートPaaS」の全体像」を公開しました。
はじめに
本コラムでは、これまでに何度か「Docker」の役割について触れてきました。たとえば、「第80回 OpenStackとDockerの未来像(その1)」では、アプリケーション実行環境をイメージ化することで、本番環境へのアプリケーションデプロイを安全かつ効率的に実施するという使い方を紹介しました。しかしながら、その一方で、開発したアプリケーションをイメージ化するという作業も考えておく必要があります。この際、アプリケーションの開発環境そのものをDockerで提供することにより、開発したアプリケーションをそのままイメージ化して本番環境に展開するという流れを考えることができます。
もともと、Dockerは、dotCloud社がパブリックのPaaSサービスを実現する技術として開発を始めたものですので、アプリケーションの開発環境としてDockerを利用する、すなわち、DockerでプライベートなPaaS環境を実現するというのは、自然な発想と言えるでしょう。今回は、OpenShiftを例にして、Dockerで実現するプライベートPaaSの全体像を解説したいと思います。
Dockerが解決を目指したPaaSの課題
まず、図1は、一般的なPaaSの利用形態です。事前に用意されたテンプレートから、必要な開発環境を選んでクラウド上にデプロイした後に、そこでアプリケーションの開発を進めていきます。開発したコードをコードリポジトリーにPushするとクラウド上の環境にデプロイされるので、そこで稼働確認を行っていきます。
fig01
図1 一般的なPaaSの利用形態
個人の趣味でアプリケーションを開発する程度であれば、これで十分ですが、長期的にアプリケーション開発を継続する上では、図2のような課題への対処も考える必要があります。
fig02
図2 一般的なPaaSの課題
特にパブリックのPaaSサービスで課題になりやすい点としては、テンプレートの開発/メンテナンスがあげられます。一般企業の業務アプリケーション開発であれば、それぞれの企業に固有の開発環境をテンプレート化して、さらにそのテンプレートをメンテナンスしていく必要があります。開発実施中のプロジェクトで、ライブラリーのバージョンアップなど、環境のアップデートが必要になることもあります。
開発環境をDockerでイメージ化して提供することにより、このような問題に対処しようというのが、Dockerを利用したプライベートPaaSの目標となります。さらに、開発が終わってすべてのテストが完了したアプリケーションをそのままイメージ化すれば、本番環境にデプロイ可能なイメージを用意するという、冒頭で触れた課題も解決できることになります。
OpenShiftが実現するPaaSの全体像
このような、Dockerを用いたプライベートPaaSを実現するオープンソースがOpenShiftです。OpenShiftが提供するPaaS環境の全体像を1つの絵にまとめると、図3のようになります。図の左下が従来のPaaSに相当する部分で、アプリケーションの開発者から見ると、テンプレートから必要な環境を選んでアプリケーションを開発するという、今まで通りの使い方が可能です。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai/nakai83.html
ソーシャルもやってます!