企業向けシステムを構築するパブリッククラウド【第13回】
企業システムの発想を刺激する、Googleクラウドの構成要素
各種サービスの集合体で成り立ち、他社クラウドサービスとは根本的に発想を異にするGoogleクラウドは、良質なサービスと高度なインフラを安価で提供する。本稿では、企業利用の視点でGoogleクラウドの構成要素を解説する。
本連載「企業向けシステムを構築するパブリッククラウド」ではさまざまなパブリッククラウドを、エンタープライズの業務システムで利用する観点で解説している。今回は「クラウド」というタームを最初に使い始めたといわれるGoogleを(再度)取り上げる。六本木の華やかなオフィスを訪問して取材をした内容をベースに、筆者の私見を交えながら解説を試みる。なお、Googleの成り立ちなどについては、過去の記事を参照していただきたい(過去の記事はこちら:「Google App Engine」の企業利用におけるさまざまな課題)。
これまでの連載
- 第12回:インスタンス型ではなく“リソース型”を提唱する「GMOクラウド Public」
- 第11回:ユニークなサービスで差別化を図る「BIGLOBEクラウドホスティング」
- 第10回:システム管理者に優しいIaaS「ニフティクラウド」
連載インデックス:企業向けシステムを構築するパブリッククラウド
取材してあらためて分かった(確認できた)ことだが、Googleはこれまで紹介してきたクラウドサービスとは根本の発想が大きく異なっている。従って、今回の記事もこれまでのスタイルをかなぐり捨てて、全く違うアプローチで書き進めてみたい。
さて、いきなり個人的な話で恐縮だが、筆者は次のようなWebアプリケーションのモックアップを作ったことがある。数年前、あるお客さまの業務に関して提案を検討した際に利用した。実際に提案するまでには至らなかったが、面白いという評価(?)はいただいた。稚拙なデザインなので本当はここで披露するのもお恥ずかしい限りなのだが、解説を進める上でよいサンプルになりそうなので、まずは画面イメージをご紹介する。
業務としては、お客さまの依頼に応じて社内スタッフを訪問させるサービスを想定している。オフィス機器の保守をするフィールドエンジニアのディスパッチをイメージしていただけるとよいだろう。上記の例では候補となった2人のスタッフのどちらを訪問先(東京タワー付近)に送り込むべきかを検討している。検討に当たっては2人それぞれのスケジュールと移動ルート、移動の所要時間を見比べる。従来はアサイン担当者の勘と経験と記憶と紙情報に頼っていた業務がシステム化される、というもくろみである。
図1に表示される「候補者のスケジュール」「移動経路」「所要時間」は、実はGoogleから引っ張ってきたものだ(ここでは担当者は日頃のスケジュールを全てGoogle Appsで管理することを前提としている)。「目的地」や「1つ前の予定の訪問先の位置情報」をテキスト入力すれば、移動経路や所要時間が再計算され、誰を派遣するのがベストなのかという判断がやりやすくなる。
筆者自身は、プログラミングから完全に離れてしまっており経験が乏しい。それでも見よう見まねで数日間の夜なべ仕事で上記のようなモックアップができてしまい、部分的とはいえ画面が動くという点は自分でも興味深かった。通常の企業が自前でゼロからこのようなシステムを構築しようと考えたら、かなりのコストと深い知識、開発体制が必要なことは想像がつく。ところが、ややこしそうな部分(カレンダーと地図と経路計算)をGoogleのAPIで処理させることで開発が一気に平易になる。これがGoogleをエンタープライズで利用する典型的なパターンと言えそうだ。
Googleを構成するサービス群
そういう意味ではGoogleを単なるIaaS、PaaS、SaaSと捉えたり、他のクラウドと比較することは適切ではないのだろう。Googleは、Google AppsというSaaSと、多数の良質なAPI、そしてそれらを補完するサービスから成る集合体なのだ。これらの個々の要素は「ややこしいことをあっさりとやってくれる」便利な部品と理解するとよいかもしれない。これらの部品が複雑な処理を行うに当たって膨大なコンピュータリソースを必要としたとしても、それらは見えないところ、つまり雲(クラウド)の中でGoogleが管理していて、ユーザーは何ら気にする必要はない。部品を使いこなして自分のビジネスに活用することだけに集中すればいいのだ。この考えを念頭に置いた上で、以降では、集合体の個々の要素(下記のリスト)について解説を加えることとしたい。
- Google Apps
- Google App Engine
- Google Cloud SQL
- Google Compute Engine
- Google Cloud Storage
- APIライブラリ
- Google Maps
- Google Translate API
- Google BigQuery
- Google Prediction API
Google Apps
Google Appsを実際に使っておられる方も多いだろう。あらためて説明するのも気が引けるくらいだ。メール(Gmail)、スケジューラ、簡易ファイルサーバ、グループ管理機能などがGoogle上の(=Webの)アプリとして利用できる。特に個人については無料で使えるという点も見逃せない。許可を出し合った利用者同士、スケジュールを共有することも可能であり、小さな組織であれば、無料でも十分に役に立つ。法人向けの有償サービスもあり、1ユーザー当たり年間6000円で利用できる。
Google App Engine
Google App Engine(以下、GAE)は、前述のGoogle Appsと名前を混同しやすいが、別物である。Google Apps自体は単純なSaaSであり、ロジックの組み込みなどは困難であるが、これを打破するのがGAEの主な役割だ。Webの開発プラットフォーム(PaaS)の形をしており、PythonやJavaの開発環境からGoogle上にデプロイができる。デプロイ後は、「Google上のWebアプリ」として可用性の高いインフラの上で動作する。WebアプリがGoogle AppsのAPIを呼び出すことでGoogle Appsのラッパーとすることも可能だし、Google Appsからアプリを呼び出す形で機能追加を実装することもできる。このとき、後述するAPIライブラリを上手に使うと、本稿の冒頭で例示したようなアプリを組み立てることが可能になる。
Google Cloud SQL
前回の記事では、GAEがデータをハンドリングする際の大きな制約について述べた。いわゆるRDBが使えず、「データストア」とよばれるKVS型のサービスを使うしかないというものだが、この点が大きく改善された。2011年11月にサービスとして使えるRDBが仮リリースされ、2012年5月に正式リリースされた。Amazon RDBや、MicrosoftのSQL Azureと同様に、管理とセットアップが不要のRDBサービスである。中身は、MySQLのようであるが、Googleの複数のデータセンターでリアルタイムにレプリケーションが取られており、可用性は極めて高い。ただ、遠距離レプリケーションで一貫性を保とうとするので、レスポンスには難がありそうだ。やはり王道はデータストアとし、Google Cloud SQLは当面、補完的な位置付けと考えた方がよさそうだ。
※ 取材後にGoogle Cloud SQLについて機能強化の発表があった。容量の増大(10倍)、非同期レプリケーションによるI/Oの高速化、Google Appsとの連携強化などがうたわれている。無料のお試し枠も用意された(2013年6月1日まで、最長半年間、0.5Gバイトまで)。興味のある方は、「Google Developers/Google Cloud SQL」からサインアップしてみるとよいだろう。
SQL Azureに関するコンテンツ
Google Compute Engine
GAEを使い倒しても、Google Cloud SQLを駆使しても、まだ自由度が足りないとき、最後の砦となり得るのがこのサービス……なのではないか。いわゆるIaaSに該当し、Linuxインスタンスを平易に調達して自由に使える、ということのようだ。Amazon EC2相当のサービスと思われる。などといちいち語尾を濁した曖昧な書き方ばかりで申し訳ないが、本稿の執筆時点で、まだ仮リリース(Limited Preview)の状態であり、あまり深い話は聞けなかった。正式リリースの日程もアナウンスされていない。仮リリースの発表時には、数万台を並列稼働させて遺伝子解析をさせるデモンストレーションもあったようだが、IaaSは競合も多い分野で、強力な先行者も存在している。このサービスも前述のGoogle Cloud SQL同様、単独で使うものではなく、Googleのサービスを使いこなす中で、開発するアプリの自由度を高めるための補完的な存在なのではないかと想像する。
Google Cloud Storage
いわゆるオブジェクトストレージである。Amazon S3に相当すると思われる。これも単独で利用する意味は薄いのではないか。GAEやGoogle Compute Engineが扱うデータを保持する際や、後述するサービスの中で間接的に利用することになりそうである。
APIライブラリ
前述のAPIだが約60種類用意されている。詳細はURL(https://code.google.com/apis/console/)を参照されたい(Googleアカウントでのログインが必要)。仕様はオープンで、前述のGAEから呼び出すことも、イントラのWebアプリから呼び出すことも可能である。検索APIのようになじみ深いものもあれば、実験的な位置付けのものもあり、統廃合もあり得るので注意が必要だ。これらの中からエンタープライズ向けとしてSLAが定められたAPIが出てきている。法人向けの契約書や価格表も定められ、サービスが統廃合される心配もない。今般、新たに幾つかのAPIが正式版として追加発表され、可能性が広がった。新旧併せて主要なAPIを以下で紹介していこう。
- Google Maps API
冒頭で例示したWebアプリの中で利用したAPIである。表示サイズや位置情報をパラメータとして渡せば、Web画面上に適切な地図を適切な縮尺で表示してくれる。渡す位置情報は緯度・経度でもよいし、住所(例:東京都港区港南2丁目)や、ランドマーク(例:東京タワー)でもよい。2つの地点を指定して、移動ルートの表示もできる。このとき距離や所要時間の計算もしてくれる。表示された地図は普通のGoogleマップとしてのインタフェースを備えているので、中心点の移動や縮尺の変更、移動ルートの変更もできる。単純な地図であれば表示のリクエストは1日当たり2万5000回までは無料である(それ以上はリクエスト1000回当たり数ドルの費用が発生する)。業務で本格的に利用するのであれば有償サービスを利用するのがよいだろう(有償/無償に関するこの考え方は全てのサービスでほぼ同様である)。
- Google Translate API
2012年8月に正式版になった新顔である。 Googleで検索をしていて海外のWebサイトに行き当たった場合、Googleが日本語に翻訳するか否かを問うてくる場合がある(PCの環境に依存する)。ここで実際に翻訳をしてくれるサービスがGoogle Translateであり、それをAPI化したものがGoogle Translate APIである。引数としてオリジナルのテキストを渡し(言語は自動判定される)、どの言語に翻訳するかを指定すれば、翻訳後のテキストが実行結果として返ってくる。何ともシンプルである。
翻訳の精度は(体験された方も多いと思うが)、必ずしも完璧ではない。オリジナルの文の「素直さ」にも依存するが、何とか原文の趣旨が読み取れるレベルといえる。「それでは使えない」というご意見もあろうが、ある程度分かれば何とかなるという用途もある。特に共通の関心を持つ者同士で、意見交換をしようとする熱意があれば、Google Translate APIによる簡易翻訳は言語を超えたディスカッションを加速していくだろう。例えば、ユニクロは「Clothes for Smiles」というプロジェクトで世界中から意見を募っているが、ここではこの簡易翻訳が一助となっている。この他にもグローバル企業において、世界中の従業員を巻き込んでアイデアコンテストをするような場合にも応用が期待できる。費用は投入したテキスト100万文字当たり20ドルである。
- Google Prediction API
Prediction(予言、予測)をするAPIである。神秘的な響きがあって興味をそそられるが、中身は機械学習である。単純に言えば、入力(データ)を与えると、出力(判定や、標語)が返ってくるという仕組みだ(全然説明になっていない気がするが)。次のような応用例を見ていただくと分かりやすいかもしれない。
| 用途 | 入力の例 | 出力(判定)の例 |
|---|---|---|
| スパムフィルター | 受信したメールのテキスト | 通常のメール スパム |
| メッセージルーティング (対応すべき部署や担当者の判定) |
サポートセンターに届いたメールのテキスト | 部署Aが対応すべき 部署Bが対応すべき 部署Cが対応すべき : |
| 故障診断 | 機器の不調に関するユーザーの説明 | 電源の故障と思われる 電子部品の故障と思われる タンク部の故障と思われる 光学系の故障と思われる : |
| 不適切行動の検出 | システムへのログイン情報やビル内の入退室情報 | 異常なし 不適切行動の疑いあり : |
利用に際しては、事前にシステムに対して学習(トレーニング)を行う必要がある。できるだけ大量に、「入力データ」と、それをあらかじめ「判定」した結果のセットを用意し、システムに読み込ませておく。これを済ませておけば、以後、システムに入力を与えると、学習したパターンから近い判定結果を推計して出力してくれる。判定が間違っていれば、これを指摘することでまた学習が進み、判定の精度が徐々に向上していく、という仕組みである。なお、上記の例では入力/出力ともにテキスト型の例を挙げたが、数値型(連続値)も扱えるらしい。良い例を思いつかないが、判定結果に確率を付与するような使い方がありそうだ。月間1万判定までは月額10ドルの基本料金だけで利用できる(超過分は、1000判定当たり50セント)。
機械学習に興味はあっても実際に構築したり試してみたり、となると、軽々に着手できるものではない。シンプルではあるが、機械学習システムをこのコストで使えるのは魅力といえる。
Google BigQuery
Gバイト~Tバイト級のデータを一気になめて、集計・検索結果を得ることができるサービスである。ユーザーはデータをCSV/JSON形式で前述のGoogle Cloud Storageに乗せる。APIを通じてSQL文を投げると、このファイルを(RDBでいう)テーブルと見なし、集計・検索処理をして結果を戻してくれる。一般のRDBでは、「全件サーチ」というと、「結果を得るまでに膨大な時間がかかる」こととほぼ同義だが、本サービスではその心配はない。サーチしたデータ量に応じて(見えないところで)勝手にCPUリソースが調達され、分散処理・集計が行われ、短時間で結果が返ってくる。リソースの予約や特殊なコーディング、機器障害を想定した作り込みなどは考える必要がない。また、稼働したリソースの課金について心配する必要もない。課金は「SQL文が処理したデータ量(カラム単位)」によって算出され、1Gバイト当たり、2~3.5セントである(最初の100Gバイト/月は無料)。これとは別にデータ保持料として1Gバイト当たり月間12セントがチャージされる。
定型データしか扱えないので、Hadoopの事例にあるような非定型データは不得手である。逆に高度なプログラミングなどは不要なのでHadoopよりも圧倒的に平易に使える。Hadoopで非定型データを定型化してBigQueryに読み込ませ、後はSQLで一発集計……などという事例があるようだ。
データ連携やSQL投入なども全てAPI経由なので、直に感覚的に使うことはできないが、このあたりを上手にラッピングするサードパーティーのアプリケーションやツールも出回っている。うまく組み合わせれば業務系のバッチ処理にも使えそうだ。
課題
以上、駆け足でGoogleクラウドの主要なコンポーネントについて解説した。サービス利用に際し、幾つか課題があるので列挙しておきたい。
まず、Googleのデータセンターは日本にはない。その上、拠点をまたいだ冗長性を自動的に確保しているので、自分のデータがどこにあるのかを特定することは困難である。「特定できないからこそ安全である」(従って特定しようとすることは無意味だ)という考え方は、クラウドの普及に伴い徐々に一般的になりつつあるが、企業によっては既存のセキュリティガイドラインをクリアできないだろう。これはGoogleの課題というよりもユーザー企業側の課題かもしれないが、もしも保存されたデータが「日本国内に保持されており、国外には出ない」ことが明確に保証されているとしたら、日本企業の利用は格段に進むことが予想される。現時点ではクラウド慣れした(先進的な)ユーザー企業の利用にとどまるだろう。
次に、本稿で紹介したサービス、特にAPI系のものは、言うまでもなく「そのまま」利用することができない。何らかのアプリを作成し、その中でAPIをコールするというカタチで利用することになる。「お試し」を含めこのようなことを自由自在に実現できる開発者は、そう多くない。当然、Googleに依頼しても開発をやってくれるわけではない。経験豊富なSIerに相談するしかないだろう。
そのAPIだが、非常にパラメータはシンプルである。サービスそのものの仕様が単純である以上、当然のことなのだが、逆にカスタマイズを行おうとすると困難を極め、場合によっては現実的ではないかもしれない。機能の追加や性能の向上はGoogleのサービス自体のバージョンアップに期待するしかない。アプリケーションや業務自体をサービスの仕様に合わせるような割り切りが必要になるだろう。
決定的な点だが、ドキュメントの大半が英語のままである。「使い方の例」という俯瞰的なものから「APIの仕様」という厳密性を要するものまで、日本語化されているドキュメントは少ない。エンタープライズにおける採否を左右し得るGoogleのセキュリティポリシーを説明した白書(PDF)ですら英語のままだ。また、サービスごとにSLAがあり、別々に申し込みが必要(そのたびに英語で参照すべきドキュメントが増える)という点も分かりにくさを加速させている。これらの点は急速に改善することを希望したい。
イマジネーションへの挑戦
冒頭で述べたように、Googleのサービスは「ややこしことをあっさりとやってくれる」強力で便利な部品と解するとよい。大量の計算リソースや、大容量のデータ、複雑なロジックを必要とする処理を安価に実行してくれる。荒削りではあるが、見方によっては前項で列挙した課題など問題にならないほどのパワフルさだ。一説によるとGoogleは数百万台のサーバを世界中で保持しているという。ユーザーは瞬間的かつ一時的にそのリソースの一部を高度なロジック付きで借りられることになる。
これらをエンタープライズの業務でどのように生かしていくことができるのか。超先進IT企業Googleは、残念ながら個々の企業の実情に合わせて具体的な用途を手取り足取り示してくれることはなさそうだ。活用方法はユーザーたるわれわれのイマジネーションに委ねられている。せっかくこれだけ興味深いサービスがインターネット上に無造作に置かれているのだ。面白い使い道を考え、今までにない業務システムを考案し、自社の情報資産活用を新しいステージに導いていく気概が求められていると言ってよいだろう。これはGoogleからの挑戦ともいえる。本稿が読者各位において良い刺激となれば幸いである。
Copyright © ITmedia, Inc. All Rights Reserved.
企業向けシステムを構築するパブリッククラウド
この記事の著者
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー