クラウドサービスの選択に迷っている方へ「Google Cloud Platform」の特徴を紹介

はじめに

かつてシステムの開発・運用といえば、サーバーを購入して自社に設置してその場で構築を行って運用する「オンプレミス(自社運用)」と言われる方式や、サーバーを自社には置かずデータセンターに設置してリモート等で操作して運用する方法が主流でした。しかし2000年代に入ってからはクラウド型のサービスが登場し、Amazon、Microsoft、Googleが次々とクラウドサービスを発表して次第に自社サービスをクラウド上で開発・運用する企業も現れ始めました。そのようなことは2023年時点で珍しくなっており、企業だけではなく、政府関連のシステムであってもサーバーやインフラサービスはクラウドを第一の選択肢とする「クラウドファースト」という動きも提唱されているほどです。

この記事では、Googleが提供している「Google Cloud Platform」の特徴やできること、資格試験について紹介します。今後クラウドサービスの利用を予定しているもののどれを選ぶべきか迷っている方、Google Cloud Platformについて詳しく知りたいと思っていた方、Google Cloud Platformの資格について知りたいと思っていた方はぜひご覧ください。

クラウドサービスの形態についておさらい

これまであまりクラウドサービスに馴染みがなかった方に向け、主なサービス形態について紹介します。クラウドサービスを選定するに当たって、あるいはエンジニア同士で話をする上で抑えておくべき基本事項となるため、ぜひこれを機会に覚えておくことをおすすめします。すでにクラウドサービスについて十分理解している方は飛ばしていただいて問題ありません。

代表的なクラウドサービスの形態としてはSaas、Paas、Iaasがあります。他にもFaas、CaaSという分類をされることもありますが、今回の記事はクラウドの総合的な紹介をメインとしているわけではなく、Google Cloud Platformで対象となるサービスは見られないのでこの2つは省略して説明を進めます。

Saasは「Software as a Service」、Paasは「Platform as a Service」、IaaSは「Infrastructure as a Service」の略となっていて、名称から想像がつくかもしれませんがそれぞれ利用者側が管理する範囲が異なります。SaaSから順に利用者側の管理範囲が広くなり、IaaSが一番広くなる代わりに自由度が高くなります。

さらに一つずつ具体的に見ていくと、SaaSは既にアプリケーション・サービスが出来上がっている状態で、基本的にはその仕様に沿ってユーザーがサービスを利用する状態です。代表的なサービスとしてはGmailやDropbox、Slack、kintoneが挙げられます。ユーザーは自身のデータだけ管理すれば良く、サービスに不具合が生じた場合の復旧作業は全て提供元が対応します。

対してPaaSの場合は、アプリケーション・サービス・ソフトウェアの開発はユーザー側となります。ただし、その実行環境やインフラ環境は全て提供元が管理するため、開発にだけ専念したい場合にメリットのある形態となります。PaaSは、IaaSを含め総合的にクラウドサービスを提供している場合の一形態として存在していることが多く、今回取り上げるGoogle Cloud Platformをはじめ、AWSやMicrosoft Azureでも提供されています。Google Cloud Platformには様々なサービスがありますが、その中でも「Cloud Run」がPaaSに該当します。

最後のIaaSは、OSやサーバー、ストレージ、ネットワーク設定といったあらゆるインフラ環境をユーザー側で構築できる形態で、その基盤となる環境や、利用できるバックボーンのネットワークがAWSやMicrosoft Azure、Google Cloud Platformになるという状況です。IaaSを提供しているサービスとしては上記3つの他に、Alibaba Cloud、IBM Cloud、Oracle Cloud等があります。自由度が高くなる分、運用・保守をするためのクラウドエンジニアやインフラエンジニアが欠かせないサービス形態と言えるでしょう。なおGoogle Cloud PlatformのサービスではCompute Engine、Cloud Storage、Virtual Private Cloud(VPC)、Persistent DiskがIaaSに該当します。

Google Cloud Platform(GCP)とはどんなサービスか

Google Cloud PlatformはGCPと略して呼ばれることもあるクラウドサービス総称でしたが、近年はさらに大きなカテゴリーである「Google Cloud」というサービス名称の中の1サービスという体系になりました。Google Cloudの中にはGoogle Workspace(かつてのG Suite)をはじめ、ChromeOSやエンタープライズ向けマップサービス、機械学習関連のアプリケーションも含まれているため、それらも含めると非常に多くのサービスをGoogleのみで利用できる状態になったと言えます。

そんな背景がある中、Google Cloud Platformは、Google自身がGoogle検索やYoutubeの開発に利用している技術の多くを提供するサービスとして進化を遂げ、2011年のリリース以来十数年経った2023年の現在も継続して世界中で利用されています。

他にも代表的なクラウドサービスとしてはAWSやMicrosoft Azureがありますが、Google Cloud Platformを利用する場合のメリットを5つに絞って紹介していきます。現在クラウドサービスの導入に迷っている方はぜひ比較する際の参考にしてみてください。

一つ目のメリットとしては、無料で利用できるサービスが豊富という点が挙げられます。使用量の上限までとはなりますが、仮想マシンやストレージ、データ分析サービス、動画の物体、場所、アクションを認識するシステム、機械学習サービス等を無料で利用可能となっています。サービス名としてはCompute Engine、Cloud Storage、BigQuery、Video Intelligence API、Cloud Natural Language API等、全部で24種類あります。これらはGoogle Cloudの公式サイト(cloud.google.com)内「無料枠プロダクト」でも確認できるので、事前に確認しておきたい方はぜひご覧ください。

二つ目は、安定性のあるインフラ環境を利用できるという点です。Google Cloud Platformでは、Googleの運用している様々なサービスと同様に、世界中に分散させたデータセンターにおいて24時間365日安定したパフォーマンスが出せるだけの環境が提供されており、急激なアクセス増加による高負荷にも耐えうる強度を持つ設定がされています。企業によっては、万が一災害等に遭った場合であっても業務が継続できるようBCP(事業継続計画)を策定しているところがありますが、その場合にもGoogle Cloud Platformは選択するべきサービスの一つと言えるでしょう。

三つ目は、AI関連の分野の開発が行えるサービスが充実しているという点です。Googleでは早くから機械学習やAIの技術を駆使したサービスの提供を行っています。そのためBigQueryやGoogle CloudのTensorFlow、Cloud AutoML等を併せて利用することで、機械学習やAIの技術を利用したシステムの開発が可能となります。

四つ目は、低コストでの運用が可能という点です。Google Cloud Platformには初期費用というものがなく(解約手数料も無し)、使用量に応じて料金が発生する従量課金性であるため、必要最低限のコストで運用可能です。また、前述したように無料枠が設けられたサービスがあったり、12ヶ月以内に利用できる300ドル分のクレジットがついてきたり、長期利用することでの割引が自動適用されたりもするため、他のクラウドサービスと比べても初期費用の削減、長期に渡るコスト削減のどちらにも適したサービスとなっています。

なお、従量課金性ということでむしろ予算が立てづらいためクラウドサービスは自社の仕組みに見合わないという場合もあることでしょう。しかしGoogle Cloud Platformでは「Google Cloud Pricing Calculator」という利用料金を事前に細かくシミュレーションできるサービスが備わっています。このサービスでは、システム開発・運用で利用するサービスやサーバー台数、用途、スペック、場所、稼働時間等を入力することで試算結果を出してくれます。もちろん予算を立てるためにはあらかじめ要件定義をしておくことが欠かせませんが、その中でシステム構成図の作成も行うことになるでしょう。Googleでは構成図を作成する際に利用できるアイコンや構成図のサンプルも多数用意されているので、これらの作業に慣れていないエンジニアのサポートになります。

Google Cloud Platformの支払いは基本的にクレジットカードであり、請求書払いを希望する場合は、Google Cloud Platformのパートナー企業との契約が必要となることもあわせて覚えておいてください。

五つ目は、高いセキュリティ性が保たれているという点です。Google Cloud Platformは、米国政府のコンピュータセキュリティ標準である「FIPS 140-2」を取得しており、暗号化ハードウェアの有効性が証明されています。またGoogle社には、特定の部門でチームごとにセキュリティ・プライバシーに関する専門家を配置する、データセンターは生体認証、金属検知、カメラ、車両障害物、レーザーといった複数のセキュリティシステムによって厳重な管理体制が引かれている等の独自のセキュリティに関するルールや文化があり、それらによって安全性の高いサービスの運用が行われているという点も安心できる材料の一つとなります。

またGoogle Cloud Platformのデータはストレージに分割して格納されると、分割されたデータごとに暗号化が行われ、不正アクセスに対する対策は多層防御戦略に基づいて実施されています。Google Cloud Platform自体の顧客データにおいてもアクセス可能な人は限定的で、アクセス状況も内部監査によってモニタリングされるような仕組みになっています。

Google Cloud Platformの代表的な3つのサービス

ここまでにもGoogle Cloud Platformのサービスについて少しずつ触れてきましたが、改めて代表的な3つのサービスについて紹介します。

Compute Engine(GCE)

クラウド上で仮想マシンを含めたインフラシステムの構築が可能なIaaS型のサービスです。仮想マシンのOSはLinux、Windowsから選択可能で、適切なサイズをレコメンドしてくれる自動スケーリングや柔軟なインフラ環境のカスタマイズが可能、また初期提供時にハードウェアセキュリティが組み込まれた状態になっているという特徴があります。Google Cloud内のサービスの一つなので、その他のサービスと連携することでCloud Storage、App Engine、BigQuery等と共に高度なサービスの開発も可能となっています。

App Engine(GAE)

Google Cloudの中でも古くからあるサーバーレス(PaaS型)のサービスで、用途に応じてスタンダード環境、フレキシブル環境の2環境が使い分けられるようになっています。スタンダードはApp Engineの仮想環境内で動作しますが、フレキシブルの方はGoogle Compute Engineの仮想マシン上にあるDocker内で動作します。使い分け方としては、より細かい環境設定を行いたい場合にフレキシブルを選択することとなります。

Google Compute Engineと同様にサーバーの負荷状況に応じて自動スケールが可能ですが、スケールアウト時のインスタンス起動処理時間が短いという特徴があります。また、スタンダード環境でもPython、Java、Node.js、PHP、Ruby、Goの6言語、フレキシブル環境であればプラスで独自に導入した言語での開発も可能と、対応可能な言語が豊富なことは開発環境としての大きなメリットと言えます。

独自の管理コンソールもあってログやデータの確認、セキュリティ・アクセス・パフォーマンス・自動タスクといった各種設定もできるようになっているので、コマンド操作が苦手な方でも便利に利用できます。

BigQuery

Google社がビッグデータの解析時に利用していた「Dremel」の機能をユーザーが利用できるようにしたサービスで、PB(ペタバイト)単位のデータであっても数十秒という短時間で高速に処理できます。なお、家庭用のパソコンを利用している限りTBを目にすることはあってもPBは滅多に聞かない単位かと思われますが、1,000TBが1PBです。

高速という以外のBigQueryの大きなメリットとしては、データベースに関する知識が乏しくても利用可能という点が挙げられます。App Engineと同様にサーバーレスのサービスであり、通常データベースで行われるような細かなチューニングやインデックスの設計・作成をしなくても利用可能なためです。

Google Compute Engineは低コストで運用できることをこれまでも紹介してきましたが、BigQueryはサービス起動時にのみ料金が発生する仕組みとなっているため、このサービスもまた低コストでの運用が可能という例に洩れません。

Google Cloud Platformの資格試験について

Google Compute Engineにはベンダー資格試験があり、サービスをより深く理解するため、あるいは自分のスキルを確かめるために活用できます。最後にGoogleの認定する資格試験について簡単に紹介します。

2023年時点の正式名称は「Google Cloud 認定資格」となっています。試験はFoundational、Associate、Professionalの3段階に分かれていて、プロフェッショナルには9分野(Cloud Architect、Cloud Database Engineer、Cloud Developer、Data Engineer、Cloud DevOps Engineer、Cloud Security Engineer、Cloud Network Engineer、Google Workspace Administrator、Machine Learning Engineer)の試験が含まれています。

Foundational(試験名称:Cloud Digital Leader)は初級レベルの試験で、たとえ実務経験がなくてもGoogle Cloud Platformの基礎を理解するために適していると言えます。公式サイトにはクラウドのコンセプトを含め、サービス、ツール、機能、メリット、利用事例といった知識が実証できるという説明がありました。試験時間120分、出題数は50〜60問の多肢選択式です。

Associate(試験名称:Associate Cloud Engineer)は実務経験6ヶ月以上が推奨される試験であり、システムのデプロイから運用が可能なエンジニアに必要な知識が求められます。試験内容としては、セキュリティやアプリケーションホスティング、データベース、モニタリングといった幅広い問題が出されます。試験時間は90分、出題数は50〜60問の多肢選択式です。

Professionalは、例えばアプリ開発に関する専門的な知識、インフラと開発の両方を網羅したバランス良い知識、データエンジニアリングの知識、セキュリティの知識というような9つの分野が用意されており、各自が知識を深めたい分野を選択して受験する仕組みになっています。なお試験によっては日本語対応しているもの・していないものがあるので、英語力が必要となることもあります。そのため受験を考えている場合は、あらかじめ対応有無を確認しておくことをお勧めします。

試験の学習方法ですが、一般的にIT試験の勉強と言えば参考書を購入したり、オンラインの学習サイトを利用したりという方法になるでしょう。もちろんGoogle Cloud 認定資格にも専用の参考書等がありますが、Google Cloudでは公式ドキュメントやオンラインの学習サービス「Google Cloud トレーニング」もインターネット上で提供されているので、そちらを利用するのも一つの手です。それでもまだ理解が及ばないという場合は書籍等の利用も検討してみましょう。なお、過去問を無料で公開しているサイトもあるので、実力試しをしたい場合はぜひ利用してみてください。

まとめ

今回の記事で、Google Cloud Platformは現時点で「Google Cloud」のカテゴリに含まれており、SaaS、PaaS、IaaSに該当する多くのサービスが提供されていることがわかっていただけたことでしょう。また無料で利用できるサービスもあるため、Googleから提供されている既存サービスを簡単で気軽に業務に取り入れることが叶います。さらにはIaaSを利用することで、膨大なコストをかけてオンプレミスのインフラ環境を構築する必要がなくなり、自社でのサービス開発に専念できるようになる他、個人や資金の少ないスタートアップ企業であってもシステム開発のプロジェクトを進めることが可能となります。

クラウドサービスの強みである柔軟性はもちろん、Googleの確かな技術や強力で安定性のあるバックボーンを利用しながら幅広い分野の開発が行える環境が整っているにもかかわらず低コストでの運用ができるため、もし利用するクラウドサービスの選定に迷っている場合は、Google Cloud Platformの利用を検討してみてはいかがでしょうか。

前の記事

GCPの始め方