GAE登場、BigQueryのリリース、GCEでの妥協、そしてGKE
GCP誕生から10年、その進化の歴史を振り返る
2014年の企業買収とその成果
Googleが多数の企業を買収しているというのは有名な話です。Googleはこれまでに実に200社を超える企業を買収しています。その中で特にGCPに関係する3社を2014年に買収しました。
まず、統合監視サービスのStackdriver買収し、2年後の2016年にGCPのサービスの一部として統合しました。
StackdriverはError Reporting、Monitoring、Debugger、Trace、Logging の5つのサービスによって構成されます。マルチクラウドに対応していて、GCPとAWSをサポートしています。元々がGCP固有のサービスとして作られていたわけではないため、汎用的な作りになっていますが、買収を経て統合されたことにより、Compute EngineやApp Engine、Kubernetes Engine、Cloud SQL、Cloud Datastoreなど様々なGCPのサービスを簡単に監視できるように機能が強化されました。
次に、モバイルおよびWebアプリケーションのバックエンドサービスであるFirebaseを買収しました。Firebaseはクラウドサービスの形態ではmBaaS(mobile backend as a Service)に位置付けされます。
Firebaseを使うことで、開発者はクライアントアプリケーションの開発に専念できるようになります。DBサーバーを用意してDBにアクセスするためのAPIサーバーの構築や認証を行うといった、バックエンドで動くサービスを作成し管理する煩わしさから開放されます。
Firebaseはもともと独立したサービスでしたが、GCPの仲間入りをしたことで、GCPの多くのサービスと連携して使えるようになっています。例えば、Cloud Function For Firebaseを使えばイベントドリブンな処理が実行でき、Cloud Firebase Massageと連携すれば、サーバープッシュすらサーバレスで実現可能です。
Firebase の強力な武器であるRealtime Database はCloud Firestoreに置き換わり、さらに2018年に発表された Datastore モードはCloud Datastoreに置き換わるサービスとして注目されています。このように、GoogleがFirebaseを買収することGCPの他のサービスとの親和性が高まっただけでなく、もともとあったFirebaseの機能も強化されたのです。
3つ目は、機械学習のDeepMind社の買収です。2014年には、ビッグデータやデータサイエンティスト、機械学習などがバズワードになっていました。Googleは、AlphaGoや、その他の既存のサービスにも積極的に機械学習を取り入れています。例えば日々賢くなるGoogle翻訳、Gmailのスパム判定、Google Photoの画像認識などは機械学習のテクノロジーが支えています。また、GoogleはTensorFlowをオープンソース化するなどコミュニティでも活躍しています。
2015年 Cloud Datalabのリリース
機械学習は、「モデルの作成」「学習」「学習済モデルの活用」のフェーズに分けられます。GCPでは、それぞれフェーズに適したサービスが提供されています。
2015年にGoogleは、Pythonをブラウザ上でインタラクティブに実行できるJupyterをGCPに最適化したCloud Datalabをリリースしました。
Cloud Datalabは機械学習のモデルの作成に適したサービスです。TensorFlowなどを使ってモデルを作成することができます。GCPのクライアントライブラリが標準で含まれているため、例えばBigQueryの操作がモジュールをインポートすることなく実行できます。
モデルの作成はトライ・アンド・エラーの繰り返しで、グラフなどを使ってビジュアライズしながらの作業になります。Cloud Datalabはインタラクティブにグラフ表示もできて、更にデータの保存先にBigQueryを使っているケースでは最適のサービスになっています。
2016年 Cloud Machine Learning Engineの登場
機械学習の学習フェーズでは、たくさんのマシンリソースが必要になります。例えば、猫を認識するモデルを作成したとして、そのモデルを学習させるには、大量の猫が写っている画像と、写っていない画像が必要になります。
GCPに2016年に登場したCloud Machine Learning Engineは、その学習の場を提供してくれます。GCPにある大量のマシンリソースを使って並列に作業させることで、従来1週間かかっていたような学習の処理を1日で終わらせることも可能です。学習済みのモデルをGCPにデプロイし、クライアントアプリケーションからリクエストを送って予測を行うような処理もできます(つまり、学習モデルの活用フェーズでも活躍するサービスです)。