【レポート】Googleの最先端クラウド技術と導入事例:クラウド技術最前線![第1部]- TECH PLAY Conference 2017

イベント 公開日:
ブックマーク
【レポート】Googleの最先端クラウド技術と導入事例:クラウド技術最前線![第1部]- TECH PLAY Conference 2017

2017年8月20日(日)から25日(金)の6日間にわたり、「TECH PLAY Conference 2017」が開催されました。

本レポートでは、初日の8月20日(日)12時30分よりスタートした「クラウド最先端技術」の第1部についてお届けします。

【第1部】Googleクラウド技術と導入事例

「Google Cloud Platform Overview」
株式会社トップゲート sinmetalさん

「Googel App Engineを利用した新規Webサービスの立ち上げ方」
株式会社ソウゾウ 主森理さん

「BigQueryで解決した2つの困り事」
株式会社Aiming 芝尾幸一郎さん

それでは内容を紹介します!

Google Cloud Platform Overview

Google Cloud Platform(以下、GCP)をテーマとした第1部のセッション1人目の登壇は、トップゲートのsinmetalさんです。

sinmetal(しんめたる)/株式会社トップゲート。「Google App Engine」マイスター。1987年生まれ。岡山県出身。地元のSIerに就職した後、2009年に退職。その後、トップゲートへ入社。「ファイナルファンタジー」好き。

Google Cloud Platform User Gloup Tokyoのオーガナイザーを務めるsinmetalさんは、数あるGCPのサービスの中から「Google App Engine」と「BigQuery」の2つを紹介します。

まずは、ウェブアプリケーションを作成するためのPaaSである「Google App Engine」です。「Google App Engine」のリリースは約10年前。GCPが始まる前から存在する「Google App Engine」は、GCPの中でも最も昔からあるサービスです。

リリース当初は「Python」のみに対応していましたが、現在は「Java」「PHP」「Go」でも利用が可能です。

「Google App Engine」の大きな特徴は極めて高いスケーラビリティを持っていること。デフォルトでオートスケールする「Google App Engine」は、ロジックを書いてデプロイすると、リクエストが来た際に自動的にインスタンスが立ち上がって応答します。リクエストの量が増えた場合には、2台目、3台目と自動的にスケールする特徴を持っています。

また、もうひとつの大きな特徴として、1インスタンス換算で毎日28時間は無料で利用できる点が挙げられます。つまり、2台目、3台目のインスタンスが立ち上がらない程度のリクエスト量であれば、無料で利用できるのです。

さらに、インスタンスを立ち上げるスピードが速いことも「Google App Engine」の大きな特徴です。リクエストに応じてインスタンスが生成されるスピードは、言語によって異なるものの、「Go」であれば40msec程度しかかからないのです。

このスピードが最低インスタンス数を0に抑えることが可能にします。1台のインスタンスでリクエストを捌ききれない際には、40msecのスピードで2台目、3台目とインスタンスを追加。不要な際にはインスタンスを0台とすることで、昼間にリクエストが多くきても、夜のリクエストがほとんどない状態であれば、無料の28時間枠での運用ができるのです。

また、「Google App Engine」では「GCP」のプロジェクトを複数用意するだけで、開発環境やステージング環境などを使い分けることが可能。ローカルでもSDKを入れるだけで環境が整い、バージョン管理やサムネイル作成機能などを網羅しているので、多くのエンジニアが関与するプロジェクトでも活用できます。もちろんそれぞれのプロジェクトごとに28時間の無料枠が提供されています。

sinmetalさんが続いて紹介するのは「BigQuery」です。「BigQuery」はデータを分析するためのフルマネージド型のサービス。クラスターを組んだりする必要もなく、データを入れ、「SQL」を書いて実行するとすぐに結果を返します。

その最大の特徴は非常に高いスケーラビリティにあります。多くのRDBでは実行時にフルスキャンを行うと時間がかかるため、インデックスを利用して結果を返す形が一般的。しかし、「BigQuery」において「SQL」を書いて実行すると対象のテーブルがテラバイト単位であっても、フルスキャンして数秒で結果を返すのです。

sinmetalさんは、実際に100億行のデータに対してデモを実施。クエリを投げた後、7.8秒で結果が返ってきました。

また、「BigQuery」はデータを分析する以外の用途にもよく使われます。例えば、REPLACEやCASEを使ってデータの加工やフィルタリングを行う方法です。こういった使い方の場合でも、数億件のデータ加工が数秒で終了するメリットがあります。

さて、「Google App Engine」や「BigQuery」は、なぜこれほどのスピードを誇るのでしょうか? その答えのひとつが「Datacenter as a computer」という考え方に基づいたGoogle社のデータセンターにあるとsinmetalさんは説明します。

この「Datacenter as a computer」とは「データセンターをひとつのコンピュータとして考える」というもの。つまり、必要なときに必要なリソースだけをを割り当てるように動くのです。具体的には10年以上も前からGoogleのサービスはすべて自社で開発した「Borg」というコンテナで動いており、特定のサービスの負荷が上がると即座にそのサービスの「Borg Container」を動的に追加して対応するわけです。

さらに、次に重要なのはネットワークです。Google社は自分たちでスイッチも含めたハードウェアも全て設計しており、サーバーラック間で1Pbpsのスピードで通信が可能な「Jupeter」と呼ばれるネットワークを作成しています。

この高速のネットワークがあるために、ストレージとコンピュータが同じハードウェアになくても高速で利用することが可能になり、「Borg Container」として必要なサービスに必要なだけリソースを割り当てられるわけです。データセンター全体を「Borg」で管理できるように設計している結果、データセンター全体、さらにGoogleの全サービスでオートスケールすること可能になっています。

最後にsinmetalさんは、この「Borg」と「Jupiter」を上手く活用している例として、「BigQuery」の裏側の仕組みや、説明して講演を終了しました。sinmetalさんの当日のスライドはこちらに公開されています。

次のページ :
Googel App Engineを利用した新規Webサービスの立ち上げ方

1 2 3
TECH PLAYでは、ITに関わる様々なイベント・勉強会・講演会・交流会・カンファレンス・セミナーなどの情報を集約し掲載しています。

テクノロジーと共に成長しよう、
活躍しよう。

TECH PLAYに登録すると、
スキルアップやキャリアアップのための
情報がもっと簡単に見つけられます。

面白そうなイベントを見つけたら
積極的に参加してみましょう。
ログインはこちら

タグからイベントをさがす