※この投稿は米国時間 2019 年 3 月 7 日に Google Cloud blog に投稿されたものの抄訳です。

今日、多くの企業が複雑な脅威環境に直面しています。ユーザー、ネットワーク、機密情報、コミュニケーションを標的とした攻撃の巧妙化や大規模化が進み、あらゆる規模の組織がこうした脅威を防ぐために、簡単にデプロイして管理できる高度なセキュリティ機能を必要としています。私たち Google Cloud は革新的なセキュリティ機能をお客様に提供することを常に目指していますが、それは私たちのプラットフォームでワークロードを実行していない組織に対しても同様です。

Web Risk API とは

私たちはこのたび、Web Risk API のベータ提供を開始しました。Web Risk API は、ウェブ上でお客様のユーザーを保護するように設計された新しい Google Cloud サービスです。このシンプルな API を呼び出せば、安全ではないウェブ リソース リストを基に、クライアント アプリケーションにおいて URL をチェックできます。

Google が作成したこのリストには、フィッシング サイトや偽サイトのようなソーシャル エンジニアリング サイトや、マルウェアや迷惑ソフトウェアをホストするサイトなどが含まれます。Web Risk API によって既知の不正サイトを迅速に特定すれば、マルウェア感染ページに誘導する可能性があるリンクをユーザーに警告したり、悪意あるページへのリンクをユーザーが利用すること(たとえば、悪意ある URL をコメントに含める)を防いだりできます。

Web Risk API には 100 万以上の安全ではない URL のデータが含まれており、私たちは毎日数十億の URL を調査することでリストを最新の状態に保っています。こうした Web Risk API は、Google Safe Browsing の土台となっている技術と同じものに支えられています。Safe Browsing による保護はすべての Google プロダクトで機能し、日々インターネットで 30 億台以上のデバイスを保護することに役立ってきました。Safe Browsing に携わるエンジニアリング、プロダクト、オペレーションの各チームは、セキュリティの研究および技術の最前線で、人々を害悪から守るシステムの構築に取り組んでいます。そして現在では、Safe Browsing と技術を同じにする Web Risk API を通じて、企業がユーザーを保護できるようになりました。

Cloud Armor で DDoS 攻撃と標的型攻撃を防ぐ

インターネットに接続されたサービスやアプリケーションの運用には難しい作業が伴います。ユーザーのリクエストに迅速に応えてトラフィックを送信するとともに、サービスを停止させようとする悪意ある攻撃を防ぐ必要があるからです。

Cloud Armor は、Google Cloud Platform(GCP)の DDoS 攻撃防御およびウェブ アプリケーション ファイアウォール(WAF)サービスです。Google 検索、Gmail、YouTube といったサービスの保護に使用されているのと同じ技術やグローバル インフラストラクチャに基づいています。このほど一般提供(GA)が開始された Cloud Armor は、グローバル HTTP(S) ロード バランサと連動し、L3/L4 DDoS 攻撃防御機能や、IP に基づいたトラフィック許可 / 拒否機能を提供します。

今回の GA リリースに伴い、新しい Cloud Armor ダッシュボードが Stackdriver Monitoring で利用できるようになりました。この柔軟なダッシュボードを使用すると、Cloud Armor の保護対象となるトラフィックのモニタリングおよび分析が簡単になります。また、ネットワーク管理者やセキュリティ オペレーション チームは Cloud Armor のセキュリティ ポリシーの効果を把握できます。さらに、プレビュー モードを使ってルール案の潜在的な影響をプロジェクト全体にわたって評価、検証したり、個々のセキュリティ ポリシーやバックエンド サービスを掘り下げて検討したりすることも可能になります。

Cloud Armor により、アプリケーション トラフィックを迅速に可視化し、どのリクエストが許可 / ブロックされているかを把握できます

簡単に使える HSM キーでクラウド上のデータを保護

機密データの保護は組織にとって優先課題であり、金融サービスのような規制が厳しい業種では特にそうです。この課題に対処する主要な方法の 1 つが暗号化で、セキュリティに敏感な多くの組織がハードウェア セキュリティ モジュール(HSM)をデプロイし、暗号処理にセキュリティ レイヤを追加しています。しかし、HSM のデプロイや構成、実行は厄介であることが少なくありません。

そこで私たちは Cloud HSM を開発し、先ごろ一般提供を開始しました。Cloud HSM は、GCP に含まれるクラウドホスト型のマネージド HSM サービスです。Cloud HSM を使用すれば、FIPS 140-2 Level 3 認証済みの HSM(下図参照)で暗号化キーを保護し、暗号処理を実行できます。HSM クラスタの管理に伴う運用上のオーバーヘッドを気にせずに、最も機密性の高いワークロードを保護できるのです。実際、多くの大企業が、非常に簡単かつ迅速に HSM キーを使ってデータを保護できるとして、ワークロードを GCP に移行しています。
Cloud HSM により、手間をかけずに GCP 環境でハードウェア暗号化とキー管理を実現できます

Cloud HSM は最初に米国のいくつかのロケーションで提供され、欧州の複数のロケーションでも GCP のお客様に提供が開始されました。提供地域は今後さらに拡大する予定です。

以上の 3 つのサービスにより、私たちは簡単なデプロイで利用できる高度なセキュリティ機能を強化し、Google Cloud のお客様に提供していきます。セキュリティ機能のポートフォリオについては、信頼とセキュリティのページをご覧ください。

- By Jennifer Lin, Director, Product Management at Google Cloud


利用している Google Cloud Platform サービス

Google Kubernetes EngineCloud SQLGoogle Cloud StorageCloud Pub/SubGoogle Cloud Load BalancingCloud IoT CoreGoogle BigQuery など

株式会社インフォステラ

2016 年に創業された、宇宙通信ベンチャー。人工衛星との通信を行う地上局共有プラットフォーム「StellarStation」のほか、世界中の衛星運用者とメーカー、大学、サービス提供者を繋ぐ EC プラットフォーム「Makesat」など、人類が宇宙空間をより有意義に活用できるようにするためのサービスを開発・提供している。現在の従業員数は 22 名(2018 年 12 月現在)。

日本発の宇宙通信ベンチャー、インフォステラ。人工衛星ビジネスの常識を大きく変えると話題の注目サービス「StellarStation」のバックエンドに GCP が採用されています。

StellarStation は、既存の地上局運営者から、アンテナ非稼働時の利用権を引き受け、それを必要とする人工衛星運用者にオンデマンドで提供することで、必要な地上局を、必要なだけ、リーズナブルに利用できるサービス。

地上局と利用企業の間は、Google Cloud Platform(GCP)のグローバル ネットワークで接続し、世界中どこからでも、必要な地域の地上局に接続し、受信した情報を引き出せるようにしています。

同サービスの開発を主導してきた Chief Architect アヌラグ アグラワルさんと Head of Platform Engineering 星 竜一さんは、GCP を選んだ理由を「マネージドな Kubernetes 環境、ハイ パフォーマンス、そしてグローバル ネットワークをセキュアに安価に構築できること」と話します。
2 人のエンジニアにお話をお伺いしたインタビュー動画をご覧ください。


株式会社インフォステラの導入事例 PDF はこちらをご覧ください。
その他の導入事例はこちらをご覧ください。


モバイルゲームは現在も日々進化し、ゲーム業界を革新し続けています。しかし、ゲーム表現がより高度になっている一方で、複雑なゲーム内容が初心者の参加を妨げてしまうという課題は残り続けています。今回紹介する、株式会社ディー・エヌ・エー(以下、DeNA)の大ヒットゲーム『逆転オセロニア』※では、その問題を Google Cloud Platform(GCP)上に構築した AI 基盤を活用することで見事に解決。ここでは、その取り組みについて聞いてきました。

利用している Google Cloud Platform サービス

Google Cloud Machine Learning EngineGoogle BigQueryGoogle Compute EngineGoogle App EngineGoogle StackdriverCloud Pub/SubGoogle Cloud FunctionsCloud Datastore など

写真左から

  • ゲーム・エンターテインメント事業本部 ゲームサービス事業部 第一ゲームサービス 第二グループ プロデューサー 香城 卓氏
  • システム本部 AI システム部 AI 研究開発第三グループ AI 研究開発エンジニア ゲーム AI チームリーダー(理学博士) 奥村 エルネスト 純氏

株式会社ディー・エヌ・エー

1999 年に設立されたモバイルを中心としたインターネット サービス企業。2017 年度の売上高は 1,394 億円。収益の中心はゲーム事業となっているが、その他にもタクシー配車アプリやカーシェアリングなどを中心としたオート モーティブ事業や、横浜DeNAベイスターズを運営するスポーツ事業など、幅広く展開。ゲームに留まらない多彩なビジネスに挑戦している。従業員数は 2,475 名(連結 / 2018 年 3 月末時点)

Google Cloud のエキスパートから機械学習を学び、独自の AI 機能を実現


『逆転オセロニア』は、その名の通り、オセロの要素を持った、シンプルだけれども奥深い戦略対戦ゲームアプリです。誰もが知っているオセロのルールをベースとすることで、戦略対戦ゲームの普遍的課題の 1 つである初期のルール理解が難しいというハードルを下げることに成功しています。しかし、キャラクター(駒)やデッキといったゲーム要素は、リリースから日を追うごとに複雑化。さまざまな「スキル」を持ったキャラクター(2019 年 1 月までで約 3,000 種)を効果的に組み合わせる「デッキ」の構築が初心者には難易度が高くなっていました。

「そんな中、2017 年の春ごろに Google Cloud から Advanced Solutions Lab - Immersive Education(ASL)をご紹介いただき、DeNA でも AI 活用を本格的に実践投入していこう、まずは『逆転オセロニア』の課題を AI で解決してみようということになりました。」(香城さん)


ASL とは、Google Cloud のエキスパートと連携し、GCP、Machine Learning Engine(ML Engine)や TensorFlow の活用法を学び、機械学習の基礎を確実に身につけることができるという施設。奥村さんら DeNA の AI 研究開発チームは、2017 年 5 月に渡米し、ASL 学習プログラムの最初のフェーズとなる機械学習の基礎を学びました。現在は奥村さんを含めた 4 名体制(田中 一樹さん、岡田 健さん、甲野 佑さん)で開発を続けています。

「ASL では、GCP を使って機械学習のプロダクトを作るために何をすべきか、どのようにプロジェクトを進めていくかという基本的な部分を、ハンズオンなどもおこないながら 4 週間みっちりと教えていただきました。プログラムには、具体的に Google Cloud のエンジニアと AI を開発していくという第 2 フェーズもあったのですが、今回は第 1 フェーズでの学びをふまえて、自社での開発を決意。まずは、デッキ構築を AI でサポートする『オススメ編成』を 2018 年 11 月に実装しました。この機能は、AI が上位プレイヤーのデッキのデータを参考にしながら、手持ちのキャラクターからおすすめのデッキを自動的に作ってくれるというものです。ASL では、Google で実際に AI プロダクトを作っているエンジニア達と多くの議論をしていたので、 AI 開発の落とし穴などを先に見越しておくことができました。こうした知見がなければ、開発はもっと難航したかも知れません。」(奥村さん)



奥村さん曰く、この『オススメ編成』を導入したことで、初心者の勝率がはっきりわかるほど向上したそうです。

「具体的には、オススメされたデッキを使うことで、ゲームを始めたてのプレイヤーの勝率が 5 ポイントほど上がっています。初心者が苦労するデッキ編成でつまずかなくなったことで、初期のゲーム体験が大きく変わったのは間違いないでしょう。これは 1 か月後、2 か月後のゲーム内の数字にも影響を及ぼすはず。実際、リリース直後から数字を追っていますが、この機能の認知は継続的に拡大しており、事業的にもポジティブな数字が見えてきています。今は、早く数か月後の数字を見てみたくてワクワクしています(笑)。」(奥村さん)


「私は初心者だけでなく、長らくプレイしてくださっている中級者以上の方々にも発見があったのではないかと考えています。新しいキャラクターを獲得した時に、定番の入れ方を参考にしたり、煩雑だったデッキ作りの手間を減らすことが出来ているでしょう。『オススメ編成』には、これまで多くの対戦型ゲームに存在していた、負けることでしか学んでいけないという “負の PDCA ” を打ち破れる手応えを感じています。」(香城さん)

そして、2019 年 3 月には、『逆転オセロニア』の AI 活用第 2 弾として、同じく初心者の戦略の学習を後押しするために『オセロニア道場』を実装。AI が良き練習相手、師匠となり、対戦ゲームの次なる一歩をサポートしてくれるそうです。

「『逆転オセロニア』では、オセロの盤面展開に加え、キャラクターの適切な運用などのプレイング スキルも要求される高度なゲーム。『オセロニア道場』では、“実戦” に出る前に、AI を練習台として、デッキの使いこなしや定石を学んでいただくことができます。」(奥村さん)

2019 年 2 月に 3 周年を迎えた『逆転オセロニア』は、今後も AI を活用したプレイヤー体験向上を追求。将棋の感想戦的な指導機能や、まったく新しいゲーム体験につながる機能も検討されているようです。

「可能性だけでいえば AI の使い道はまだたくさんあります。ただ、私達の目的はあくまでもゲームの体験を良くすること。AI のための AI 開発にはせず、プレイヤー視点で実用化を検証していきたいと思っています。並行して進めている事例になりますが、人力でおこなうには負荷が大きいゲームバランスの調整を AI が一部サポートする取り組みも、試験的に検証しています。」(奥村さん)


ML Engine などの AI プロダクトを駆使してゲーム作りを変えていく

AI 技術を効果的に駆使することで、プレイヤー体験の向上に成功している『逆転オセロニア』ですが、その基盤に GCP を採用したのはなぜでしょうか?奥村さんは次のように語ります。

「『逆転オセロニア』の AI 基盤を構築するに際し、もちろん GCP 以外の選択肢も検討しました。その際、決め手となったのは GCP がフルマネージドなサービスであったこと。我々は AI の専門家なので、AI の開発や精度向上こそ注力すべきであり、AI の運用コストはできるだけ抑えたいと考えています。しかし、特にゲームサービスではイベントオープン時にリクエスト数が一気に 10 倍になったりするなど、非常に難しい分野。そうしたスケーラビリティも含めすべてお任せしたいと思い、GCP を選びました。」(奥村さん)



現在、『逆転オセロニア』の AI 基盤には、GCP プロダクトをオールスター活用。データの収集・蓄積には BigQuery を、データの加工、モデリングには Google Compute Engine を、モデルのデプロイには、ML Engine を活用。他、モデルに基づき最適なデッキ編成をおこなうサーバーには Google App Engine(GAE)を、モニタリングには Stackdriver を採用しており、細かいところではデータ管理周りは Cloud Pub/Sub や Google Cloud Functions、Cloud Datastore なども駆使しているとのことです。

「基本、AI 基盤はすべて GCP の中で完結させているのですが、中でも気に入っているのが、ML Engine と GAE。ML Engine はデプロイが簡単で、複数モデルの管理が楽などといった開発上のメリットに加え、ゲーム特有の急激なアクセス増にも耐えるスケーラビリティも備えています。GAE も同様に柔軟なスケーラビリティが素晴らしく、フルマネージドであることも含め、人員とコストの削減に大きく貢献。GCP の導入時にはエンジニアが 1 人いればメンテナンスできるという環境を目指したのですが、見事に実現してくれました。なお、実装に際しては、事前に入念な負荷試験を実施。Google Cloud のチームにもご協力いただき、いきなりリクエストが 10 倍になっても想定通りにスケールしてくれることをあらかじめ確認したうえで導入することができました。また、すべてを GCP 上に一気通貫で用意することで、データやサービスの権限管理などが楽になるというメリットもありました。」(奥村さん)

最後に、今回の成功を受け、『逆転オセロニア』以外のプロダクトでも GCP や AI を活用していくかについても聞いてみました。

「はい。今回の実績を足がかりにして、他のタイトルでも AI を利用していきたいと考えています。例えば、同じくデッキという仕組みをもった他の作品に『オススメ編成』を導入していきたいという気持ちがあります。今はまだこういった取り組みは珍しいと思いますが、5 年後、10 年後には、高度な AI が実装されていることが、ゲーム作りの “当たり前” になっているのではないでしょうか。それによってゲームの制作方法も変わっていくのかもしれませんね。また、個人的には Cloud AutoML にも興味があります。従来は AI のアーキテクチャーをリサーチャーが職人芸的に構築していたのですが、そういったことまで自動的にやってくれると、AI 活用の敷居がより下がるでしょう。課題ごとに最適なモデルを作っていくためのオプションの 1 つとして考えていきたいです。」(奥村さん)

※ オセロ・Othello は登録商標です。TM&© Othello,Co. and MegaHouse© 2016 DeNA Co.,Ltd.



株式会社ディー・エヌ・エーの導入事例 PDF はこちらをご覧ください。
その他の導入事例はこちらをご覧ください。


ゲーム攻略を中核に、メディアという領域を超えて、コミュニティや e スポーツなどに事業を発展させている株式会社GameWith(以下、GameWith)。取り組みの一環として、スマートフォン向けの WEB マンガサービス「MangaWith(マンガウィズ)」をリリースしました。「MangaWith」の開発責任者、およびエンジニア 2 名と、開発をサポートしたクラウドエースの担当者 2 名に、「MangaWith」の開発について伺いました。

利用している Google Cloud Platform サービス

Google Kubernetes EngineGoogle Cloud Load Balancing
Container RegistryStackdriver LoggingGoogle BigQuery
Cloud SQLGoogle Cloud StorageCloud Memorystore

写真右から

  • 株式会社GameWith サービス開発部 野口 広矢 氏
  • 株式会社GameWith サービス開発部 田口 航 氏
  • 株式会社GameWith 社長室 MangaWith事業責任者 村田 朋良 氏
  • クラウドエース株式会社 事業企画部 マーケティンググループ リーダー 稲生 庄悟 氏
  • クラウドエース株式会社 事業推進本部 第一営業部 マネージャー鈴木 孝武 氏


株式会社GameWith

2013 年 6 月設立。代表取締役社長は今泉 卓也氏。ゲーム情報等の提供をおこなうメディア事業を展開する株式会社GameWith は国内最大級のゲーム情報・攻略サイト「GameWith」を運営し、ゲームを有利に進めるための情報を提供する「ゲーム攻略」、ゲームを見つけるための情報を提供する「ゲームレビュー」、ゲームユーザー同士で交流できる機能を提供する「コミュニティ」、専属のゲームタレントが YouTube 上でおこなう「動画配信」という主な 4 つのコンテンツを提供しています。2018 年 12 月には、スマートフォン向け WEB マンガサービス「MangaWith」をリリース。今後は日本のみならず海外展開やブロックチェーン、eスポーツなどの事業を拡大予定。


クラウドエース株式会社

(Google Cloud Platform パートナー)

テクノロジー ニュートラルでスケールしやすい GKE を採用

GameWith では、2018 年 12 月より、100 社以上の出版社やエージェントから許諾を受けた、15 万点以上のマンガを配信、販売するマンガ プラットフォーム サービス「MangaWith」を展開しています。「MangaWith」は、1 巻単位でマンガを購入できる「ストア」や、毎週 1 話ずつ最新話が無料で公開される「連載」、ストアで購入したマンガやお気に入りの連載を管理できる「本棚」などの機能で構成されています。

最大の特徴は、マンガの購入や閲覧など一定の条件をクリアすると、特典としてゲームのアイテムを入手できる「ゲームアイテム付きマンガ」です。今後も、新たなサービスの提供やキャンペーンの実施が予定されている 「MangaWith」の開発プラットフォームとして採用されたのが、Google Cloud Platform(GCP)でした。GCP を採用した理由を野口さんは、「GameWith の開発で、他社クラウドの知見を蓄積できたので、MangaWith の開発では、GCP の知見を蓄積したいと思っていました」と話します。

複数のクラウドの知見を蓄積することで、今後、新しいサービスを開発するときに、最適なクラウドを選定することができ、選定の理由も明確にできます。田口さんは、「選択肢が広がることは、会社にとっても大きなメリットになります。もし選択肢が 1 つしかないと、何か問題が発生したときに、それがリスクになってしまいます。今回の MangaWith の開発は、ある意味で GCP の実験台でした(笑)」と話します。

アーキテクチャとして、Google App Engine と Google Kubernetes Engine(GKE)のどちらを選択するかを検討。「MangaWith」は、出勤時や帰宅時にアクセスのピークが来ることが予測されるため、今後、ほかのサービスでもコンテナ化を検討しており、マルチクラウドも視野に入れて、GKE が採用されています。テクノロジー ニュートラル、かつスケールのしやすさも採用の理由の 1 つでした。「アーキテクトの選定では、Google Cloud のエンジニアと相談しながら決めたため迷いはありませんでした。またコンテナ技術は Google で長年使われており、安心感を持って選択できました」と野口さんは話します。



今後は Cloud Armor や GCP のサーバーレスの活用にも期待

「MangaWith」の開発に GCP を採用するための検討は、2018 年 6 月ごろからスタート。仕様を検討しながら開発を繰り返す開発手法により、約 6 か月という短期間で、予定どおり同年 12 月に「MangaWith」をリリースしています。Kubernetes は、数多くのコンポーネントで構成されており、維持運用に工数がかかります。一方、GKE は、基本的な維持運用を GKE に任せることができるので、構築や運用時に考慮すべきことが劇的に少なく、短期間での開発を可能にしています。

「MangaWith」の開発では、エンジニアの野口さん、田口さんを中心に、約 2.5 人月で開発を進めています。デザインや事業サイドのメンバーも含めると、4~5人月のチームで、「MangaWith」をリリースしています。

開発では、固定 IP が必要な部分、必要でない部分に分ける工夫をしています。固定 IP が必要な部分は、スケールの範囲がある程度決まっているので、1 つのサービスが止まっても、サービス全体が止まらない仕組みにしてあります。田口さんは、「Kubernetes を使うことで、CPU の負荷が高くなったらコンテナを自動的に増やすことも簡単にできます。ロジックを書くことなく、Kubernetes が自動で処理してくれるので助かります」と話します。

開発において「MangaWith」は、外部システムとの連携が多いので、「MangaWith」と外部のシステムを GKE による疎結合で連携しています。「たとえば、マンガの暗号化を外部システム連携に任せていますが、暗号化を自社開発すると、工数と時間がかかりすぎるので、リリースに間にあわなくなります。外部システムを疎結合で連携する場合、Pod を切り分けて GLB で振り分けることができるので、異なる要件の環境を作るのもスムーズでした。」(野口さん)

MangaWith に GCP を採用した効果について野口さんは、次のように話しています。「リリース後すぐに、プレスリリースや自社 YouTuber が紹介した影響で、いきなりアクセスがスパイクしたのですが、しっかりとスケールしてサービスが止まることはありませんでした。現在も安定稼働しています。GCP のサービスは、基本的には API でアクセスできるので、ちょっとしたシステム連携もコード化しやすく便利です。」

「GCP を使うのが初めてだったので、開発にどれくらいの工数がかかるか見当がつかなかったため、スケジュール面の心配はありました。最初は手探りの状況でしたが、知見が蓄積されてくると、スピーディーに開発できるようになりました。当初の予定どおり、GCP の知見を社内にストックし、新しいサービス開発の選択肢とすることができました。いいチャレンジだったと思っています。」(村田さん)

今後は、CD(継続的デリバリー)の部分をさらに強化していく予定で、野口さんは「自動化は実現していますが、Blue / Green デプロイメントやカナリア デプロイなどが実現できていないので、オープンソースの運用管理 / 自動化ツール(Spinnaker)も使ってみたいと思っています。導入できた GCP のサービスはまだ半分、今後は Cloud Armor を利用した DDoS 攻撃対策や GCP のサーバーレスの活用にも興味があります」と話します。

「MangaWith のリリースと同じタイミングで公開されたのでまだ使っていないのですが、Cloud NAT も使ってみたいです。Cloud NAT はレイテンシーが高速だと聞いているので期待しています。また現状では、NAT が単一障害点になっているので、早めに対策したいと思っています。Google Cloud のサポートには満足しているので、今後も GCP の活用を総合的にサポートしてほしいと思っています。」(野口さん)

Google Cloud Platform パートナーのサポート

今回「MangaWith」の構築をサポートしたのは、GCP パートナーのクラウドエース。クラウドエースを選定した理由を野口さんは、次のように話します。「いくつかの GCP パートナーに連絡したのですが、クラウドエースのレスポンスが、圧倒的に早かったです。サポート時には、Slack でスレッドを立ててもらい、問い合わせをすると、すぐに返事が返ってくるので、こちらの返事が遅れて申し訳なかったほどです。」

クラウドエースでは、2018 年 11 月よりサポートを開始。サポート内容は、「MangaWith」のステージング環境や本番環境の構築、セキュリティ面でのサポート、Kubernetes のマニフェスト ファイルの作成支援やよくわからない症状が起きたときの対処、リリース直後のスパイク発生時にスケールの上限値をあげるなど。鈴木さんは、「GameWith、Google Cloud、我々のよい連携が短期間での成功を可能にしたと思っています」と話します。

今後のサポートについて稲生さんは、「ゲーム業界は、GCP にとっても有望な市場です。引き続きマーケティングの側面でもサポートを強化していきたいと思っています」と話します。また鈴木さんは、「我々の強みである、Google Cloud の高い技術力により、今後も MangaWith を世界一のメディアにするための支援を続けていきたいと思っています」と話しています。


株式会社GameWithの導入事例 PDF はこちらをご覧ください。

その他の導入事例はこちらをご覧ください。

※この投稿は米国時間 2019 年 3 月 21 日に Google Cloud blog に投稿されたものの抄訳です。

マルチプレーヤー ゲームが高い人気を集めるなか、ゲーム開発企業は、リアルタイムの AAA ゲーム体験をサポートするために、柔軟なグローバル インフラストラクチャを備えた信頼性の高いクラウド プロバイダーを必要としています。私たち Google Cloud は、ゲーム会社や開発スタジオが最も情熱を傾けている仕事、すなわち優れたゲームの開発に力を注げるように、ワールド クラスのインフラストラクチャ使いやすいゲーム ソリューションを長年にわたって手がけてきました。

Ubisoft 傘下の Massive Entertainment が最近リリースした待望久しい『Tom Clancy's The Division 2』では、世界中でゲーム サーバーをホスティングするパブリック クラウド プロバイダーとして Google Cloud が選ばれました。Massive Entertainment と Google Cloud は、ローンチ時にすべてのプレーヤーにスムーズなオンライン エクスペリエンスとサービスを提供するべく緊密に協力してきました。

Massive Entertainment のオンラインおよびライブ オペレーション責任者、Fredrik Brönjemark 氏は次のように述べています。

「初期テストとプライベート ベータにおける Google Cloud の仕事ぶりは目を見張るもので、ローンチ初期段階でのスケーリング能力には感動しました。しかし私たちにとってより重要なことは、信頼できるパートナーを見つけることでした。Google Cloud のエンジニアやゲーム エキスパートのチームは、まさにその条件にぴったりで、私たちが最初にゲーム インフラストラクチャを設計したときから、プライベート ベータ、ローンチに至るまで、常に技術的な支援を提供してくれました。」

Massive Entertainment は、世界中のプレーヤーの需要に対応できる、スケーラブルで信頼性の高いクラウド サービスを探していました。Google Cloud は、Massive Entertainment が常に高いゲーム パフォーマンスを確保できるよう、使いやすさ、柔軟性、スケーラビリティを提供しています。

Google Cloud のセキュアでグローバルな高速ファイバー ネットワークは、世界中のプレーヤーにハイパフォーマンスなゲーム体験を一貫して提供し続けることが可能です。このスケーラブルなインフラストラクチャは、マッチメイキング、ハイスコア、統計データ、アイテム管理など、ゲームで必要とされるデータとコア サービスもサポートしています。

ゲーム開発企業が、ゲーム サーバーのホスティング、プラットフォーム サービス、機械学習、アナリティクスのために Google Cloud をどのように活用しているかについては、こちらをご覧ください。また、Google Cloud 上でのゲーム開発の詳細はこちらのウェブサイトをご覧ください。

- By Sunil Rayan, Google Cloud for Games Managing Director

※この投稿は米国時間 2019 年 2 月 16 日に Google Cloud blog に投稿されたものの抄訳です。

世界中でホーム オートメーションの人気が高まり、それにかかる電力のコストが上昇するにつれて、省エネルギーへの取り組みが多くの消費者にとって大きな関心事となっています。家庭用スマート メーターの登場により、世帯全体の消費電力を測定、記録することも今では可能になりました。さらに、スマート メーターのデータを機械学習モデルで分析すれば、個々の電化製品の挙動を正確に予測できます。それにより、たとえば冷蔵庫のドアが開いたままになっていると推測されるときや、非常識な時間帯にスプリンクラーが突然作動したときに、電力会社が契約者にメッセージを送るといったことも実現できるでしょう。

この投稿では、家庭用電化製品(今回のデータセットでは、たとえば電気ケトルや洗濯機など)の作動状況をスマート メーターの測定データから正確に判定する方法とともに、LSTM(long short-term memory)モデルなどの新しい機械学習テクニックについてご紹介します。電化製品の作動状況がアルゴリズムで判定できるようになれば、それに対応したアプリケーションも作れるようになります。たとえば、次のようなものが考えられます。

私たちは、Google Cloud Platform(GCP)を使用して、エンドツーエンドのデモ システムを開発しました。データ収集には Cloud IoT Core、機械学習モデルの構築には TensorFlow、モデルのトレーニングには Cloud Machine Learning Engine(Cloud ML Engine)、リアルタイムでのサービス提供と予測には Cloud Pub/SubApp Engine、Cloud ML Engine を使用しています。本稿を読みながらご覧いただけるように、完全なソース ファイルはこちらの GitHub リポジトリから参照できます。

デモ システムの概要

IoT デバイスの人気の高まりと機械学習テクノロジーの発展により、新しいビジネス チャンスが生まれています。本稿では、スマート メーターが収集した総電力の測定値を最新の機械学習テクニックで処理し、家庭用電化製品(たとえば電気ケトルや洗濯機)の作動状況(電源オンかオフか)を推測する方法をご紹介します。GCP だけで開発したエンドツーエンドのデモ システムには次のものが含まれています。

図 1. デモ システムのアーキテクチャ

下のアニメーションは、Cloud IoT Core を介して Colab に取り込まれた実際の消費電力データのリアルタイム モニタリングを示しています。

図 2. リアルタイム モニタリングの様子

IoT によって広がる機械学習の可能性


データの取り込み
機械学習モデルのトレーニングには十分な量の適切なデータが必要です。IoT の場合は、スマート IoT デバイスが収集したデータを遠く離れた中央のサーバーに安全かつ確実に送信するために、さまざまな課題を克服しなければなりません。特に、データのセキュリティや伝送の信頼性、ユース ケースに応じたタイムリー性などを考慮する必要があります。

Cloud IoT Core は、世界中に分散した数百万のデバイスに簡単かつセキュアに接続して、それらのデバイスを管理するとともにデータを取り込むフルマネージド サービスです。デバイス マネージャとプロトコル ブリッジの 2 つが主要機能となります。

デバイス マネージャは、デバイスを識別して認証し、その識別情報を保持することで、個々のデバイスを大まかな方法で設定、管理できるようにします。また、個々のデバイスの論理構成を保存し、デバイスの遠隔操作を行うことができます。たとえば、大量のスマート メーターのデータ サンプリング率を一斉に変更するようなことも可能です。

プロトコル ブリッジは、接続しているすべてのデバイスを対象に自動でロード バランシングを行うエンドポイントを提供するとともに、MQTT や HTTP などの業界標準プロトコルを介したセキュアな接続をネイティブでサポートします。また、デバイスの遠隔測定データを Cloud Pub/Sub にパブリッシュすれば、後でその測定データを下流の分析システムに渡すことができます。私たちのデモ システムでは MQTT ブリッジを採用し、以下に示す MQTT 固有のロジックをコードに組み込んでいます。


  def publish(self):
    # Finish if inactive
    if not self._active:
        return

    # Process network events.
    self.client.loop()

    # Wait if backoff is required.
    if Publisher.should_backoff:
        # If backoff time is too large, give up.
        if Publisher.minimum_backoff_time > MAXIMUM_BACKOFF_TIME:
            print('Exceeded maximum backoff time. Giving up.')
            return
        # Otherwise, wait and connect again.
        delay = (Publisher.minimum_backoff_time + 
                 random.randint(0, 1000) / 1000.0)
        print('Waiting for {} before reconnecting.'.format(delay))
        time.sleep(delay)
        Publisher.minimum_backoff_time *= 2
        self.client.connect(self.mqtt_bridge_hostname, self.mqtt_bridge_port)

    # Refresh token if JWT IAT has expired.
    seconds_since_issue = (datetime.datetime.utcnow() - self._jwt_iat).seconds
    if seconds_since_issue > 60 * self.jwt_exp_mins:
        print('Refreshing token after {}s').format(seconds_since_issue)
        self._jwt_iat = datetime.datetime.utcnow()
        self.client = self.get_client()

    # Generate payload
    d, t = self._data[self._count]
    Publisher.rotate_message(self._msg, d, t)
    payload = json.dumps(self._msg).encode('utf-8')

    # Publish "payload" to the MQTT topic. qos=1 means at least once
    # delivery. Cloud IoT Core also supports qos=0 for at most once
    # delivery.
    self.client.publish(self._mqtt_topic, payload, qos=1)
    self._count += 1

データの流れ
データが Cloud Pub/Sub にパブリッシュされると、Cloud Pub/Sub は「プッシュ エンドポイント」(一般に、データを受け付けるゲートウェイ サービス)にメッセージを送ります。私たちのデモ システムの場合、Cloud Pub/Sub は、App Engine がホスティングするゲートウェイ サービスにデータをプッシュし、そこから Cloud ML Engine がホスティングする機械学習モデルにデータを転送して推論を実行させます。また、それとともに、未加工データと受け取った予測結果を BigQuery に格納し、後で(バッチ)分析できるようにします。

私たちのサンプル コードはビジネス固有のさまざまなユース ケースに応用できますが、デモ システムでは未加工データと予測結果の可視化を行っています。コード リポジトリには、次の 2 つのノートブックが含まれています。


README ファイルと付属のノートブックで説明されているデプロイ方法に従えば、図 2 の表示を再現できるはずです。一方、ほかの方法でデータ分割パイプラインを作りたい場合は、Cloud Dataflow や Pub/Sub I/O を使用すれば、同様の機能を備えたアプリケーションを構築できます。

データ処理と機械学習


データセットの概要と調査結果
エンドツーエンドのデモ システムを再現可能なものにするため、私たちは UK-DALE(UK Domestic Appliance-Level Electricity、こちら 1 からダウンロード可能)データセットを使用して、総電力の測定値を基に個々の電化製品のオン / オフを予測するモデルをトレーニングしました。UK-DALE は、5 世帯の世帯全体の電力消費と個々の電化製品の消費電力を 6 秒ごとに記録しています。

デモ システムでは世帯 2 のデータを使っており、このデータセットには全部で 18 個の電化製品の消費電力が含まれています。データセットの粒度(サンプリング レート 0.166 Hz)を考慮すると、比較的消費電力の少ない電化製品の評価は困難なため、ラップトップやコンピュータ ディスプレイなどの消費電力についてはこのデモに含まれていません。後述のデータ調査結果に基づいて、18 個の電化製品のうち、ランニング マシン、洗濯機、食洗機、電子レンジ、トースター、電気ケトル、炊飯器、電気コンロの 8 個だけを調査対象とすることにしました。

下の図 3 は、選択した 8 個の電化製品の消費電力ヒストグラムです。どの電化製品もほとんどの時間は電源オフになっているので、大半の測定値はゼロに近くなります。また図 4 は、選択した電化製品の消費電力の合計(app_sum)と世帯全体の消費電力(gross)との比較を示しています。デモ システムに対する入力は全体の消費電力量(青い曲線)だということに注意してください。これが最も手に入りやすく、家の外でも測定できる消費電力データなのです。

図 3. 調査対象の電化製品とその電力需要のヒストグラム

図 4. 世帯 2 のデータ サンプル(2013 年 7 月 4 日 : UTC)

図 4 に示した世帯 2 のデータは 2013 年の 2 月下旬から 10 月上旬までのものですが、先頭と末尾の近辺には欠損値があるため、デモ システムでは 6 月から 9 月末までのデータを使用しています。

表 1 は、選択した電化製品の実際の要約統計をまとめたものです。予想どおり、データは個々の電化製品のオン / オフ状態と個々の電化製品の消費電力規模によって極端にバランスの悪いものになっており、それが予測タスクを難しくする主要因になっています。

表 1. 消費電力の要約統計

データの前処理
UK-DALE は個々の電化製品のオン / オフ状態を記録していないため、前処理において特に重要だったのは、各タイムスタンプにおける個々の電化製品のオン / オフ状態のラベル付けでした。電化製品の電源がほとんどの時間でオフになっており、ほとんどの測定値がゼロに近いことから、消費電力が測定値の標本平均よりも 1 標準偏差高いときは電源がオンであると見なすことにしました。データの前処理のコードはノートブックに含まれており、こちらから処理済みのデータをダウンロードすることもできます。

前処理後のデータを CSV 形式にしているので、機械学習モデル トレーニングの入力パイプラインなどでは、TensorFlow の Dataset クラスが、データのロードと変換のための便利なツールとして機能します。たとえば、次のコードの 7 行目から 9 行目では指定された CSV ファイルからデータをロードし、11 行目から 13 行目ではデータを時系列シーケンスに変換しています。

  def _mk_data(*argv):
            data = {'ActivePower_{}'.format(i+1): x
                         for i, x in enumerate(tf.split(argv[0], seq_len))}
            flags = [tf.split(x, seq_len)[-1][0] for x in argv[1:]]
            return (data, tf.cast(tf.stack(flags), dtype=tf.uint8))

      record_defaults = [tf.float64,] + [tf.int32] * (len(cols) - 1)
      dataset = tf.contrib.data.CsvDataset(
              [data_file,], record_defaults, header=True, select_cols=cols)

      dataset = dataset.apply(
              tf.contrib.data.sliding_window_batch(window_size=seq_len))
      dataset = dataset.map(_mk_data, num_parallel_calls=os.cpu_count())

データの不均衡という問題については、大きいクラスをダウンサンプリングするか、小さいクラスをアップサンプリングすれば対処できます。私たちのデモでは、確率的ネガティブ ダウンサンプリングを提案しています。一定の確率としきい値に基づき、少なくとも 1 つの電化製品がオンになっているサブシーケンスは残すものの、すべての電化製品がオフになっているサブシーケンスはフィルタリングします。次のコードが示すように、フィルタリング ロジックは tf.data API と簡単に統合できます。


  def _filter_data(data, labels):
             rand_num = tf.random_uniform([], 0, 1, dtype=tf.float64)
             thresh = tf.constant(filter_prob, dtype=tf.float64, shape=[])
             is_all_zero = tf.equal(tf.reduce_sum(labels), 0)
             return tf.logical_or(tf.logical_not(is_all_zero), tf.less(rand_num, thresh))
    if train_flag:
        dataset = dataset.filter(_filter_data)

最後に、『Data Input Pipeline Performance』ガイドのベスト プラクティスに従い、入力パイプラインからデータがロードされるのを漫然と待って GPU/TPU リソースを無駄にするようなことがないようにしましょう(トレーニング プロセスの高速化のために GPU/TPU が使用されている場合)。GPU/TPU を最大限に活用するには、次のコードに示すように、並列マッピングを使ってデータ変換とプリフェッチを並列化し、前処理とモデル トレーニングのステップが同時に実行されるようにします。


  if shuffle:
        dataset = dataset.apply(
          tf.contrib.data.shuffle_and_repeat(
            buffer_size=batch_size * 10,
            count=num_epochs))
    else:
        dataset = dataset.repeat(count=num_epochs)

    dataset = dataset.batch(batch_size)
    dataset = dataset.prefetch(buffer_size=None)

機械学習モデル
私たちは分類モデルとして LSTM ベースのネットワークを採用しています。RNN(再帰型ニューラル ネットワーク)と LSTM の基礎については『Understanding LSTM Networks』をご覧ください。図 5 は、私たちのモデル設計を図示したものです。長さ n の入力シーケンスが多階層の LSTM ネットワークに送られ、m 個のすべてのデバイスについて予測が行われます。LSTM セルへの入力のためにドロップアウト層を追加し、シーケンス全体の出力を完全接続層に送るようにしました。私たちはこのモデルを TensorFlow の Estimator として実装しています。

図 5. LSTM ベース モデルのアーキテクチャ

上記アーキテクチャの実装方法としては、TensorFlow ネイティブ API(tf.layerstf.nn)と Keras API(tf.keras)の 2 つがあります。

Keras は、TensorFlow のネイティブ API と比べて高レベルの API であり、使いやすさ、モジュール性、拡張性の 3 つの長所を兼ね備えたディープ ラーニング モデルのトレーニングと提供を可能にします。一方、tf.keras は TensorFlow による Keras API 仕様の実装です。次のコード例では、LSTM ベースの分類モデルを両方の方法で実装しています。比較してみてください。

TensorFlow のネイティブ API を使用したモデルの実装 :

  # RNN network using multilayer LSTM
  cells = [tf.nn.rnn_cell.DropoutWrapper(
    tf.nn.rnn_cell.LSTMCell(params['lstm_size']), input_keep_prob=1 - params['dropout_rate'])
    for _ in range(params['num_layers'])]
  lstm = tf.nn.rnn_cell.MultiRNNCell(cells)

  # Initialize the state of each LSTM cell to zero
  state = lstm.zero_state(batch_size, dtype=tf.float32)
  outputs, states = tf.nn.dynamic_rnn(cell=lstm,
                                      inputs=tf.expand_dims(seq_data, -1),
                                      initial_state=state,
                                      dtype=tf.float32)

  # Flatten the 3D output to 2D
  flatten_outputs = tf.layers.Flatten()(outputs)
  logits = tf.layers.Dense(params['num_appliances'])(flatten_outputs)

Keras API を使用したモデルの実装 :

  # RNN network using multilayer LSTM with the help of Keras
  model = keras.Sequential()
  for _ in range(params['num_layers']):
    model.add(
      keras.layers.LSTM(params['lstm_size'],
                        dropout=params['dropout_rate'],
                        return_sequences=True)
    )

  # Flatten the 3D output to 2D
  model.add(keras.layers.Flatten())

  model.add(keras.layers.Dense(params['num_appliances']))
  logits = model(tf.expand_dims(seq_data, -1))


トレーニングとハイパーパラメータ調整
Cloud ML Engine は、トレーニングとハイパーパラメータ調整の両方をサポートしています。図 6 は、さまざまな組み合わせのハイパーパラメータを使って複数回試行したときの、電化製品全体の平均精度、再現率、F 値を示しています。ハイパーパラメータの調整により、モデルのパフォーマンスが大幅に向上しています。

図 6. ハイパーパラメータ調整と学習曲線

表 2 は、ハイパーパラメータ調整で最高のスコアを叩き出した 2 つの実験を選び、そのパフォーマンスをまとめたものです。

表 2. スコアの高い 2 つの実験のハイパーパラメータ

表 3 は、個々の電化製品における予測の精度と再現率を示しています。「データセットの概要と調査結果」の項で述べたように、電気コンロとランニング マシンについては、ピーク時の消費電力がほかのデバイスよりもかなり低かったため、予測が難しいことがわかります。

表 3. 個々の電化製品における予測の精度と再現率

まとめ

以上、スマート メーターの測定データのみを基に電化製品の作動状況を正確に判断する方法を、機械学習を取り入れたエンドツーエンドのデモ システムを用いて解説しました。システム全体をサポートするため、Cloud IoT CoreCloud Pub/SubCloud ML EngineApp Engine、BigQuery などを組み合わせており、これらの GCP プロダクトはデータ収集 / 取り込み、機械学習モデルのトレーニング、リアルタイム予測など、デモの実装に必要な特定の問題を解決します。このシステムに興味のある方は、コードデータの両方を入手して、ぜひお試しください。

より能力の高い IoT デバイスと、急速に発展を遂げている機械学習が交わる領域では、もっと面白いアプリケーションがこれからもどんどん開発されていくと、私たちは楽観的に考えています。Google Cloud は、IoT のインフラストラクチャと機械学習トレーニングの両方を提供することで、新しくて能力の高いスマート IoT の可能性を追求し、現実のものにしていきます。

* 1. Jack Kelly and William Knottenbelt. The UK-DALE dataset, domestic appliance-level electricity demand and whole-house demand from five UK homes. Scientific Data 2, Article number:150007, 2015, DOI:10.1038/sdata.2015.7.

- By Yujin Tang, ML Strategic Cloud Engineer, Kunpei Sakai, Cloud DevOps and Infrastructure Engineer, Shixin Luo, Machine Learning Engineer and Yiliang Zhao, Machine Learning Engineer
Share on Twitter Share on Facebook

※この投稿は米国時間 2019 年 3 月 19 日に Google Cloud blog に投稿されたものの抄訳です。

新しい AAA のマルチプレーヤー ゲームが配信初日に獲得する同時接続プレーヤーの数はどれくらいなのか、想像してみてください。数千人、それとも数万人、いや数十万人でしょうか?

無料でプレーできるバトル ロワイヤル ゲーム『Apex Legends』は、配信前にマーケティングや宣伝活動を行っていないにもかかわらず、2019 年 2 月 4 日 月曜日の配信開始後わずか 8 時間でユニーク プレーヤー数が 100 万人を超えました。配信開始後最初の週末には同時接続プレーヤー数が 230 万人に達し、現在は配信後わずか 1 か月ながら 5,000 万人のユニーク プレーヤーを抱えています。

これだけ多くのプレーヤーが利用していると、ゲームを管理する側は緊張のあまり神経がどうにかなってしまいそうです。配信開始時に接続の問題が起きれば、そのゲームは永遠に立ち直れなくなるかもしれません。ゲームの評価や収益、寿命などはローンチの成功にかかっています。最高のマルチプレーヤー体験に堅牢なインフラストラクチャが必要なのは当然のことです。

Apex Legends は、Respawn Entertainment が開発し、Electronic Arts が配信していますが、主要プラットフォームへの対応については、Unityの Multiplay チームでゲーム サーバー ホスティングに携わるスペシャリストたちが担当しています。Multiplay は、ゲーム サーバーをサービスとして運営し、高水準のサービスとフレームワークを提供してゲームの継続的な成長を支えています。また、米国、欧州、アジアにまたがる 10 の地域において、グローバル規模でのシームレスなゲーム サーバー ホスティングを Apex Legends 向けに提供するため、Google Cloud を活用しています。

Multiplay は、配信開始時における Apex Legends ゲーム サーバーの 95 % を Google Cloud Platform で運用し、残り 5 % をオンプレミスで運用することにしました。コンピューティング サービスの中核となるのは、Google Cloud のグローバル ネットワーク上で仮想マシンを提供する IaaS の Google Compute Engine です。プレーヤーの急増に応じてリソースを容易に増強できることは多くのゲームにとって重要な要件であり、配信開始後 1 時間で 800 万ダウンロードを記録した Apex Legends にも当然あてはまりますが、これを Compute Engine は可能にします。さらに、Compute Engine の仮想マシンはプレーヤーの需要に合わせてすぐに終了できるため、必要のないゲーム サーバーを減らしコストを最適化できます。

Multiplay にとっては、Google Cloud のグローバル プライベート ネットワークも重要なインフラストラクチャ要素です。最高のプレーヤー体験を保証するためには、高速接続、低レイテンシ、そしてゲーム サーバーをすばやく同時に更新することが必要不可欠です。

Multiplay の広報担当者は次のように述べています。「私たちが Google Cloud を選んだのは、信頼できるクラウド インフラストラクチャとテスト段階での卓越したパフォーマンスが理由です。これらの点で Google Cloud は他のプロバイダーを圧倒していました。ローンチのシミュレーションや、ローンチに必要なコアを世界規模で確保するにあたって、Google Cloud チームが示してくれた熱意にも感謝しています。」

Multiplay は Unity Technologies(人気の高いサードパーティ ゲーム開発エンジン Unity の開発元)傘下の企業で、Google Cloud とは長きにわたって関係を築いてきました。Google Cloud と Multiplay は、2016 年の『Titanfall 2』(開発元は Respawn Entertainment)のローンチでも協力しています。

ゲーム開発者やプラットフォーム企業が、ゲーム サーバーのホスティングやプラットフォーム サービスをグローバル規模で提供するにあたって Google Cloud をどのように活用しているかについては、こちらをご覧ください。また、Google Cloud 上でのゲーム開発の詳細は、こちらのウェブサイトをご覧ください。

- By Sunil Rayan, Google Cloud for Games Managing Director
Share on Twitter Share on Facebook

※この投稿は米国時間 2019 年 1 月 24 日に Google Cloud blog に投稿されたものの抄訳です。

企業は膨大なデータを生み出し続けており、そのようなデータを分析、保存して有意義な情報を引き出せるプラットフォームがますます必要になっています。調査や分析を専門とする Gartner のような会社は、そうした企業がクラウド データ ウェアハウス プロバイダーを評価し、比較するうえで役に立つ重要な方法を提供しています。

Gartner が先ごろ公開した 2019 年版の Magic Quadrant for Data Management Solutions for Analytics(アナリティクス向けデータ管理ソリューションのマジック・クアドラント)レポートにおいて、Google はリーダーの評価を得ました(レポートはこちらから無料でダウンロード可能)。この評価は、Google Cloud の主要データ アナリティクス プロダクトを対象としたものです。その中には、BigQuery(サーバーレスなマネージド データ ウェアハウス)、Cloud Dataproc(Spark と Hadoop のマネージド サービス)、Cloud Dataflow(ストリーミング データやバッチ データを処理)などが含まれます。以下では、レポートで分析されている Google Cloud プロダクトの特徴について紹介します。

シンプルさとスピード

BigQuery はパフォーマンスが高く、大規模データセットに対する複雑なクエリの結果を数秒で返します。BigQuery のお客様の多くは、50 TB 以上のデータが格納されたデータ ウェアハウスを運用しています(一部のお客様の場合は 100 PB 以上です)。こうしたお客様の半数以上は継続的に、もしくは 1 日の中で頻繁に、データをロードしています。これらのお客様は、インフラストラクチャをメンテナンスすることなく、サーバーレスなプラットフォームでデータの ETL(抽出、変換、ロード)、および分析を実行できることを高く評価しています。

さまざまなユース ケースに対応できるサーバーレス データ ウェアハウス

BigQuery が有する大きなメリットの 1 つは、従来のデータ ウェアハウスからデータ サイエンスまで、幅広いユース ケースに対応できることです。私たちはこの 1 年、BigQuery への新機能の導入を精力的に進めてきました。こうした新機能には、財務や金融の分析に対応したデータ型のサポートや、地理空間データを扱える BigQuery GIS、BigQuery ML による機械学習機能などがあります。さらに、BigQuery はストリーミング取り込み機能を備えているため、オペレーショナル(リアルタイム)サーバーレス データ ウェアハウスに適しています。

拡大するエコシステム

全体的な市場での利用拡大に伴い、Google Cloud のアナリティクス プロダクトは、急成長するパートナー エコシステムの恩恵を受け続けています。パートナー エコシステムにはサービス プロバイダーや、ビジネス インテリジェンス(BI)およびデータ統合ベンダーが含まれます。2018 年には、有力な業界ソリューションを提供する Confluent、Dell Boomi、Informatica、Looker、Reltio、Tableau、ThoughtSpot などとのパートナーシップを拡大しました。

ますます多くの企業が、Google Cloud のサーバーレス データ ウェアハウスおよびアナリティクス プロダクトに価値を見いだしています。詳細については Gartner Magic Quadrant for Data Management Solutions for Analytics の全文をご覧ください(こちらから無料でダウンロードできます)。

Gartner は、Gartner リサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。また、最高のレーティングまたはその他の評価を得たベンダーのみを選択するようテクノロジーの利用者に助言するものではありません。Gartner リサーチの発行物は、Gartner リサーチの見解を表したものであり、事実を表現したものではありません。Gartner は、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の保証を行うものではありません。

- By Sudhir Hasbe, Director, Product Management, Google Cloud, Google Cloud Platform
Share on Twitter Share on Facebook



洋服やスマートフォン・タブレットなどのガジェット、金券・外貨など、いらなくなった売りたいものをスマートフォンのカメラで撮影し、アップするだけでその場で査定され、即時現金が銀行口座に振り込まれるということで話題となった即時買い取りサービス『CASH』。2017 年 6 月 28 日のサービスインからわずか 16 時間半で総額 3.6 億円ものアイテムが現金化され、予想を大きく越える反応からサービス提供を一時中断したことも記憶に新しいところです。今回は、そんな同社のバックエンドを Google Cloud Platform(GCP)がどのように支えてきたかについて、担当エンジニアの皆さんにお話いただきました。

利用している Google Cloud Platform サービス

Google Kubernetes EngineGoogle BigQueryGoogle Compute EngineGoogle Cloud SQLGoogle Cloud StorageGoogle Cloud FunctionsGoogle Stackdriver など

写真左から

株式会社バンク

オンライン ストア作成サービス『STORES.jp』などで知られる株式会社ブラケット(現:ストアーズ・ドット・ジェーピー株式会社)の創業者、光本 勇介氏が 2017 年 2 月に創業したスタートアップ。『見たことのないサービスで新しい市場をつくる』をテーマに、現在は、即時買い取りサービス『CASH』(2017 年 6 月リリース)、あと払い専門の旅行代理店サービス『TRAVEL Now』(2018 年 6 月リリース)を提供中。現在の従業員数は約 60 名(2019 年 1 月時点)。

GCP はエンジニアを開発だけに集中させてくれるプラットフォーム

近年の国内スタートアップで、話題となった企業の 1 つとして知られる株式会社バンク。そのバックエンドには、創業当初から GCP が使われていたそうです。なぜ、GCP を選んだのか、その理由を創業当時からのメンバーである大竹さんは次のように説明してくれました。

「2017 年 2 月にバンクが設立され、『CASH』の開発が始まったのですが、その当時、他のプラットフォームで Kubernetes 対応をうたっているところがなかったのが最大の理由です。Docker 対応ということであれば、他の選択肢もあったのですが、前職でそうしたサービスを導入した際、使いこなせるようになるのに時間がかかってしまいまして(苦笑)。また、Google Kubernetes Engine(GKE)のロード バランサが優秀だということも大きなアドバンテージ。仮想マシンを停止させることなく、処理を継続することのできるライブ マイグレーションも魅力的でした。さらに費用面も非常にリーズナブルで、特に事前予約割引のことを考えなくてよかったのが大きかったです。他のプラットフォームを使っていたときは、定期的にエンジニアが集まって、どれくらい予約しておくかを話し合う必要があったのですが、GCP ではその必要がありません。そうした点も含め、GCP は、開発以外の雑事に時間を取られたくないという思いに応えてくれるプラットフォームだと思います。『CASH』は、私ともう 1 人のエンジニアの 2 人態勢で開発していたので、そうした省力化には本当に助けられました。」(大竹さん)

現在、同社のメイン事業である『CASH』と『TRAVEL Now』を含めた、全サービスが GCP 上で稼働。GKE に API サーバーを構築し、『CASH』のユーザーがアップした商品写真や『TRAVEL Now』のホテル外観写真などは Google Cloud Storage に保存、ほか、データベースに Google Cloud SQL を、ユーザーデータの分析に BigQuery や Firebase、Stackdriver などを活用しています。
近年、多くのサービスで採用の進む GKE。バンクのサービス開発において、もはやなくてはならないものになっているようです。

「未経験者には少しとっつきにくいところがあるのは事実ですが、リソースをすべて YAML で管理するのがデファクト スタンダードな利用法になっているため、自然と "Infrastructure as Code" を守れるようになっている点はとても気に入っています。また、そのリソースのアーキテクチャーが極めて優秀。コンテナが、下からコンテナを管理する Pod、Pod を管理する ReplicaSet、ReplicaSet を管理する Deployment といったようなレイヤー構造になっていて、上のレイヤーは下のレイヤーのリソースのことをまったく意識しなくていいんです。これは、いわゆる OSI 参照モデルにも通じるところがあるのではないでしょうか。」(高橋さん)

「私は、コンテナ ランタイムやネットワーク、ストレージなどが、OCI(Open Container Initiative)、ONI(OpenNet Initiative)といったかたちで規格化されているところを評価しています。ONI で言うと、flannel などを使ってオーバーレイで通信してもいいし、Cisco の提供している仕組みを使ってもいい、そういう自由度の高さが確保されているのはありがたいですね。GKE そのものにも言えることですが、ロックインされることは極力避けたいと考えているので。」(中村さん)

なお、現在、『CASH』と『TRAVEL Now』の開発チームには合わせて約 25 名のエンジニアが所属しており、そのうち、約 10 名がサーバーサイドの開発を担当しています。そのうえで、「全員が Kubernetes を使えるようにするのは、まだあまり現実的ではない」(中村さん)ということで、デプロイメントに関しては、1 つのシェル スクリプトを実行するだけで完了するという仕組みを用意し、開発効率を向上させているそうです。

「GKE を多人数で運用していくための工夫としては、それ以外にも、開発環境のスケールを Helm というコンポーネントを使って、YAML を水平に書き換えるということをやっています。」(高橋さん)

Stackdriver や Cloud Functions などの GCP プロダクトで運用効率を向上

『CASH』『TRAVEL Now』で活用されているのは、もちろん、GKE だけではありません。バンクでは、GCP のさまざまなプロダクトを駆使して、サービスの品質を高めています。例えば、ログの収集には Stackdriver Logging が活躍。収集されたログは即時 BigQuery に集約され、データ解析チームが生のログデータを直接利用できるようになっています。

「それによって、たとえば、ユーザーからの問い合わせに素早く対応できるようになったのは大きなメリットです。他のプラットフォームでは、複数のサーバーにログが分散してしまうので、それをどのように集約して、運用するかを考える担当者が必要になりますが、GCP ならそれらをすべてお任せできるので、非常に助かりますね。」(高橋さん)

「そのほか、GCP は通知基盤の効率アップにも貢献しています。以前は、データベースから引いてきた、ある特定のユーザーに通知を送る際は、愚直に 1 件ずつ Firebase の API を叩いており、それが何万件にもなると丸一日かかってしまっていました。そこで現在は、それを Cloud Functions に移行。デバイス トークンを Promise を使用して並列化し、急な大量通知の要望に応えられるようにしています。なお、こちらについては、今後は、GKE 上でサーバーレス コンピューティングを実現する Knative を利用することも検討中です。」(中村さん)

「こうした個別のプロダクトの良さに加え、個人的に私が GCP の大きな売りになっていると考えているのが、プロジェクトという単位で環境を分割できること。ステージング環境とプロダクション環境を簡単に分けられるのは本当に便利です。他のプラットフォームでは見たことのない機能だったので、はじめて知ったときはとても感心しました。また、GCP は Google のアカウントと紐付けられているので、権限管理が楽なのも気に入っています。」(大竹さん)

最後に、バンク開発チームの今後の GCP 活用予定についても聞いてみました。

「今、『TRAVEL Now』への導入を検討しているのは、昨年秋に β 版が公開されたマネージド NAT サービスの Cloud NAT です。『TRAVEL Now』では、サービスの特性上、外部のパートナー企業の API サーバーに接続することがあるのですが、その際、特定の IP アドレスを指定されることがあるんです。現在は、Google Compute Engine 上にプロキシ サーバーを立てて、そこ経由でアクセスしているのですが、そのやり方では、サーバーにトラブルが起きた際に、一切の接続ができなくなってしまうので、Cloud NAT を導入することで解決できないかと考えています。」(大竹さん)

「より円滑なサービス運営のために、プロジェクト間、あるいは GKE クラスタ間でのトラストフルなネットワークを構築したいと考えています。具体的には、共有 VPC を組んで、都度、IP を払い出すような仕組みを検討中です。あと、Istio が GKE のコンポーネントに追加されると聞いたので(Istio on GKE  β 版)、そちらにも期待しています。現在、バンクでは、Blue / Green デプロイメントなど、デプロイの安全性を担保する手法を採り入れているのですが、これを Istio に任せられれば、YAML をもっとシンプルにできますよね。」(高橋さん)

株式会社バンクの導入事例 PDF はこちらをご覧ください。
その他の導入事例はこちらをご覧ください。
Share on Twitter Share on Facebook

2019 年 3 月 7 日放送  Google Cloud でセキュアにアプリケーションを開発しよう

番組で説明した資料はこちらで公開しています。

[Cloud OnAir] Google Cloud でセキュアにアプリケーションを開発しよう 2019年3月7日 放送 from Google Cloud Platform - Japan

Cloud OnAir では、各回 Google Cloud のエンジニアがトピックを設け、Google Cloud の最新情報を解説しています。過去の番組、説明資料、さらには視聴者からの質問と回答はこちらよりご覧いただけます。 最新の情報を得るためにもまずはご登録をお願いします。
Share on Twitter Share on Facebook

図 1. パケット化されたデータ フロー

ネットワーク エンジニアは通常、エンドポイント自体ではなく、エンドポイント間に位置するネットワーク機器に着目します。図 1 の Router-1 が示すように、トラフィックの大半はルータを通過します。トラフィックは、いわゆる goes-inta インターフェースから入り、goes-outta インターフェースから出ていきます。ルータ自体を終点とするトラフィックは比較的わずかです。それに対し、ほかのネットワーク機器を終点とするトラフィックには、コントロール プレーン通信、管理トラフィック、悪意のある攻撃などがあります。この「通過と終点」のトラフィック バランスはすべてのネットワーク機器(スイッチ、ルータ、ファイアウォール、ロード バランサ)で共通です。そのため、ネットワーク機器の構成、運用、障害対応では「goes-inta / goes-outta」の世界観でものを見ます。

ところが、クラウド エンジニアになると、アトミックな単位が変わります。パケットとヘッダではなく、ワークフローとそれに関連づけられたデータセットになるのです。図 2 は、典型的な 3 層のウェブ システムを使ってこの概念の違いを示したものです。従来の「ネットワーク」は抽象化、分散化されています。トラフィック パターンはひっくり返り、多くのトラフィックの起点 / 終点は、クラウド リソース間のネットワーク機器ではなく、クラウド リソース上のクラウド サービスやアプリケーションとなります。

図 2. クラウド ベースの 3 層ウェブ システム

このことは、http-inbound と呼ばれるファイアウォール ルールの設定方法を見ればわかります。このルールは VPC との関連で設定されるものの、ターゲットは gcloud コマンドの --target-tags、 もしくは --target-service-accounts=[IAM Service Account] パラメータで指定しなければなりません。しかも、トラフィックの入り口か出口かに応じて起点または終点のどちらか一方のフィルタを設定するだけで、両方を設定したりはしません。これは、情報の半分がターゲット自体だと見なされているからです。つまり、着目の対象は特定のクラウド サービスに出入りするデータなのです。

2. 構成要素が変わったことを認識する

オンプレミスからクラウドへと認識を切り替えるためには、ネットワーキングの細部に関する既存の知識を、これから学ぼうとしている新しいソリューションにはめ込むところで留まっていてはなりません。新しい目標はワークフローなのです。

旧来のネットワーキングには、スイッチ、ルータ、ファイアウォール、ロード バランサ、ケーブル、ラック、電源、BTU 計算といった具体的な構成要素がありました。また、IETF の RFC が定義する機能やメソッド、ベンダーのプロプライエタリなプロトコルとその手順、有限オートマトン、データ構造、タイマーというような無形の構成要素もあります。これらを組み合わせ、エンドユーザーと、ビジネスを動かすアプリケーションとの間で相互接続の環境を構築する、というのが従来のやり方でした。こうした仕組みの実装には数日から数週間かかり、しかもネットワークが拡大するにつれて、付随する管理作業や運用コストもビジネスの規模に合わないほど大きくなっていきました。

クラウド ソリューションは、この複雑さをソフトウェア問題として扱い、抽象化のためのレイヤをエンドユーザーとワークロードの間に追加し、旧来の構成要素に関連する複雑な部分を取り除いたり隠したりします。クラウドでの構成要素は、Google Compute EngineCloud SQLCloud FunctionsCloud Pub/Sub といったクラウド ベースのサービスや機能です。IaaS、PaaS、SaaS、FaaS ソリューションの提供というニーズに基づいて、これらの新しいリソースを組み合わせていきます。Cloud VPNCloud Interconnect で企業ネットワークをつなぎ、VPCCloud Load Balancing、Docker コンテナを Google Kubernetes Engine でデプロイするようになると、デプロイのスケジュールは、数日~数週間という単位から、数秒~数分という単位へと短縮されます。Cloud Deployment ManagerStackdriver、Google Cloud 料金計算ツールなどを併用すれば、管理の複雑さも最小限に抑えられます。皆さんの仕事は、単にエンドポイント間の接続環境を構築することではなく、インフラストラクチャをコードとして扱い、仮想環境を実現することになるのです。

3. グローバル ファイバー ネットワークのパワーを理解する

クラウド プロバイダーのインフラストラクチャは通常、世界各地(リージョン)に配置された大規模な複合データセンターによって構成され、サービスの冗長性を確保するためにリージョンをゾーンに分割するという形になっています。そしてリージョン間の接続には、多くの場合、公衆インターネットを使用しています。


図 3. 一般的なクラウド プロバイダーのグローバル インフラストラクチャ

このアプローチ(図 3)には、世界中のどこにいてもインターネット経由でアクセスできるという利点があります。しかし、次のような欠点もあります。

図 4. Google Cloud が提供する Network Service Tiers プレミアム階層

Google Cloud の Network Service Tiers プレミアム階層は、こうした欠点を一気に解消します。図 4 に示すように、公衆インターネットはグローバル VPC の外側にはじき出され、ネットワークの中核は Google 所有のプライベート ファイバー ネットワークになります。

これにより、さまざまな面で状況が改善されます。


もちろん、こうしたメリットよりも低料金に魅力を感じるお客様向けとして、Google Cloud では、公衆インターネット経由でトラフィックを送信する、料金の安い Network Service Tiers スタンダード階層も提供しています。

4. API、クライアント ライブラリ、SDK、コンソールの柔軟性を活用する

一部のネットワーク機器には GUI ベースの管理プログラムやウェブ コンソールが備わっていますが、それでも私のように、ネットワーク機器の CLI を操作することにキャリアの大半を費やしてきた方も少なくないのではないでしょうか。GUI は基本的な操作を簡単にし、CLI は難しいことを可能にしてくれます。したがって、構成、運用、障害対応で使うべきは CLI です。

とはいえ、CLI にも限界はあります。新機能が欲しければソフトウェアのアップグレードが必要で、アップグレードするにはまずテストを行わなければなりません。しかし、それには時間とコストがかかります。CLI のコマンド構造や出力が変更されると、既存の自動処理やスクリプトは動かなくなります。また、数百、数千の機器を使っている大規模ネットワークでソフトウェアのバージョンに一貫性がないとしたら、その管理は悪夢のような状況に陥るでしょう。確かに SNMP がありますし、SNMP がダメなら XML スキーマと NETCONF/YANG モデルでシステムを正しい方向に発展させていくことは可能です。しかし、クラウドの世界にいったん足を踏み入れたら、そういったものは、プログラムによるアクセスから得られるものには到底追いつけません。

図 5. Cloud API、クライアント ライブラリ、SDK、コンソール

構成、運用、障害対応という観点から言えば、富士山頂へのルートと同じくらいたくさんの道筋がクラウドにはあり、図 5 はそのことを示しています。自分のスキル レベルに合うものや、仕事をやり遂げるのに適したものを自由に選んでください。Google Cloud では、シェル スクリプトやインタラクティブなセッションに使用できる CLI ベースの SDK が用意されていますが、必ずしもそれを使わなければならないわけではありません。アプリケーションを開発している場合や、プログラムによるアプローチが好みだという場合は、さまざまな機能を提供する多数のクライアント ライブラリから 1 つを選んで使うことをお勧めします。経験が豊富で特定のニーズに応えられるプログラマーの方であれば、REST API 自体に直接アクセスするのも手です。逆に、まだ学習の途上だとか、ビジュアルなアプローチのほうが好きだということなら、コンソールを使ってもかまいません。

上記ツールに加えて、大規模なトポロジーを定期的に作る必要がある場合は、Cloud Deployment Manager の利用を検討するとよいでしょう。クラウド プロバイダーの違いに関係なく機能する、ベンダーに縛られないツールが欲しいということなら、オープンソースの Terraform を調べてみてください。これらのソリューションは、いずれもインフラストラクチャ プログラミングを命令型から宣言型に転換するものです。リソースのプロビジョニングにおいて開発と運用のワークフローをもっと統一的なものにしなければならない場合は、これがうまく合うかもしれません。

まとめ

以上の話について、かなり大変だとの印象をお持ちだとすれば、それは本当に大変だからです。しかし、諦めないでください。このようなネットワークの基本概念を理解するうえで、すぐに役に立つものがあります。それはドキュメントです。

おそらく皆さんは、ネットワーク ベンダーのウェブサイトに用意されているドキュメント セクションのことをよくご存じでしょう。Google Cloud のネットワーキングについて理解するには、同じように Google のドキュメントを熟読するのが一番です。ネットワークの階層レベルやピアリング、ハイブリッド接続といった高水準の概念に関するドキュメントが用意されています。また、個々のクラウド サービスごとにドキュメント セットがあり、コンセプト、ハウツー、クォータ、料金などに細分化されています。それらのクラウド サービスがどのような作りになっているのかを復習し、ブックマークを付けていくと、学習と認定資格取得のプロセスが大幅に楽になります。何よりも、そうして勉強していけば、ずっと優れたクラウド エンジニアになれるでしょう。

最後に、皆さんにはあえて居心地の良い場所の外に出ていくことをお勧めしたいと思います。クラウド エンジニアへの転向は、仮想化、オートメーション、プログラミング、その他新しい分野の専門能力を身につけることを意味します。Google Cloud Platform が VPC をどのように実装しているかを学習するレベルで留まるわけにはいかないのです。短期の目標に加えて長期の目標を設定しましょう。あなたのスキル セットが必要とされ、あなたが価値を提供できる新しい領域はたくさんあります。あなたならできます。1 分たりとも、そのことを疑わないでください。

次回のブログ投稿では、クラウドの学習に対するアプローチについて取り上げる予定です。これを読めば、学習と認定資格の取得プロセスが簡単になり、Professional Cloud Network Engineer を取得するための準備がはかどるはずです。それまでは、Google Cloud に関するノウハウを広げるために、Google Cloud トレーニング チームが用意しているさまざまな手段を試してみてください。そして、今すぐ Google Cloud 認定資格のページにアクセスし、最初の目標を設定しましょう。幸運を祈ります。

- By Tom Taggart, Solution Architect, Google Cloud
Share on Twitter Share on Facebook

※この投稿は米国時間 2019 年 2 月 8 日に Google Cloud blog に投稿されたものの抄訳です。

BigQuery サンドボックスは BigQuery を無料で試せるオプションです。新規ユーザーや学生の方でも、クレジットカードの情報を入力する必要はありません。

企業によって収集されるデータが増加の一途をたどる中、BigQuery のようなサーバーレス データ ウェアハウスこそが、ニーズに合わせてスケーリングできる唯一のプラットフォームだと、多くの組織は考えるようになっています。BigQuery は、大規模な一般公開データセットに対して高度なクエリを実行するための柔軟なウェブ ベースのインターフェースも提供します。こうした BigQuery のメリットを、BigQuery サンドボックスによって、まったく費用をかけずに体験できるようになりました。

Google のサーバーレス クラウド データ ウェアハウスである BigQuery は非常にシンプルなため、標準 SQL クエリの知識と好奇心さえあれば、データから知見を得るための分析作業に着手できます。BigQuery についてもっと知りたい方は、こちらのドキュメントをご覧ください。

BigQuery サンドボックスのユーザーは、有料ユーザーの場合と同じコンピューティング リソースにアクセスでき、有料ユーザーと同様に、大規模および小規模のデータセットに対して SQL クエリを実行したり、BigQuery MLBigQuery GIS のような新しい機能を利用したりすることが可能です。

BigQuery サンドボックスでは、クエリ データ処理を毎月 1 TB まで、ストレージを同 10 GB まで無料で利用できます。すべてのテーブルとパーティションには 60 日間の有効期限があります。なお、BigQuery の一部の機能(DML、ストリーミング、Data Transfer Service)は BigQuery サンドボックスに含まれていません。これらの機能を使いたい場合は、Cloud Console の「UPGRADE」をクリックし(下図右上)、案内に従って料金の支払情報を入力してください。


想定ユーザー

私たちは、支払情報を入力することなく BigQuery を無料で試したいユーザーに向けて、BigQuery サンドボックスを開発しました。


BigQuery サンドボックスと GCP 無料トライアルの違い

Google Cloud Platform(GCP)には、BigQuery サンドボックスと GCP 無料トライアルの 2 つの試用オプションが用意されています。前者の BigQuery サンドボックスは、クレジットカード情報を入力することなく手軽に BigQuery にアクセスしていただける BigQuery 専用オプションです。今すぐ BigQuery を試用し、あとで他の GCP プロダクトを試したい方は、まず BigQuery サンドボックスをお使いになるとよいでしょう。下図左側の「TRY BIGQUERY FREE」ボタン(緑の楕円)をクリックしてください。

後者の GCP 無料トライアルでは、あらゆる GCP プロダクトを 300 ドル分の無料クレジットでお試しいただけます。さまざまなプロダクトを試したい方は、下図右上の「Try free」ボタン(黒の破線の楕円)をクリックすれば GCP 無料トライアルを有効化できます(注 : GCP 無料トライアルを利用するにはクレジットカードが必要です)。


BigQuery サンドボックスをご活用ください

まず、こちらから BigQuery のウェブページにアクセスします。そして「TRY BIGQUERY FREE」ボタンをクリックしてください。案内に従って 4 つのステップを踏むと、60 秒以内に BigQuery のウェブ インターフェースが開き、最初のクエリを作成できるようになります。

最初にどのようなクエリを実行するかはあなた次第です。BigQuery は、Google Cloud の一般公開データセット プログラムの一環として数十の興味深いデータセットをホストしており、これらは素晴らしい出発点になるでしょう。私たちのお客様に人気のあるクエリと、それらに対応するデータセットをいくつかご紹介します。

地図製作者や地図愛好家 :

暗号通貨やブロックチェーンの熱心なユーザー :

ソフトウェア エンジニア :

スポーツ ファン :

クエリの実行後にこちらのボタン(下図の緑の楕円)をクリックすると、Google の無料のデータ可視化プロダクトである Data Studio でクエリ結果を表示できます。

パートナーと Google 社員のコメント

BigQuery サンドボックスが目指すのは、皆さんがすばやく簡単に BigQuery を試し、一般公開データセットや自社のデータを探索していただけるようにすることです。私たちのパートナーと Google 社員のコメントをご紹介します。

「Google は、NOAA のデータを GCP の BigQuery などのツールと統合することで、科学データ フォーマットの理解や分析データの準備に関連する多くの障害を効果的に解消し、一般のユーザーによる NOAA データの利用拡大に貢献しています。Google サービスを一定の制限付きで手軽に、そして無料で利用できるサブスクリプションの導入も、データ分析の敷居を下げています。」― NOAA の最高データ責任者、Ed Kearns 氏

「BigQuery サンドボックスのおかげで、数千の Firebase プロジェクトでアプリケーションの使用状況の把握や、クラッシュが発生したコンテキストの分析、リリース候補の評価が的確にできるようになっています。こうしたことが有意義な判断につながっています。」― Firebase のテクニカル リード マネージャー、Eugene Girard

BigQuery チームからのお願い

BigQuery チームは、皆さんが最初に実行するクエリに注目しています。#bqsandbox のハッシュタグを付けて、ぜひ最初のクエリをコピーしてツイートしてください。

- By Felipe Hoffa, Developer Advocate, Google Cloud Platform and Chad W. Jennings, BigQuery Product Manager
Share on Twitter Share on Facebook


2 月 28 日の放送は、「一歩進んだ Monitoring でアプリケーションを改善しよう」がテーマです。分散コンピューティングやマイクロサービスアーキテクチャの普及によりアプリケーションの複雑度も上がっています。これに合わせて、モニタリング(監視)に求められる要件も複雑化しています。一方、モニタリングを活用することによってユーザー体験を大きく改善することができます。本放送ではモニタリングを取り巻く状況と GCP を活用した実装方法をご紹介します。

現在、システム運用の業務に関わっており、コスト削減、運用業務の負荷軽減といった課題に悩まれている方を対象とした内容です。番組をご覧いただくことで、Google Cloud Platform(GCP)を利用したシステム運用(モニタリング、予防、問題対応) の概要を理解し、実際にどのように導入できるかのイメージを掴んでいただけます。

SLOを決める

システム運用とは、ある決まったサービスレベルでシステムを稼働させることです。このサービスレベルの目標(Service Level Objective)は、サービスの利用者の観点から定めることが求められます。利用者視点で SLO を再定義し、システムの稼働状況をモニタリングすることで、それまで見落としていたことを発見できる可能性もあります。番組では、稼働率を例に、運用者側と利用者側でその捉え方が異なるというケースを紹介します。

GCP を使った運用改善

次に、システム運用に関係する GCP のサービスとして、Stackdriver を詳しく解説します。
Stackdriver とは、高度な故障分析機能を有しており、アプリケーションの動作環境にまで踏み込んだデバッグやサービス間のトレーシングを行うことができます。また、マルチクラウド、ハイブリッドクラウド、オンプレミスと複数環境を統合的に管理することが可能で、さらにはサーバーレスの統合監視プラットフォームとして豊富な機能を一元的に提供します。

番組では、特にモニタリングと問題対応の2つの運用業務に対して、Stackdriver がどのように働くかをリファレンスアーキテクチャやいくつかのサービス(ProfilerTraceDebugger)を通じて、その特徴を説明します。

さらに、Stackdriver を実際にどのように活用しているかをお客様事例(エウレカ株式会社:「株式会社エウレカの導入事例:Stackdriver Logging でのログ監視や、BigQuery を駆使した分析・活用などにより、SLO 99.95% を達成」)を通じて紹介します。

モニタリングを見直すことが、ユーザー体験の改善に向けた第一歩となります。システム運用の次の一手を検討されている方はぜひ番組をご覧ください。


2019 年 2 月 28 日放送 一歩進んだ Monitoring でアプリケーションを改善しよう


番組で説明した資料はこちらで公開しています。
[Cloud OnAir] 一歩進んだ Monitoring で アプリケーションを改善しよう 2019年2月28日 放送 from Google Cloud Platform - Japan

Cloud OnAir では、各回 Google Cloud のエンジニアがトピックを設け、Google Cloud の最新情報を解説しています。過去の番組、説明資料、さらには視聴者からの質問と回答はこちらよりご覧いただけます。 最新の情報を得るためにもまずはご登録をお願いします。
Share on Twitter Share on Facebook


Google Cloud では 2019 年 4 月 18 日(木)、ゲーム業界で活躍するインフラエンジニア、サーバーアプリケーションエンジニア、テクニカルリーダーを対象に「第 7 回 Google Cloud INSIDE Games & Apps」を開催します。
業界をリードする方々や、深い専門知識をもつ Googler をゲストスピーカーに迎え、注目のゲームの裏側や、Google Cloud Platform を中心としたテクノロジーアップデートをお届けします。
今回は、「快適なゲーム開発を叶える、最新の GCP 事例とプロダクトアップデート」 をテーマに、4 月開催の Google Cloud Next '19 San Francisco の リキャップ、 GCP の最新事例などをお伝えします。

開催概要

名 称:第 7 回 Google Cloud INSIDE Games & Apps
会 期:2019 年 4 月 18 日 (木) 15 : 00 - 18 : 45
会 場:ベルサール渋谷ファースト
 〒150-0011
 東京都渋谷区東1-2-20 住友不動産渋谷ファーストタワー
主 催: グーグル・クラウド・ジャパン合同会社
定 員:700 名
参加費 : 無料 (事前登録制)
スピーカー:
  • 株式会社グレンジ
  • 株式会社セガゲームス
  • グーグル合同会社
  • グーグル・クラウド・ジャパン合同会社
  • 他 調整中
プログラム:
  • 14 : 30 受付開始
  • 15 : 00 - 18 : 45 講演およびパネルディスカッション

詳細・参加申し込み

https://goo.gl/XX21Je 
上記リンクからお申し込みください。

※ 競合他社様、パートナー企業様からのお申し込みはお断りさせていただくことがございます。
※ 報道関係者のご参加はお断りさせていただきます。
※ ビジネス向けのイベントとなっております。学生の方のご参加はご遠慮ください。
※ お申し込み多数の場合は抽選を行います。参加いただける方には、後日、ご登録されたメールアドレスに参加のご案内をお送りします。

Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook