現代では、クラウドサービスは、現代のアーキテクチャ設計において不可欠な要素となりました。
特に、ビジネス、研究機関、スタートアップ、個人の開発者など、さまざまなユーザーがクラウドプロバイダーを利用してインフラストラクチャを構築し、アプリケーションを展開しています。
主なクラウドプロバイダーとして最も注目されているのが、Amazon Web Service(AWS) と Google Cloud Platform(GCP) の2つです。
本記事では、AWS と GCP の両方を詳細に検討・解説します。
また、それぞれにないものを考慮し、ユースケース別で使うべきサービスの情報を提供します。
この記事で提供する情報
- 基本的な紹介と背景
- 各サービスの比較
- 料金モデルの解説
- サービスの内容と比較
- AWSとGCPそれぞれにあって、それぞれにないものの比較と解説
この記事で提供しない情報
- Microsoft Azure との比較
基本的な紹介と背景
AWS と GCP は、多くの共通のサービスがある中で、独自の特徴的な機能も備えています。
これらを選定する際、最も重要な要因として、「提供する機能とサービスの範囲」が挙げられます。
この章では、それぞれが提供する主要な機能に焦点を当てて、その違いを明らかにします。
主な違いとしては、下記の画像の通りになります。

Amazon Web Service
Amazon が運営しており、地球上で多くの会社に採用されているクラウドサービスです。
メリットとして、日本語ドキュメントが多数ある上に、テックサポートが手厚いことが挙げられます。
また、AWS エコシステムが強固でデータベースからアプリ層までを一通り取り揃えています。
もし基本的な IaaS を構築する場合は、AWS を使えば完結するでしょう。
ただし、そうした柔軟性があることによって技術者にある程度の知識が求められることがあります。
AWS 系のベンダー資格もあるほど情報が広く深く、初学者にとってはハードルが高いものになります。
Google Cloud Platform
Google のサービスといえば Google 検索や Gmail などが有名ですが、同社が持つビッグデータを高速処理する技術をクラウドサービスにも活かしています。
特に Google の機械学習関連の技術は世界トップクラスを誇りますので、クラウドサービスにおいてデータ分析や機械学習機能を取り入れたい場合に有利に働くでしょう。
ただ、2023年11月現在は日本語のサポートが不十分であり、もし日本企業が GCP を採用する場合は少なくとも英語がある程度読める必要がある場合があります。

現在のシェアの比較
現在は AWS が昨年は過去最低の成長率だったのにも関わらず、未だトップです。
2022年第4四半期において、AWS は用途別のエコシステムへの積極的な投資を継続し、そのリーチを拡大し、新たな顧客獲得に向けた意欲的な取り組みを示しています。
一方で、GCP は営業損失が拡大しており、製品の差別化と集中的な市場戦略が、その勢力を後押し出来るかが期待されています。

出典:Worldwide cloud service spend to grow by 23% in 2023
各サービスの比較
下記の表は、2つのクラウドプラットフォームにおける用途別サービスの比較を行った表です。
主なサービスの名前と、その役割について記載しています。
サービス種類 | Amazon Web Service | Google Cloud Platform |
コンピューティング | Amazon EC2 ・マネージドサービス | Compute Engine ・マネージドサービス |
サーバレス | Amazon Lambda ・シンプルな関数の実行 Step Functions ・多彩な関数の段階的実行 | App Engine ・SaaS開発に易しい Cloud Functions ・シンプルな関数の実行 |
コンテナ | ・Amazon ECS シンプルなコンテナサービス ・Amazon EKS 「Kubernetes」OSS 対応 | ・Kubernetes Engine 「Kubernetes」OSS 対応 |
ストレージ | Amazon S3 ・8つのストレージクラス ・サーバー側の暗号化有無選択可能 | Google Cloud Storage ・4つのストレージクラス ・サーバー側の暗号化必須 |
データベース | ・Amazon RDS ・リレーショナル DB の構築・運用 | ・Cloud SQL/Spanner ・リレーショナル DB の構築・運用 |
データウェアハウス | Amazon Redshift ・データ解析によりデータ移行が容易 | Google BigQuery ・BigQuery DTS によりデータ移行が容易 ・GCP 機械学習サービスとの連携が容易 |
ビジネスインテリ ジェンス | Amazon Quicksight ・AWS のデータソースとの連携 | Looker ・他ベンダーエコシステム接続コネクタも豊富 |
ネットワーク | ・リージョン内での複数のVPC間での構築が可能 | ・リージョンを跨いだVPC構築が可能 |
セキュリティ | ・IAM など可用性の高い認証システム ・セキュアな現場で重宝される | ・IAM など可用性の高い認証システム |
その他の特徴 | ・高いセキュリティ要件の実現性 ・日本語の技術ドキュメントが豊富 | ・ハイレベルなデータ分析・機械学習の実装が可能 ・サーバレスサービスが多く運用が容易 |
料金モデルの比較
ここでは、サービス運用にかかる金額の比較を行います。
下記の表は、一般的な SaaS における必要な機能を各プラットフォームで完結させた場合のものです。
サービス | Amazon Web Service | Google Cloud Platform |
---|---|---|
コンピューティングサービス | 56.94 ドル | 48.54ドル |
データ転送 | 114ドル | 140ドル |
ストレージサービス | 25ドル | 23ドル |
ロードバランサー | 17.74ドル | 27.74 ドル |
リレーショナル・データベース | 380.2ドル | 290.65ドル |
合計金額 | 593.88ドル | 529.93ドル |
総合的に見ると、AWS よりも GCP の方が低価格で運用できることがわかります。
しかし、AWS は価格を調節できるオプションが多数用意されています。
したがって、サービスの内容によっては GCP と同価格で運用することも可能です。
AWS と GCP における各サービスの有無
ここまでお互いのサービスについて徹底比較してきましたが、結局のところ「何が優れていて、どこが劣っているのか」については触れてきませんでした。
この章では、そうした優れている部分について取り扱います。
AWS にはあるが GCP にはないもの
ここでは AWS 側から見た時に、競合他社と比べて優れているサービスを紹介します。
Amazon RDS ( Relational Database Service )
Amazon RDS( Relational Database Service )は、マネージドなリレーショナルデータベースサービスの典型例です。
このサービスは、多彩なデータベースエンジンをサポートしており、MySQL 、PostgreSQL 、Oracle 、SQL Server などの代表的なリレーショナルデータベースエンジンを含みます。
Amazon RDS は、データベースの運用と管理を簡素化し、開発に専念できる環境を提供します。
これにより、データベースの設定、バックアップ、チューニング、セキュリティの強化などを手厚く AWS がサポートし、信頼性の高いデータベース環境を簡単に構築できます。
Amazon Redshift
Amazon Redshift は、大規模なデータ分析プロジェクト向けに特別に設計されています。
主なメリットとして、高度な列指向のデータベースエンジンを採用しており、これにより大容量のデータセットに対する高速で効率的な処理が可能です。
ほかにも、膨大なデータを取り扱い、複雑な分析を行うことであり、その点で Redshift はその期待に応える高性能な解決策となっています。
また、Redshift は、コラム指向(列指向)のデータベースアーキテクチャを採用することで、データを圧縮して効率的に格納し、迅速なクエリの実行を実現しています。
さらに、クエリの並列処理や最適化により、大規模データセットを素早く解析し、同期的またはバッチ処理のデータ分析に使用できます。
このため、大規模データセットの探索と分析など、多岐にわたるデータ分析ニーズに適しています。
AWS Lambda
AWS のサービスの中で、特に注目に値するのが、サーバーレスコンピューティングを可能にする「 AWS Lambda 」です。
AWS Lambda は、イベント駆動型のアプリケーション開発に特に適しており、アプリケーションのコードを実行するための準備や管理を一切不要にします。
この革新的なアプローチにより、開発者はコードの実行に集中し、インフラストラクチャやリソースの効率的な利用について心配することなく、アプリケーションの開発と実行を行えます。
また、AWS Lambda は高い可用性を提供しているため、特に優れた選択肢となっています。
サーバーレスな構築により、リソースの拡張性と冗長性が担保され、アプリケーションの運用において高い信頼性を提供しています。
現在では、イベント駆動型のアプリケーションやタスクの自動化、データ処理、バックエンドの機能向上など、さまざまな用途で利用されています。
開発の現場では、AWS エコシステムの申し子といって問題ないほど多方面にて活躍しています。
GCP にはあるが AWS にはないもの
ここでは GCP 側から見た時に、競合他社と比べて優れているサービスを紹介します。
BigQuery
BigQuery は、クエリエンジンを活用した大規模かつ複雑なデータセットの分析が可能です。
主な機能として、数テラにも及ぶ大規模な情報に対しても処理を高速かつ同期的に実行できます。
特に、サーバーレスなインフラ構成の管理や準備の手間を省略し、管理者が分析を行うために即座に資材にアクセス可能です。
また、BigQuery は大規模データの「見える化」にも一役買っており、データ探索、ダッシュボードの作成、同期データ処理など、多くのデータ分析の要求に対応できます。
Cloud AutoML
Cloud AutoML は、機械学習に取り組む際に多角的なオプションを提供します。
特に、画像認識から自然言語処理( NLP )まで、カスタムモデルの構築をサポートしています。
また、AWS にもマネージドな機械学習サービスが存在しますが、特筆すべきはその使いやすさです。
そのほかにも、公式のサポートによって、開発者が未熟な場合でも、機械学習モデルを構築できる点が魅力です。
したがって、開発者が専門的な機械学習の知識を持っていなくても、自身の考えを基にプロジェクトに機械学習の力を活用できるでしょう。
Firebase
Firebase は、モバイルアプリケーション開発に特化した包括的なプラットフォームです。
現在では、モバイルアプリケーションのバックエンド開発から、データベースの構築、認証システムの統合、システム監視まで、幅広い機能を提供しています。
特に、リアルタイムデータベースとしての Firebase Realtime Database は、情報をクラウド上で同期し、同期的に更新を反映できる強力なツールです。
さらに、Firebase Authentication は、簡単な認証と認可による堅牢なアクセス管理をサポートします。
他にも、Firebase Performance Monitoring は、サービスのパフォーマンスを監視して問題を解決する支援が可能です。
まとめ
結論として、全体的な機能についてはほぼ大差はないといって良いことがわかりました。
現代では、クラウドサーバーは一般的には不可欠なものとして広く受け入れられています。
クラウドサーバーを活用することで、スケーラビリティ、可用性、セキュリティの向上など、多くの利点を享受できます。
しかし、実際の要件や自社のワークフローに合わせたアーキテクチャ設計を行うことが非常に重要であり、適切なクラウドアーキテクチャを選択し、それを効果的に実装する能力に大きく成果が左右されることが多いでしょう。
したがって、プロジェクトの性質や要求に応じて、適切なクラウドプロバイダー、リソースのサイズ、ネットワーク設計、セキュリティポリシーなどを考慮し、独自のアーキテクチャ設計を行うことが、成功への鍵となります。
また、クラウドサーバーを活用する際には、注意深い計画と適切な設計が不可欠であり、プロジェクトのニーズに合致するアーキテクチャを築くために効果的な考え方が求められます。
今後は、各開発者がそれぞれの技術を調査し、よりベストな選択肢を模索する必要があります。
参考
【公式ドキュメント】AWS や Azure サービスと Google Cloud を比較する
Worldwide cloud service spend to grow by 23% in 2023
【 AWS・GCP 比較】実務で利用する私の主要10機能比較!
インフラ系の記事紹介
Laravel で Cognito を使用してログイン機能を作ってみた
【AWS】Web アプリのインフラを AWS で構築してみた【CloudFront, ALB, EC2, Route53】