クラウドを取り巻く環境の変化 ここ数年でクラウドをめぐる状況は一変しました。提供されるサービスも多様化し、もはや「ITのサービス化」の流れには、あらがえない時代となっています。それに伴い、日本でもクラウドを導入したり導入を検討している企業も増えてきています。CNET Japanの「...
クラウドを取り巻く環境の変化
ここ数年でクラウドをめぐる状況は一変しました。提供されるサービスも多様化し、もはや「ITのサービス化」の流れには、あらがえない時代となっています。
それに伴い、日本でもクラウドを導入したり導入を検討している企業も増えてきています。
CNET Japanの「クラウドみんなのかわら版」では、CNET Japanの読者を対象に実施した「クラウド導入に関する意識調査(2012年2月6日~2012年3月15日)を公表しています。ここでも、「クラウドを導入(一部導入も含む)している」または「導入を検討している」と回答した企業は全体の54%となっており、「導入の予定はない」と回答した企業(全体の46%)を上回るなど、SaaS、IaaS/HaaS(パブリック/プライベート)を中心に関心の高さが伺える結果となっています。
実際に当社のお客様との会話の中で、数年前にはパブリッククラウドのセキュリティリスクに対する悲観的な意見を聞くことが多かったのですが、最近では実際に導入したときにセキュリティをどう担保できるのかといった、クラウド導入を前提としたポジティブな意見が増えてきました。
その背景には、利用者の増加だけではなく、クラウドベンダーやネットワークベンダーが専用線サービスなどのセキュリティ対策のサービスを開始したことや、クラウド向けの保険(例:自社に非のない情報漏えいなどに対応するクラウド向けの保険)なども出てきて安心感が増してきたこともあります。
PaaSの現状と問題点
SaaS、IaaS/HaaSを導入または検討する企業が増えている一方で、PaaSの領域については、なかなか導入が増えていないのが現状です。
このことは前述のCNET Japan「クラウドみんなのかわら版」のクラウド導入に関する意識調査からも明らかになっています。クラウドを既に導入していると答えた企業の中でPaaSを利用していると回答した企業は全体のわずか10%に留まっており、SaaSの49%、IaaS/HaaS (プライベートクラウド)の45%と比較しても利用率が低い結果となっています。
この問題の背景にはPaaSで何ができるのかということをユーザー企業がイメージしづらいという点があります。Force.comのようにSaaSと密接なPaaSを除けば、一般的にはASPやホスティングサービスの延長と考えられるSaaSやIaaS/HaaSと違って、実際の活用イメージを持ちにくいのがPaaSなのです。
また、HerokuやWindows AzureのようなPaaSの活用方法について考えたとき、どうしてもWebアプリケーションの実行環境という印象が強くなり、開発環境やステージング環境といったシステム開発向けの用途として利用される傾向が強いといえます。
しかし、PaaSはそれ単体で目的を達成するものでなく、サービス(道具)を作るためのプラットフォーム、つまり二次道具としての色が強いので、その特徴をきちんと理解することがPaaSを上手く使うためのポイントです。
二次道具としてのクラウド利用の考え方へ、PaaSの活用方法
しかし、二次道具としてPaaSを考えた場合でも、利用者によってその二次道具となる対象が変わってしまうこともあり、少々わかりづらいので、最初に簡単に説明をしたいと思います。まずは下図を見てください。
ここで大事なのは目的の違いです。上記の図においてコンシューマー、部門ユーザーから見た場合の目的はサービスを利用することになるので、そのための道具は各サービス(SaaS)になります。システム部門から見た場合にはサービスを構築することが目的になるので、そのための道具は実行環境(PaaS)となります。
このように目的の違いから視点が変わるため、コンシューマーや部門ユーザーなどのユーザーサイドから見た二次道具は実行環境(PaaS)になるのですが、システム部門から見た場合には基盤環境(IaaS/HaaS)になります。もちろんユーザーサイドはサービスを利用するための目的さえ実現できれば二次道具が何であるかを意識はしません。逆に言うと、業務要件さえ満たしてくれればどんな環境でも構わないということになります。
一方でシステム部門はサービスを構築する立場になるので、構築する基盤環境を先に決めます。この時に実行環境の領域も基盤環境として一緒に考えてしまうため、実際のサービスに対してシステム的な制約の影響を与えてしまうことがあります。しかし、本来は、ユーザーがサービスを利用する目的をきちんと整理した上で実行環境と基盤環境を切り分けて要件を整理しなければなりません。なぜなら、サービスによって、求められる要件が異なるからです。下図を見てください。
一般的な話になりますが、インターネット向けのサービスの場合は、対象が不特定多数のユーザーとなるため、サービスの要件として高いスケーラビリティが求められる代わりに一貫性はそこまで高く求められません。また、一人のユーザーの操作が他のユーザーに影響を及ぼすような副作用を持ちません。
逆に業務サービスの場合には、利用者が社内システムにアクセスできるユーザーに限られるため、スケーラビリティはそこまで求められませんが、一貫性は求められます。また、ワークフローやBPM(ビジネスプロセス管理)のように一人のユーザーの操作が他のユーザー(ケースによっては他の部門のユーザー)にも影響を与えます。
このように、インターネット向けのサービスと業務サービスでは、求められる要件が違います。つまり、スケーラビリティの求められるインターネットサービスと一貫性を求められる業務サービスでは、一貫性と可用性と分断耐性の3つを同時に満たすことができないとするCAP定理(註1)によって、実行環境の選定基準が異なるということになるのです。ここに基盤環境と実行環境を分けて考えなければならない理由があります。
註1:ブリュワーの定理とも呼ばれ、分散コンピュータシステム下のノード間で、一貫性・可用性・分断耐性の3つを同時に満たすことはできないという定理
ここで先ほどのシステム部門の話に戻ります。システム部門がサービスを構築する際、実行環境も含んだ基盤環境を先に考えてしまうため、自社が持っている、または導入実績のある社内標準のハードウェア、ミドルウェア、アプリケーションフレームワークの組み合わせからサービスを構築しようと考えます。しかし、前述のようにサービスによって要件が異なるため、下記のように、それぞれアーキテクチャに対するアプローチが異なります。このため、実行環境の要件はそれぞれのサービスで分けて考える必要があるのです。
インターネットサービス:シェアードナッシング型アーキテクチャ
- 適したアプリケーションフレームワーク:Ruby on Rails(Ruby)、Play! Framework (Scala,Java)、ASP.Net MVC(C#)など
- 適したデータストア:Key Value Store(KVS)、一部のリレーショナルデータベース(RDB)
業務サービス:オブジェクト指向型アーキテクチャ
* 適したアプリケーションフレームワーク:J2EE(Java)、ASP.Net(C#)など * 適したデータストア:リレーショナルデータベース(RDB)
実行環境をサービスごとに切り分けて考えないと、マッチしない環境での開発による工数の増加やリソースの管理工数の増大、リソース追加に伴うコスト増加につながります。このようなリスクを回避するためにも、ユーザの利用目的から、その要件を実現するための二次道具として、実行環境を切り分けて考えることが大切です。
今回の連載の題材であるHerokuの場合は、実行環境としてのスケーラビリティの高さや、Ruby on RailsやPlay! Frameworkなどシェアードナッシング型フレームワークのサポート、KVSとRDBのサポートなど、インターネットサービス用途に適した環境になっているので、インターネット向けのサービス構築ではユーザ要件にマッチしたサービスを少ない労力で開発することができます。
PaaSを活用するためにはこういったユーザサイドの視点でサービスを捉えることが重要になります。
企業ITのクラウド化へ、多様化するPaaS
ここまでクラウドの現状やその中でのPaaSの位置づけ、そして活用方法について解説してきました。説明してきたようにSaaSやIaaS/HaaSと比較してPaaSの担当する実行環境領域は直感的に理解しづらい面があります。
また、メジャーなPaaSではインターネットサービス向けのものが多く、業務サービス向けは少ないという問題もあります。そのため、既存の社内向けのWebアプリケーションをそのままPaaSに移行させることはほとんどできません。
その理由として、提供されているデータストアやアプリケーション実行環境が決められているということもありますが、一番の問題はHerokuにしてもWindows Azureにしても、スケーラビリティを担保するためにステートレスなWebアプリケーションが求められるということです。また、そのために一般的な業務サービスの冗長化構成で利用されているスティッキーセッションのような仕組みを、HerokuやWindows Azureが持っていないこともあります。
これにより、ユーザからのWebリクエストが毎回同じサーバへアクセスすることは保証されないため、Webアプリケーションでよく用いられるようなセッションデータの保持は、拡張機能(Herokuのmemchacheアドオン、Windows AzureのAppFabricキャッシュ等)を利用しないかぎり、基本的には利用できません。
唯一、Amazon Web Services(AWS)のBeansTalkがスティッキーセッションに対応していますが、提供されるソフトウェアスタックがPHP用のApache HTTP Server、IIS7.5、Apache Tomcatに限られてしまいます。
こういったことから、業務サービス向けに展開するようなケースではPaaSの活用は限定的な側面があります。しかし、業務サービス向けに展開するような場合でも自社の仮想化環境やパブリックなIaaS/HaaSを利用して、用途にあったPaaSを作ることが可能です。
VMwareが提供しているCloud Foundryを利用して自社の環境でPaaSを構築することもできますし、HerokuのようにAWSを活用して構築することもできます。
また、構築したPaaSは自社での利用だけでなく、他のユーザに提供して自らPaaS事業者となることも可能です。例えば、AWSではAmazon EC2や同S3を利用してサービスを提供する事業者向けに、AWSが事業者の代わりにサービス利用者に課金するDevPayというサービスを提供していますし、Amazon BeansTalkと同CloudFormationのように、複数のAWSサービスの組み合わせを簡単に展開できるサービスもあり、積極的にこういった活動を支援するサービスが存在します。
これから企業のクラウド利用は単にサービスを使うというフェーズから、活用するというフェーズに変わってくると思います。例えばインターネット向けのサービスであればHerokuやWindows Azureを活用して構築することはもちろん、それをSaaSとして提供することもできますし、自社の業務サービス向けのWebアプリケーションの実行基盤を自社の仮想化環境やパブリックなIaaS/HaaSを利用してPaaSとして提供することもできます。
こういった様々なサービスの活用がこれからの企業ITのクラウド化にとって大事な要素になってくるのではないでしょうか。
最新ニュース
coron's Source - 全国 generated by Nordot
- キール町野2ゴール、今季6得点 サッカーのドイツ1部by 共同通信 on 2024年12月22日 at AM 12:43
【ベルリン共同】サッカーのドイツ1部リーグで21日、キールの町野修斗はホームのアウクスブルク戦にフル...
- シリア暫定政府、国防相を任命 外相も、本格稼働へ準備かby 共同通信 on 2024年12月22日 at AM 12:32
【エルサレム共同】ロイター通信は21日、シリア暫定政府を主導する過激派「シリア解放機構(HTS)」幹...
- 【暴風雪警報】北海道・奥尻町に発表by TBS NEWS DIG on 2024年12月22日 at AM 12:32
気象台は、午前9時23分に、暴風雪警報を奥尻町に発表しました。 檜山地方では、22日昼過ぎまで暴風雪...
- サッカー、久保建英は途中出場 スペイン1部リーグby 共同通信 on 2024年12月22日 at AM 12:08
- 上院議員目指さずとララ氏 トランプ氏義理の娘by 共同通信 on 2024年12月22日 at AM 12:07
【ワシントン共同】トランプ次期米大統領の義理の娘、ララ氏は21日、X(旧ツイッター)への投稿で、国務...
- 【速報】千葉県の柏と旭で住宅強盗発生 容疑者逃走、ともに住人負傷by 千葉日報 on 2024年12月22日 at AM 12:00
- 【速報】会津若松市で殺人未遂事件 自宅で知人の30代男性を包丁で突き刺そうとした疑いで55歳の男を逮捕by 福島中央テレビニュース on 2024年12月21日 at PM 11:51
会津若松市の自宅で知人の30代男性を包丁で突き刺そうとした疑いで55歳の男が逮捕されました。 殺人未...
- リッキー・ヘンダーソンさん死去 大リーグ、歴代最多盗塁by 共同通信 on 2024年12月21日 at PM 11:50
【ロサンゼルス共同】米大リーグで歴代最多の通算1406盗塁、2295得点を誇り「史上最高の1番打者」...