IT部門もアジャイル、DevOpsで行こう【第2回】
アプリケーションの開発と運用を加速するDockerとPaaS、両者の違いは?(3/3 ページ)
PaaSとDockerの違い
これまで見てきたDockerは、Dockerが提供する一ソフトウェアを指していた。対して、これから取り上げるPaaSは、特定のサービスではなくカテゴリである。
プラットフォームという言葉が指す範囲は非常に広い。例えば、データベースを提供するDBaaSや、モバイル向けのバックエンドを提供するmBaaSも広義のPaaSであるといえる。だが、今回はアプリケーションの実行環境を提供するサービス、アプリケーションPaaS(狭義のPaaS。aPaaSと呼ばれることもある)について解説する。
有名なPaaSとしては、Salesforce.comの「Heroku」やGoogleの「Google App Engine」(GAE)、Microsoftの「Azure App Service」といったサービスの他、Cloud Foundry Foundationが開発するOSSのPaaS「Cloud Foundry」が挙げられる。
これら多くのサービスに共通しているのは「コードを書いてデプロイさえすれば、あとは全てPaaSが行ってくれる」という点である。ここでは一例としてCloud Foundryの仕組みをみてみよう。
デプロイから運用までを自動化するPaaS
Cloud Foundryはcfコマンドと呼ばれるCLIツールを利用してアプリケーションのデプロイを行う。静的コンテンツが保存されているディレクトリに移動して、以下のようなコマンドを実行する
このコマンド1つだけで自動的にデプロイが始まり、完了するとURLが表示される。Webブラウザでアクセスすると、無事静的コンテンツがデプロイされていることが分かる。この時点で、既にインターネットからアクセスできる状態になっている。
デプロイしたコマンドを見れば分かるように、このコードがどんな言語で書かれているかといった情報すら与えていない。それにもかかわらず、Cloud Foundryは自動的に言語を判別し、適した環境をセットアップしてくれる。一体どのような仕組みになっているのか。
それを実現しているのが「Buildpack」だ。もともとはHerokuによって開発されたもので、任意の言語やフレームワークの環境構築を行うことができる仕組みだ。Cloud FoundryもHeroku互換のBuildpackを利用することができる。
ユーザーがアプリケーションを実行すると、Buildpackが備える言語検出の仕組みが実行される。言語を特定することができたら、次はその言語に適した環境を構築するスクリプトが実行され、最終的にはアプリケーションと、その実行に必要なミドルウェアまで含めた一式のイメージが出来上がる。
このBuildpackとイメージの関係は、Docker imageとDockerfileの関係を想像すると理解しやすいだろう。仕組みは異なるが、似たような機能を担う関係になっている。
イメージが出来上がると、PaaSはそれを実行ノードにコピーし、アプリケーションの起動を行う。また同時に、ロードバランサーなどインターネットに公開するのに必要な設定も自動で行う。実行ノードには死活監視の仕組みやログ収集の仕組みがあらかじめ備えられており、アプリケーションの実行と同時にそれらも利用することが可能になる。
このように、デプロイから運用に必要な環境の整備まで、全てを肩代わりしてくれるのがPaaSである。
DockerもPaaSも、DevOpsを推し進めアプリケーションのリリースサイクルを速める仕組みだが、そのアプローチは全く異なるということがお分かりいただけるだろうか。
Dockerは、コンテナ技術とデプロイ自動化ツールの組み合せによって、開発と運用をうまく橋渡しするような仕組みを提供している。しかし、これまで同様に運用は運用者が行っていかなくてはならない。
PaaSは、運用に必要な環境や仕組みまで全てを提供してくれる。いわば、運用者を不要にしてしまうという考えの下に作られている。その代わり、その中身は隠蔽(いんぺい)され、デプロイしたコードがどのように環境整備され、実行されているのかすら、うががい知ることが難しい。むしろ、知る必要がない。
DockerとPaaSの仕組みと違いを見てきたが、誤解しないでいただきたいのは、両者は「DockerかPaaSか」という対立関係にあるわけではない点だ。実際にはDockerとPaaSを組み合わせて利用する場合もあれば、DockerをベースにしたPaaSというものも登場しつつある。
次回は、Dockerを取り巻くエコシステムと、Dockerを取り込むことで新たなステージに進みつつあるPaaSについて解説する。
草間一人(くさま かずと)
ICT企業でPaaSの開発を主導。その傍らで、古今東西さまざまなPaaSとその関連技術を扱う勉強会「PaaS勉強会」を主宰。また、日本Cloud Foundryグループの理事も務める。
Copyright © ITmedia, Inc. All Rights Reserved.
IT部門もアジャイル、DevOpsで行こう
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
2
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
「データストレージの活用方法」に関するアンケート
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー