OpenStackのAPIを公開するパブリッククラウド「ConoHa byGMO」はどうやって開発されたのか。開発エンジニアに聞いた[PR]
GMOインターネットが提供するクラウドプラットフォーム「ConoHa byGMO」(以下、ConoHa)が、2015年5月から「OpenStack Juno」をベースにしたクラウドプラットフォームへと刷新されました。
クラウドプラットフォームとなった「ConoHa」では、OpenStackのAPIを外部に公開しているのが大きな特長の1つです。これによってConoHaをOpenStackのクラウド基盤としてユーザーが自動化したりオンプレミスと連係させることが可能になります。
「OpenStackで商用サービスの基盤を構築する意味とは何だろうというのは、社内でも議論しました」と語るのは、ConoHaの開発と運用に関わっている、GMOインターネット オープンコンピューティングチーム 郷古直仁氏。
「そこで考えた私たちなりの意義とは、OpenStackのエコシステム、開発ツールやSDK、そうしたものを活用できる、そこがお客様にとってOpenStackの基盤を持つサービスを利用するメリットになるのではないかということです」(郷古氏)
「だとしたら、OpenStackのAPIをオープンにするべきだと考えました。お客様から見ると、ほぼOpenStackのAPIをそのまま叩いているように使えますので、オンプレミスも含めてさまざまなOpenStackのエコシステムを活用できるようになると思います」(郷古氏)
「と同時に、OpenStack APIを安全に使えるように多くの工夫もしています。例えば引数のバリデーションのチェックや、短期間に何度もAPIを叩かれないようにするとか。それからConoHaで提供していないストレージ容量の細かい単位の設定をConoHaのサービスに合わせるとか、内部的にはAPIをラップするなどしています」(GMOインターネット システム本部 第三サービス開発部 部長 安藤雄飛氏)
ConoHaはもともと、VPS(仮想プライベートサーバ)のサービスとして2013年に開始されたもので、当時から基盤ソフトとしてOpenStackを採用していました。クラウド基盤ソフトウェアとしてのOpenStackを、同社はどう評価しているのでしょうか?
「最初のConoHaでは、当時のOpenStackには仮想化の機能プラスアルファ程度しかなかったのですが、APIで制御できるなど私どもが実現しようとしていたことは実現可能だと判断して採用しました。その後OpenStackにネットワーク仮想化機能などが追加されたおかげで、ConoHaも当時のVPSサービスとしては珍しくネットワーク仮想化機能を提供しています。
そこで得た実績などからクラウドプラットフォームとしても十分に使えるだろうと考え、クラウド基盤への採用につながりました。例えば新しいConoHaではメールやデータベースサービスなどをPythonで開発したのですが、OpenStackのライブラリがきちんと揃っていたおかげで比較的すんなりいきました。周辺環境も含めてかなり充実しはじめていますね。」(郷古氏)
「ConoHa」クラウドプラットフォームの特長
クラウドプラットフォームとして新しくなったConoHaは、高速なストレージや柔軟な課金、簡単な操作などを特長としています。いくつかポイントを見ていきましょう。
■高速なSSDストレージ採用
ConoHaの仮想マシンで利用できるストレージはすべて高速なSSDで構成されています。標準ですべての仮想マシンに50GBのSSDストレージが提供され、さらに200GB、500GBの追加SSDストレージが用意されています。
■月額課金と従量課金を使い分け
仮想マシンや追加SSD、ロードバランサーやオブジェクトストレージなどConoHaのすべてのサービスで月額料金と従量課金を使い分けることができます。1カ月以上継続する場合には月額料金で事前にコストが明確になり、一時的な利用では使った分だけ従量課金で安価に利用できます。
■スケールインもスケールアウトも可能
仮想マシンは2コア/1GBメモリから24コア/64GBメモリまでを用意。データを移動せずに仮想マシンの性能を切り替える機能を備えているためスケールアップも簡単。もちろん、ロードバランサーによる分散処理を活用したスケールアウト/スケールインも可能です。
さらにConoHaは日本(東京)、アメリカ(サンノゼ)、シンガポールにデータセンターを展開。ロケーションを選択できるだけでなく、3つのデータセンターをGeoDNSで構成すると、もっとも近いデータセンターでリクエストを処理するグローバルな分散処理を展開できます。
■簡単な操作と充実したAPI
ConoHaは日本発のクラウドプラットフォームですから、コントロールパネルはすべて日本語対応。さらに、韓国語・英語・中国語にも対応しています。また、仮想サーバだけでなくWebサーバやデータベース、メールサーバといったオプションもクリックで簡単かつ短時間に構成できます。OpenStackの標準的なAPIで高度な自動化も可能です。
日本語のドキュメントはもちろん豊富。使い方からAPIのリファレンス、SDKを使った開発の方法、サンプルコードなど、日々新しい情報が追加されています。
C#やTypeScriptなども活用。オープンソース化に期待
ConoHaは、基盤ソフトウェアとしてOpenStackを採用している一方で、C#など.NET関連のテクノロジーも用いたユニークな内部構造になっています。安藤氏と郷古氏に聞きました。
──── ConoHaの開発にはC#など.NET関連のテクノロジーも利用しているそうですね。理由はなんですか?
安藤 コントロールパネル周りや会員管理など、いくつかの処理をC#で開発するなどしています。
ConoHaの内部では以前から一部で.NETテクノロジーを採用していましたが、最近になってマイクロソフトは.NET CoreやC#コンパイラなどをオープンソースにして、今後はLinuxやモバイル機器などへの対応も期待できるので、技術的にも面白くなってきました。そうした期待もあって、.NETテクノロジーを積極的に取り入れています。
また、JavaScriptで開発する部分にはTypeScriptを採用しています。開発チームが以前より人数が増えてきていてJavaScriptだと大規模開発には向いていなかったのですが、TypeScriptを採用することでメンバーごとのスキルや経験の差をうまく吸収できてチーム開発もやりやすくなりました。開発の面で楽になりましたね。
──── 課金方法が月額課金と従量課金を選べる仕組みも独自開発でしょうか?
安藤 そうです。この月額料金と時間課金を料金体系の中で組み合わせている例は、これまでGMOのサービスとしてなかったものなので、課金管理の部分は最初から作り直しましたね。
スタートアップやアプリケーションの開発者にも使ってもらいたい
──── 日本のデータセンターだけでなく、米国とシンガポールのデータセンターからもグローバルに同一サービスを提供するクラウドは、国内ベンダとしては珍しいですね。
安藤 ConoHaをせっかくリニューアルするのだということで、お客様にびっくりしてほしかった、というのはありますね。
郷古 もともと米国にはデータセンターを持っていて、ソーシャルゲームベンダー向けのサービスを提供していました。ただシンガポールは新たにConoHaのクラウドプラットフォームを立ち上げています。
安藤 GMOが提供するサービスとしてのエコシステムやインフラ展開を考えると、自分たちにとっても海外データセンターは必要になるだろうという判断もありました。
もちろん、海外のパブリッククラウドと戦うためにも必要だと考えました。
実際、以前からConoHaはアジアをはじめとした海外ユーザーが少なくありませんでした。実は半分ほどは海外ユーザーなのです。今回シンガポールにデータセンターを開設したことで、これまで以上に東南アジアを中心に使ってもらいたいと考えており、そのための工夫にもこだわりました。
──── DNSでグローバルな分散ができるGeoDNSも提供していますね。
郷古 OpenStackでもGeoDNSは開発が進んでいるようですが、それに先行して海外データセンターを生かしたサービスを作るためにGeoDNSを開発しました。
私たちのGeoDNSは、OpenStackのAPIの基本的なフォーマットを守りつつ実装しているので、OpenStackのGeoDNSが登場しても互換性が保たれるように気をつけて開発しています。
──── ConoHaはどんなユーザーに使ってもらいたいとお考えですか?
安藤 インフラエンジニアだけでなく、アプリケーションエンジニアや、スタートアップで運用管理に人手が割けないようなところでも使ってほしいですね。OpenStackのAPIでプログラマブルに使えますし、米国とアジアのデータセンターがありますから世界展開を見越したところにもぜひ使っていただきたい。
郷古 新しいConoHaは、APIもコントロールパネルのUIも、シンプルで簡単に使えるという点を比較的重視して作ったクラウドプラットフォームです。そういう面で、アプリケーションを開発しているようなふつうのデベロッパーさんにも気軽に使ってもらえれば、と思っています。
≫キャンペーン:ConoHaのAPIをさわってレビューを書くだけで、最新MacBookなどをプレゼント
(本記事はGMOインターネット提供のタイアップ記事です)
あわせて読みたい
Amazonクラウド、MySQL互換でクラウドに最適化したデータベース「Amazon Aurora」を本番環境でも利用可能に。可用性99.99%、容量64TBまで
≪前の記事
IBMがMongoDBのDBaaSベンダー「Compose」を買収。Bluemix強化へ