グーグルは2018年4月26日、クラウドサービス「Google Cloud Platform」(GCP)に関するセミナーを開催し、マイクロサービスの動作環境としてGCPが適していることをアピールした。特に、コンテナ運用基盤サービス「Google Kubernetes Engine(GKE)」と広域負荷分散サービス「Google Cloud Load Balancing」がマイクロサービスと相性がよいと説明する。
拡大画像表示
グーグルは、クラウドサービスのGCPを、マイクロサービスの実行環境に適したクラウド基盤であるとアピールしている。
理由の1つが、GCP向けに提供しているコンテナ運用基盤サービスのGoogle Kubernetes Engine(GKE)と、GKEの使い勝手を高める広域負荷分散サービスのGoogle Cloud Load Balancingである。これらは、GCPユーザーであれば無料枠の範囲で利用できる(無料枠を超えた分については利用量に応じて有料となる)。
コンテナはマイクロサービスと相性が良い。マイクロサービスは、小さなサービスを組み合わせて1つのアプリケーションを開発するアプローチ。UIとロジック制御など、それぞれの用途に適した異なる技術を選択できる。一方のコンテナは、アプリケーションのコードと、アプリケーションの動作に必要なライブラリと、アプリケーションの動作設定を、ひと固まりのファイルにして管理・デプロイ(配備)できるようにしたものである。
グーグルがGCPユーザー向けに提供しているGKEは、コンテナ運用基盤ソフト「Kubernetes」の利用環境をグーグルがGCP上に構築し、これをユーザーに対してSaaS型で提供するサービスである。SaaS型であるため、ユーザーみずからKubernetesのソフトウェアをサーバーにインストール/設定したり、更新をアップデートしたりする必要がない。
マイクロサービスの稼働環境としては、コンテナの運用基盤のほかに、負荷分散サービスも重要だとグーグルは言う。ユーザーからのリクエストを適切なマイクロサービスに振り分けるためである。ここで利用できるサービスが、GCPで提供している広域負荷分散サービスのGoogle Cloud Load Balancingである。
Google Cloud Load Balancingの利点の1つは、単一の仮想IPアドレスで利用できること。システムが停止した際に、IPアドレスが変わることなく、リージョンをまたいだフェールオーバーができる。これに対して、DNSレコードを書き換えてIPアドレスを切り替える場合、設定にもよるが変更が浸透するまでに時間がかかる。Google Cloud Load Balancingでは、ユーザーに近い場所のキャッシュサーバーからコンテンツを配信するCDN機能も利用できる。