全2678文字
PR

 Google Cloud Platform(GCP)は便利だが扱いにくい。そんな話を、GCPについて調べ始めたエンジニアから聞くことがある。サービスはシンプルだが、企業情報システムの用途を意識してコントロールを利かせようとすると壁にぶつかる、というのである。

 これはGCPの欠点というよりは、サービスの設計思想によるものである。

 今回は、AWSと対比させながらGCPの特徴を浮かび上がらせる。なぜGCPが扱いにくく感じるのかが理解できるはずだ。

Googleが自社のために作った大規模分散基盤

 AWSが早々に提供を開始し、今でも中核サービスとなっているのは、仮想マシン、ストレージ、ネットワークといった、誰もが必要とする汎用的なITインフラ(IaaS)である。

 仮想化技術が企業情報システムに浸透し始めた2000年代前半、AWSは「汎用的なITインフラの仮想化/共用化による効率向上」があらゆる企業にとって有効だと考え、どの企業にとっても使いやすいサービスに仕立てた。

 「一般的なニーズに対する感度の高さとサービス化の早さ」が、AWSの特徴の一つといえる。

 一方GCPは、検索などのGoogleサービスが稼働する大規模分散コンピューティング環境に、後から外部ユーザー向けインタフェースを設けて誕生したサービスだ。

 AWSが仮想化技術を軸にクラウドサービスを早々に提供し始めたころ、Googleは分散データ処理を軸とする基盤技術の開発を進めていた。Googleの目的は、「ITインフラを早く効率的に調達したい」といった一般的なニーズに応えることよりも、「データを活用した大規模なWebサービスを、世界中のあらゆる人に同じように、安定して届けたい」という自社のニーズを満たすことだった。

 想定している規模は、一般的な企業のニーズとはかけ離れている。Googleは10億人単位のユーザーに提供することを前提としてサービスを開発している。

 つまりGCPは、「Googleが自社のサービスを提供するうえでの特殊な要求を実現するITインフラ」から生まれたものだ。

 Googleが初期にリリースした、アプリケーション実行基盤「Google App Engine」やデータウエアハウス「BigQuery」はどちらも、利用者が意識しなくても大規模分散環境でスケールアウトするようにできている。独自の仕組みを実装しているので、既存のアプリケーションをそのままGCP上で動かすといった汎用的な使い方はできない。しかしGoogleのインフラの特徴を最大限活用し、簡単かつ比較的安価にサービスを利用できる。

 これらのサービスでは、コンピューティングリソースやストレージの配置を仮想プライベート空間(VPC)内に限定できない。リソースを不特定多数の利用者と大規模にシェアすることと引き換えに、Googleの最先端技術の恩恵を受けられる。

 企業情報システムでは、セキュリティを考慮して、VPC内に囲い込めるリソースだけ利用を許可するケースが少なくない。だがGCPでは、前述のようなGCP誕生の経緯から、VPC外の分散基盤で提供されるサービスが比較的多い。こうした点が、「便利だが扱いにくい」と感じる要因だろう。