検索
Special

デベロッパのために積極的にAPIを公開していく、NTTコミュニケーションズパブリッククラウドやオブジェクトストレージのAPIを公開

NTTコミュニケーションズが提供するパブリッククラウド「クラウド・エヌ」は、CloudStackを採用しAPIを公開することで、クラウド開発者から注目を集めているサービスだ。今回は「クラウド・エヌ」のキーマンに、PublicKeyの新野淳一氏が話を聞いた。

PC用表示
Share
Tweet
LINE
Hatena
PR

 NTTコミュニケーションズが2012年3月よりサービス提供を開始したパブリッククラウド「Bizホスティング Cloudn(クラウド・エヌ)」は、オープンソースのクラウド基盤ソフトウェア「CloudStack」を採用するとともに、そのAPIをユーザーに開放し、月額上限945円からの低価格で利用できることで、クラウド関連の開発に従事するデベロッパの間で、今急速に注目を集めつつある。さらに2012年10月には、オブジェクトストレージサービスが新たに提供開始されたが、こちらもAmazon S3互換のAPIをデベロッパに対して開放しているという。

 これまで、デベロッパが使うクラウド基盤としては、Amazon Web Servicesが長くスタンダードと見なされてきた中、ここに来て国内の事業者、しかもこれまでデベロッパとは縁遠い存在と思われてきたNTTコミュニケーションズからこのようなクラウドサービスが登場した背景には、一体何があるのだろうか? NTTコミュニケーションズでCloudnの開発とサービス提供に携わる、同社 クラウドサービス部 ホスティング&プラットフォーム部門 林雅之氏、大野理望氏、桑原大氏の3人のキーマンに、PublicKey編集長の新野淳一氏が話を聞いた。

デベロッパのためのパブリッククラウドサービス「Cloudn

新野氏
PublicKey編集長 新野淳一氏

新野氏 NTTコミュニケーションズさんがパブリッククラウドサービス「Cloudn」の提供を始めたことは、日本のIT業界に大きなインパクトを与えたと思っています。パブリッククラウドは従来、主にコンシューマ向けのサービスだと思われていたのが、大手キャリア企業であるNTTコミュニケーションズさんが名乗りを上げたことで、エンタープライズマーケットにおけるパブリッククラウドの可能性が大きく広がったと思います。

 一方で、Cloudnはオープンソースのクラウド基盤ソフトウェア「CloudStack」を採用し、さらにAPIを開発者に公開しています。このことが持つ意味は、クラウドに携わるデベロッパにとって非常に大きいと思います。これまでNTTコミュニケーションズさんといえばどちらかというと、デベロッパから見ると少し縁遠い存在のように思われてきたかもしれません。しかし、Cloudnに関しては良い意味で期待を裏切ってくれたと感じています。

林氏
NTTコミュニケーションズ クラウドサービス部 ホスティング&プラットフォーム部門 林雅之氏

林氏 そうですね。弊社では現在、日本CloudStackユーザー会などに参加して積極的に情報発信するなど、オープンソースコミュニティとの協調や、デベロッパにとっての使いやすさを重視したサービス作りを進めています。それによって、これまで主に扱ってきたエンタープライズ向けサービスに加え、今後はスタートアップ企業など、これまでリーチできていなかったお客さまに向けても、広くサービスを提供してきたいと考えています。

大野氏 Cloudnのサービス提供開始に当たっては、米国のサービスプロバイダとの協業を通じてオープンソースの技術や文化に触れながら、われわれ自身も社内のマインドを意識的に変えてきた面があります。一方で、日本のお客さまが期待される品質もきちんと担保しなければいけませんから、“オープンソースならではのスピード感”と“品質”との間のバランスを常に意識しながらサービスを開発しました。

新野氏 なるほど。あと、料金がかなり低く抑えられているのと、料金体系が非常にシンプルになっている点も特徴だと言えますね。

林氏 はい。規模のメリットを生かしてかなりアグレッシブな料金設定をしていますし、ネットワーク事業者ならではの強みを生かしてネットワーク転送料も無料に設定しています。また、企業ユーザーの方々が予算化しやすいよう、料金体系も極力シンプルになるよう工夫を凝らしています。

新野氏 料金の安さは個人ユーザーにとってはもちろんありがたいでしょうし、一方企業ユーザーにとっては料金の値段よりも予算化のしやすさの方が大事でしょうから、予算化しやすい料金体系は企業ユーザーにとっては大きいですね。

新たに加わったオブジェクトストレージサービス

新野氏 ところで、2012年10月23日からCloudnのサービスメニューに、新たにオブジェクトストレージサービス「Cloudn Object Storage」が加わりました。オブジェクトストレージといえば、これまではAmazon S3が有名でしたが、エンタープライズ系のデベロッパにとっては、そもそもオブジェクトストレージがどんな用途に役立つものなのか、まだ明確なイメージが掴めていない面もあるかと思います。

Cloud<sup>n</sup>とObject Storageの連携イメージ
CloudnのComputeとObject StorageのAPIによる連携イメージ図
大野氏
同社 大野理望氏

大野氏 やはり何と言っても、旧来のストレージ技術とは異なり、容量が柔軟にスケールできる点がオブジェクトストレージの一番の強みだと思います。つまり、ディスク容量の上限を気にすることなく、データをどんどん放り込んでいけるわけです。この強みが最も生きるのは、バックアップやアーカイブの用途ですね。例えば、写真や動画など大容量のデータを保管する際、ディスク容量の上限を気にすることなく気軽にアップロードしていって、“もし容量が増え過ぎて、コストがかさんできたら古いデータから削除する”といった、極めてシンプルな使い方ができるのです。料金も使った容量の分だけを支払えばよいので、こちらもシンプルな運用が可能になります。

林氏 そのほかにも、災害対策のための用途や、エンドユーザー向けのストレージサービスを提供するための基盤として使いたい、といった要望が多いですね。

新野氏 ちなみに、料金も1Gバイト当たり月額7.35円〜9.03円とかなり低く抑えられていますが、これだけの低料金を実現するに当たって、何か秘訣のようなものはあったのでしょうか?

Cloud<sup>n</sup> Object Storageの料金イメージ
Cloudn Object Storageの料金イメージ

大野氏 やはり先ほども申し上げた通り、ある程度ビジネスの規模が拡大することを前提にした上で、当初からあえてアグレッシブな料金設定を行っています。あとは、運用コストや電力コストなど、1つ1つの細かいコストの削減努力を積み上げていった結果ですね。

新野氏 一方で、信頼性についてもかなりこだわっているようですね。

大野氏 はい。データセンタはすべて国内に設置しているのですが、さらに“お客さまからお預かりしたデータを複数拠点にコピーして分散配置すること”で、冗長性を高めています。これによって「堅牢性99.999999999%」(11-nine)を達成していますが、この数字も弊社が勝手に謳っているわけではなく、パートナー企業と共に実際に検証作業を行った上で算出した結果です。

Amazon S3互換のAPIを利用可能

新野氏 オブジェクトストレージの技術は、商用サービスとして実用化されてからまだ日が浅いこともあって、デベロッパにとってはその中身がどうなっているのか、少し分かりづらいところもあるかと思います。

大野氏 オブジェクトストレージは、機能的には非常にシンプルなものです。ただその中身は、やはり従来のストレージ技術とはまったく違うものですから、サービスを実装するに当たっては、特有の難しさがいろいろありました。特に、その最大の特徴であるスケール性を追い求めすぎると、逆に厳密な意味でのデータの一貫性がある程度犠牲にならざるを得ないですし、同時アクセスの際の排他処理や故障時のリカバリといった、いわゆる「準正常系」の処理で不安定になるリスクも高くなります。従って、今回のサービス提供に当たっては、その辺りのテストは極めて慎重に行いました。

新野氏 ちなみにCloudn Object Storageでは、クラウドストレージ構築ソフトウェア「Cloudian」を採用されていますが、なぜこの製品を選んだのでしょうか?

大野氏 実績や安定性など、総合的に見て判断しました。

桑原氏 やはり、Amazon S3互換という点も大きかったですね。Amazon S3のAPIは事実上、オブジェクトストレージの業界標準APIになっていますが、Cloudn Object StorageではCloudianを通じてこれと互換性のあるAPIを公開しています。これによって、これまでAmazon S3向けに作られた既存資産を、ほぼそのままCloudn Object Storage上に流用できるようになっています。

Object Storage APIのサンプルコード(SDKを使用した場合)
1. バケット[sample]の中身一覧を得る
2. hello.txtをupload
3. hello.txtをダウンロード閲覧
4.hello.txtを削除
#!/usr/bin/env ruby
require 'aws-sdk'
s3 = AWS::S3.new(:access_key_id => 'please_specify_access_key', :secret_access_key => 'specify_secrete_key', :s3_endpoint => 'str.cloudn-service.com', :use_ssl => false)
file_name = './hello.txt'
b = s3.buckets['sample']
# GET bucket (list Objects)
b.objects.each{|obj|
  puts obj.key
}
# PUT Object
basename = File.basename(file_name)
o = b.objects[basename]
o.write(:file => file_name)
b.objects.each{|obj|
  puts obj.key
}
puts o.read
# delete object
o.delete
b.objects.each{|obj|
  puts obj.key
}

新野氏 Cloudianの評価版の環境を手元に作って、そこで試してうまくいったものを本番環境に適用するといったような使い方もできるということですか?

桑原氏
同社 桑原大氏

桑原氏 はい、できます。やはり、ローカルの開発環境でデバッグできるのは、デベロッパにとっては非常にメリットが大きいと思います。私もAmazon S3のAPIを使ったコードを書いたことがあるのですが、コーディングもデバッグも意外と複雑なんです。特に、Authentication周りのコードはどうしても複雑になりがちで、これを本番環境でいちいちデバッグしていては大変です。その点、Cloudianのローカル環境上で開発やテスト、デバッグができるのは、デベロッパにとってはメリットが大きいと思います。

新野氏 サンデープログラマにとっても、比較的とっつきやすそうですね。

桑原氏 そうですね。最近はやりの軽量プログラミング言語を使えば、オブジェクトのアップロードやダウンロードのコードは、SDKを使うと、ものの10行や20行程度でさくっと書けてしまいますから、敷居は非常に低いと思います。また、大容量のデータをアップロードする処理も、APIを利用するとマルチパートでのアップロード処理を記述できて、並列化によるアップロード処理自体の高速化も期待できます。

今後はPaaSをはじめさまざまなサービス追加を予定

新野氏 CloudStackのAPIや、Amazon S3互換のAPIといった、業界標準のオープンなAPIを通じて操作できるという点は、デベロッパにとってはいろんな意味で魅力的でしょうね。となると、デベロッパの方々は次に、「Cloudnを使ってもっといろんなことができるようになればなあ」と考えるようになるのではないでしょうか。

林氏 実はCloudnでは今後、デベロッパの方々がクラウドを使った開発をより行いやすくなるよう、さまざまなサービスを順次投入していく予定です。中でも、現在特に力を入れて開発を進めているのがPaaSです。弊社は2012年2月、NTTとともに「日本Cloud Foundryグループ」を設立しており、オープンソースのPaaS基盤ソフトウェア「Cloud Foundry」の日本における普及促進の取り組みを進めています。

大野氏 またPaaSとともに、ファシリティの物理ゾーンを選択できる「Facility Redundancy Zone」にも近く対応する予定です。VPNをはじめとしたバーチャルネットワークは、お客さまにその使い方をヒアリングすると実にさまざまな要件があるので、それらをどう実現すればいいのか、まさに今取り組んでいるところです。

新野氏 企業ユーザーがオンプレミスのシステムをクラウドに移行する際には、やはりバーチャルネットワークと物理ゾーン選択は、どうしてもニーズとして挙がってきますよね。

Cloud<sup>n</sup>の展開イメージ
Cloudnの今後のサービス展開イメージ

林氏 そうですね。リレーショナルデータベース(RDB)のサービスやDNS、さらには、仮想サーバのプロビジョニングやモニタリングなどのサービスを順次追加しながら、サービスラインアップを充実させていく予定です。デベロッパの方々にとっては、ますます楽しみが増えることになるはずですので、ご期待いただければと思います。



Copyright © ITmedia, Inc. All Rights Reserved.


提供:エヌ・ティ・ティ・コミュニケーションズ株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2012年12月31日

ページトップに戻る