Salesforce.comは2010年暮れから2011年の年明けにかけて、2つの大きなクラウド型プラットフォームに関する発表を行った。1つはエンタープライズ向けクラウド型データベースのDatabase.comの発表、もう1つはRuby言語のPaaS環境であるHerokuの買収だ。セッションでは両者の概要や特長、事例などが紹介され、今後のSalesforce.comの積極的な取り組み姿勢が示された。
![Salesforce.com Japan Technical Specialist 岡本 充洋 氏](http://cz-cdn.shoeisha.jp/static/images/article/5812/5812_photo.jpg)
Rubyでアジャイル開発を行うためのPaaS環境「Heroku」
Salesforce.com Japanの岡本 充洋氏は、Herokuの紹介に先立ってプログラミング言語を取り巻く現状に触れ、Ruby, JavaScriptが今もっともHotな言語だと述べた。
「米国のQ&AサイトStackOverflowの質問数や、プロジェクトホスティングサービスGitHubでのプロジェクト数を見ても、注目度がますます高まってきているのは明らかだ。中でもビジネス視点では、開発効率の高さによって製品リリースまでの時間を短縮できる点が非常に評価を受けている。こうした観点から重要になってくるのが、クラウドとアジャイルだ」
そして、この両者を実現する上でベストなソリューションがHerokuだという。
岡本氏によれば、HerokuとはRuby(Rack)のPlatform as a Service(PaaS)環境であり、RubyでWebアプリケーションを作るためのベストプラクティスが、最初からビルトインされているという。
「Rubyの実行環境にはThin, NGiNX, Varnishといったオープンソースかつ先進的なテクノロジーを採用している。これらをDyno Gridと呼ばれる処理ユニットにまとめ、リクエストがスケーラブルにルーティングされる仕組みとなっている。また一方では、Git PushによるデプロイやコマンドラインからDynoGrid自体をコントロール可能であるなど、アジャイル向きのモダンな機能も用意されている」
Heroku自体は、全てAmazon Web Service(AWS)上に構築される 。しかしHerokuの利用者はあくまでアプリケーションの作成にフォーカスできるようになっており、AWSの各サービスを意識することが無い様にデザインされている。
「Herokuは複雑なミドルウェア関連の処理を自動で行ってくれるため、アプリケーション開発者はRuby上で何を書くかに専念できる点が、もっとも大きな特長になっている」
HerokuとDatabase.comの組み合わせが、エンタープライズの可能性を拡げる
続いて岡本氏は、Database.comについても触れ、「クラウド上に用意されたデータベースとして、多くの言語やプラットフォーム、デバイスから接続可能で、高い信頼性と87,200社以上の利用実績、ソーシャル・モバイルアプリケーション対応といった特長を備えている」と説明した。
これはSalesforce.comがCRMやPlatformで11年間に渡って運用してきたクラウドサービスのデータベース部分を切り出し、開発者向けに提供したものだという。
またDatabase.comのニーズの背景には、単にデータベースをクラウド上に置くことで管理・運用の負荷を軽減しようというだけでなく、ソーシャルメディアの増加やモバイルの伸びといったインターネット利用の変化が指摘される。
最後に岡本氏は、先進的でアジャイルかつオープンなHerokuと、エンタープライズ領域において多くの実績を持つDatabase.comを組み合わせることで、Rubyはさらにエンタープライズにアプリケーションで利用されるようになると語った。
「Database.comはアプリケーション開発に必要なAPIを数多く提供しており、Rubyや他のプラットフォームからの利用の可能性を拡げる。ベンダーロックインされないクリーンなPaaSとエンタープライズ向けの機能を組み合わせて使ってみたいという方には、ぜひHerokuとDatabase.comをお勧めしたい」と結んだ。
![図1:スケーラブルなRuby環境を提供するHeroku](http://cz-cdn.shoeisha.jp/static/images/article/5812/5812_01.gif)
![図2:HerokuとDatabase.comの連携がアプリケーションの可能性を拡げる](http://cz-cdn.shoeisha.jp/static/images/article/5812/5812_02.gif)