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を構築することが出来る。そして、今月から日本を含めたアジア諸国にも適用が開始された。