2013年12月25日水曜日

Engine YardとHeroku -PaaS3-

今回はEngine YardHerokuについて考察しようと思う。
2社に共通なのはオブジェクト指向スクリプト言語Rubyのクラウドサービスからスタートしたことである。この両社の変遷を見ることで、今後の市場動向を垣間見ることが出来るかもしれない。 

=自主路線を行くEngine Yard=
Engine Yardの設立は2006年。PaaSの世界の草分けと言ってよい。共同創業者のひとりEzra Zygmuntowicz氏は、RoR(Ruby on Rails)のMVCアーキテクチャの基となったMerbを開発した人である。周知のように、RoR3はMerbが統合されたものだ。RoRはWebアプリケーションのフレームワークとして人気が高く、単にレイルズ(Rails)とも呼ばれ、必要なコンポーネントは初期設定に従って、自動的に結合される。Engine Yardの仕組みはシンプルだ。デベロッパーはスクリプトを書き、用意されているMRI(Matz’ Ruby Implementation)やJRubyREE(Ruby Enterprise Edition)などのインタープリターで処理、必要なコンポーネントを付加してRuby Runtime上で実行する。利用に当たって、まずEngine Yardのサイト上でアカウントを作り、各種の初期設定をする。実行はRackアプリケーションなら何でも構わない。

Engine Yardは創業時からホスティングによる自社データセンターを運用してきた。そして2009年、Amazonからの出資を受け入れ、AWS上でのサービスに切り替えた。翌2010年にはTerremark International(現Verizon傘下)と提携、さらに今年7月にはWindows AzureのMicrosoft、9月にはOracle Cloudを運営するOracleとも提携し、世界中の彼らが持つデータセンターからサービスが出来るよう鋭意整備中だ。また同社は、2011年、PHPアプリケーション向けPaaSベンダーのOrchestraを買収、Rubyに加えPHPのサービスを開始した。さらに現在はJavaNode.jsなどもサポートする。同社の強みは2つ。ひとつは同社のエンジニアリング力をバックとした有償デベロッパーサポートだ。Engine Yardは全世界を3つのタイムゾーンに分け、24時間体制でデベロッパー支援チケットシステムを運用している。RubyやMerbがオープンソースであるように、同社は多くのオープンソースプロジェクトを支援してきた。Railsの従属性を管理するBundlerやRubyインタープリターのJava実装版JRuby、Rubyバージョン管理のRVM、RubyのクラウドサービスライブラリFogなどだ。これらコミュニティーとの連携が同社の力の源泉であり、財産でもある。もうひとつの強みは“Single Tenant”環境の提供だ。Engine Yardのプラットフォームは、デベロッパーが意識することなくAWS上のインスタンスを起動し、アプリケーションの実行と運用をシングルテナントとして行う。コンポーネントの設定や管理は勿論、バックアップやライフサイクルなどのオーケストレーションも自動的で完璧だ。

=Salesforce傘下となったHeroku=
Herokuの設立は2007年、何とも不思議な名前だ。名前の由来はヒーロー(Hero)と俳句(Haiku)を組み合わせたものだという。Rubyを開発したまつもとゆきひろ氏(同社Rubyチーフアーキテクト)にちなんで日本語を用い、Rubyクラウドのヒーローを目指す。Herokuの最大の特徴はDynoにある。これはLXC(Linux Containers)を使った安全な実行ユニットだ。LXCはUnixから引き継がれてきたOSレベルの仮想化技術で、Dynoは1CPU+512KBが単位である。全てのアプリケーションはDyno上で実行される。必要があれば2倍にスケールアップしたり、複数個のDynoを動かすスケールアウトも出来る。特にScalaなどの並列処理や大規模処理を必要とするWebアプリケーションではDynoのスケールアウト/アップが効果的だ。

Herokuの変遷はどうか。同社も当初はRubyの自社データセンターホスティングだった。しかしすぐにAWSにスイッチ。ここまではEngine Yardとまったく同じだ。そして2010年、Salesforce.comによる買収という大きな転機を迎えた。その後、一時期、Force.comに組み込まれる計画が噂されたが、実行プラットフォームは現在もAWSのままである。周知のように、Salesforce.comはCRMの雄として代表的なSaaSだが、HerokuはPaaSだ。本来、Salesforce.comは同じプラットフォーム上の階層的なサービスとして提供したかったに違いない。代わって採った戦略がプロダクトの多面化である。ひとつはサポート言語の拡大だ。Rubyから始まったHerokuは、現在、Java、Node.js、ScalaClojurePythonPlayへと広げ、さらにBuildpacksを使えばPHPは勿論、他の言語も実質的にサポートできる。2つ目は各種のアドオン、整備の甲斐あってAdd-on Marketplaceへと成長した。

=今後はどうなるか=
市場はIaaSが一段落して、ひとつ上のPaaSへとシフトしつつある。
PaaS市場ではWindows Azureが.NET環境を提供し、今回紹介した2社以外にも前回紹介したOpenShift前々回Pivotalなどが追従し、複数言語の開発環境を提供し始めた。更にこれまでPythonだけをサポートしてきたGoogle App EngineがJavaを扱い、AzureもJavaもサポート、Amazonは既にAWS Elastic Beanstalkで進出し、完全な混戦状態となりつつある。中でも、先発2社、Engine YardとHerokuはガチンコ勝負だ。Engine Yardは日本市場にも昨年3月に進出、デベロッパーサポートと全世界展開の提携先データセンターでグローバルリーチを目指す。対するHerokuは、広範囲なプロダクト戦略で受けて立つ。Engine Yardの現CEO John Dillon氏はSalesforce.comがASPと呼ばれていた頃(1999~2001)のCEOだ。HerokuはそのSalesfoceの傘下となってプロダクトを整備拡張してきた。何とも皮肉な巡り会わせだが、これからは低価格化を強いられる。戦いはまだまだこれからだ。

2013年12月11日水曜日

PaaSならOpenShiftだ!  -PaaS2-

Red Hatは11月11日、同社のPaaSオンラインサービスOpenShift Onlineを欧州に拡大し、低価格で提供(後述)すると発表した。同社がPaaS開発のMakaraを買収したのは2010年11月。そして翌年2011年5月、Red Hatは装いも新たにOpenShiftオンラインサービスとして試行を開始。OpenShiftは前回紹介したPivotal ONEとは異なり、主にデベロッパー向けのPaaSで、コード開発から適用、そして実行までの環境を軽やかに提供する。

=OpenShiftの仕組み=
その翌年2012年、Red Hatはオープンソース化の準備を進めてOpenShift Originプロジェクトをスタートさせた。OpenShiftのようなPaaSでは、IaaSと違い、実行環境の整備のために、各種ソフトウェアのインストールや設定などはせず、全てをPaaSに任せて、デベロッパーはアプリケーション開発に専念することが出来る。さて、仕組みを見てみよう。まずOpenShiftには2つの基本となる“Broker”と“Node”という概念がある。これは論理的なホストとかサーバーと考えてよく、共に同一のマシン上でも、別なマシン上でも構わない。そして両者間はメッセージキューイングで連携する。ここでBrokerはシステムで1つ、全てのアプリケーションやユーザー認証などの管理を実行する。アプリケーションはNode上で実行され、そのためのリソースを決める実行環境を“Gear(ギア)”と言う。Gearは大きさによって幾つかの種類(後述)がある。Gearはまた、AWSのインスタンスのように考えることも出来るが、下図の例では、codeとdb(database)の2つのGearからなるアプリケーション(左)の負荷が高くなると、自動複製(右)してパワーアップすることも可能である。

次に、アプリケーションは複数のソフトウェアスタックから構成されるが、汎用的なソフトウェアは“Cartridge(カートリッジ)”として用意されている。Node上にアプリケーション実行環境のGearが用意され、それに複数のCartridgeがのる。Gearはまた、WebサーバーやDBサーバーなどとも対応し、それらの利用を選択すると自動生成される。


=整備されたCartrige=
具体的なCartridgeを見ると、開発ツールにはJewnkins(詳細記事はここ)やApache MavenEclipseなど。言語はJava、Python、PHP、Ruby、Node.js、Parlなど。FrameworkはSpringDjangoRoRSymfonyZendなど。ミドルウェアではご存知Red HatのJBOSS、そしてApache Tomcat。DBではMySQLPostgreSQLMongoDBなど、ほぼ全方位でカバーされている。勿論、デベロッパーは独自のCartridgeを追加することも可能だ。

=拡大するOpenShift Online=
Red HatがOpenShiftのオンラインサービスOpenShift Onlineを正式に発表したのは今年6月、2年間のトライアル後、満を持したサービス開始だった。そして5ヶ月後、今回の発表(11/11)では米国だけでなく、欧州14ヶ国(Greece, Poland, Bulgaria, Romania, Czech Republic, Hungary, Slovakia, Croatia, Slovenia, Lithuania, Estonia, Latvia, Cyprus and Malta)へと拡大し、時間当たりの使用料は最大50%オフとなった。勿論、OpenShift Onlineは同社がOpenShiftを用いて開発したPublic PaaSで、Gearは適用の用途によって、①Small(memory=512MB, storage=1GB)、②Medium(1GB, 1GB)、③Large(2GB, 1GB)の3種類が用意されている。現在提供されているサービスプランは2つ。Silver PlanとFreeだ。Freeは3つのGearが無償で利用できるトライアル用、これは世界中どこからでも利用できる。もうひとつのSilverは無償の3つ以降に適用され、使用料は2~10¢/H(下図)、適用地域は米国と前述の欧州14ヶ国である。

=プライベートならOpenShift Enterprise=
さて、Private PaaSならOpenShift Enterpriseがある。これは企業が自営PaaSを構築する際のサポート付き有償プロダクトだが、30日間のトライアル(unsupported)もある。これを使えば、企業はAWSのEC2上でも、OpenStackや他のIaaS上にでもPaaSを構築することが出来る。そして、今月から日本を含めたアジア諸国にも適用が開始された。

2013年12月5日木曜日

Pivotal CloudFoundary、ついに登場! -PaaS1-

11月11日、PivotalCloudFoundaryがついに正式発表となった。 しかし、今回で詳細が全て明らかになったわけではない。そこで多少の推測を交えて見ていこう。周知のように、CloudFoundaryはオープンソースのPaaS構築プラットフォームである。クラウドはオンプレミスに比べて、利用企業に大きなメリットをもたらした。それでもIaaS利用は手が掛かる。もっと簡単にクラウドを業務で使いたい。それがPaaSプラットフォーム開発の背景である。振り返って見ると、このプロジェクトがVMwareで始まったのは2009年のこと。2010年11月、システムの概要が姿を現し、2012年4月には、分散システムの構成管理BOSH発表した。そして今年4月、Pivotalは親会社のEMC&VMwareから独立し、プロジェクトを引き継いで、やっと3年がかりの開発に区切りがついた。同社の目指すビジョンはPivotal ONE、提供されるシステムはPivotal CF(CloudFoundary)である。

=なぜ、PaaSプラットフォームが必要なのか= 
CEOのPaul Maritz氏は、ITの世界は根幹が変わったと説明する。これまで第1世代ではメインフレームがコンピュータ技術を確立し、第2世代ではインターネットの普及と共にClient ServerとWebが一般化、そして第3世代はクラウドの時代となった。クラウドの現代では、新しいエクスペリエンスとビジネスモデルが模索されている。第1世代の一般的なデータ処理だったISAMは、RDBへ移行し、クラウド時代になるとObjectDBが好まれ、現在は、これら全てを扱う仕組み(Data Fabric)が望まれている。データセンターについても、Cloud Enable Datacenterが必須な時代となった。また別な視点では、第1から第2世代でCPU速度が驚くべき進歩をして、我々は処理速度の問題から解き放たれた。第2から第3では、マシンやストレージからも開放されることとなった。つまり、現在ではクラウドによって、マシンもストレージも限りなく利用価格が下がり、一般向けのストレージはほぼ無償、企業向けではAmazonを筆頭に幾つものクラウドサービスが登場して、大きな費用削減が可能となった。しかしながら冷静に全体を見ると、アプリケーションは自営ものやパーッケージ、さらにはサービスも各種登場し、データ形式も多様化、クラウドも複数が市場で争い、利用企業は困惑気味である。言い換えれば、現代は全てを使いこなさなければいけない時代である。Maritz氏はこれら3つを“Application Fabric”、“Data Fabric”、そして“Cloud Fabric”と呼び、これらに対応する仕組みがPivotal ONEだと力説する。

=企業向けPaaSプラットフォームのPivotal CF=
まず、基本となるのはPivotal CF(CloudFoundery)である。CFはCloud OSとして、クラウド固有の機能を抽象化し、その利用を意識させない。つまり、これが“Cloud Fabric”にあたる。勿論、PrivateでもPublic Cloudでも構わない。現時点で対応クラウドプラットフォームはVMware vSphereのみだが、今後OpenStackAmazon Web Serviceなどが計画されている。このCFのコアは、上位層からクラウドを意識させず、かつシステムの柔軟性を保証する「Elastic Runtime」である。このランタイムは複数のクラウドに分散配置され、セルフサービスのアプリケーション実行&管理プラットフォームとなる。アプリケーションの対応言語とフレームワークはJava/Spring FrameworkRubyNode.jsScalaなどがBuilding Packとなり、さらに運用管理のOperation Managerが提供される。ここで気になるのは、オープンソースのCloudFoundaryとPivotal CFの差だ。同社によると、勿論、利用企業はCloudFoundaryを独自に導入することも出来るが、Pivotal CFでは、インストーラーや管理系ツールが用意され、そしてサポート付きの製品として提供されるとのことである。

=総合パッケージを目指すPivotal ONE= 
さて、同社の目指すビジョンのPivotal ONEとはどのようなものか。Pivotal ONEは、Pivotal CFをPaaSプラットフォームとし、その上に各種のミドルウェアやアプリケーションを揃えて提供するコンセプトである。これらの提供方法は2つある。ひとつは「Pivotal ONE Services」という。これはPivotal社自身が整備して提供するもので下図のように、“Buildpack”、“Data Service”、“Analytic”からなる。“Buildpack”は前述の言語対応のBuilding Packそのものである。“Data Service”として提供されるPivotal HDはオープンソースのApache Hadoopがベースだ。また、米国で普及しているオープンソースのメッセージキューイングPivotal RabbitMQ、そしてデータベースのMySQL、さらに、並列DBのGreenplumDB、インメモリーDBのGemFireなども提供される模様だ。次に“Analytic”は、まさにビッグデータの分析対応となり、核となるPivotal AXはCetasの分析ソフトがベースとなる。ここでRabbitMQはVMwareがSpringSourceの買収以前にRabbit Technologyを同社が吸収したものであり、Gemfire、CetasもVMwareが買収、GreenplumはEMCが買収した会社である。

もうひとつのソフトウェア提供方法は「Pivotal ONE marketplace」だ。
これはPivotalオペレーションに賛同する各社がアプリケーションをこのプラットフォーム上で提供するプログラムである。現時点でSendGridやMongoDB、SAPなどが名を連ねているがどのように提供されるのかは今後の整備を待たなければならない。
 

=オープンソースビジネスへの挑戦=
以上のように、Pivotalの技術はオープンソースがベースとなっている。
これまで親会社のEMCやVMwareはどちらかと言えば、オープンソースと距離を置く会社だった。2004年、EMCが$625M(約625億円)でVMwareを買収、その後、2008年、創業時からのCEOだったDiane Greene女史が解任されて、Microsoftから移籍‘したPaul Maritz氏がCEOに就任した。女史が切り開いた仮想化の世界をビジネスとして成功させることが彼の使命だった。彼は、基盤技術はプロプライタリーで進め、ビジネス拡大のための周辺技術にはオープンソースを活用するという戦略を採った。結果、本業での戦いは、Proprietary=VMware .vs. Open Source=Citrixという構図となった。そして2009年、オープンソースのJava Framework SpringSourceを$420Mで買収し、2011年、PaaS基盤開発のロジェクトをオープンソースコミュニティーとして立ち上げた。2つの親会社、特に彼は、これまでのビジネスの経験から、プロプライエタリーの限界とオープンソースビジネスの可能性を強く感じていたのであろう。EMCグループにとって、Pivotalは新たなビジネスモデルへの挑戦でもある。