GoogleとAmazonがクラウドコンピューティングを支配しています。 開発者は、これらの巨大企業が提供しているサービスについての情報や特徴、そして似ているサービスとの差を知りたいと考えています。今回はAWSのAmplifyとGoogleのFirebaseについてご紹介します。
まず、AWS AmplifyとGoogleのFirebaseは、どんな機能を提供しているのか、また、それぞれのサービスの長所と短所について説明します。次に、50個の機能を表を用いて比較します。最後に、2つのサービスのどちらを選択するのがおすすめかご紹介します。
1. AWS Amplifyとは?どんな特徴がある?
AWS Amplify は、フルスタックのWebアプリケーション開発またはモバイルアプリを AWS にデプロイする視覚的な方法を探しているフロントエンド開発者向けのものです。特にDevOpsは必要なく、Gitリポジトリに接続し、いくつかの設定ページをクリックすることでアプリを自動的にデプロイします。
もう1つのオプションは、視覚的なドラッグアンドドロップエディター(drag & drop editor)を使用してアプリのバックエンドを構築することです。 バックエンドには、ストレージ、データ、認証などを含めることができます。 同じ種類のインターフェースを使用して、フロントエンドを視覚的に設計することもできます。
設定が完了したら、git または AWS CodeDeploy リポジトリにプッシュするだけです。 あとは Amplify が行います。
続いて、フルマネージド ホスティング サービスを介してアプリをデプロイします。 その後、アプリを AWS Cloudfront コンテンツ配信ネットワーク (CDN) に自動的にスケーリングします。
AWS には、Neiman Marcus、Noom、United Way などという大手の企業がサービスを利用しています。
2. Google Firebaseとは?どんな特徴がある?
GoogleのFirebase は、AWS Amplify のビジュアル デプロイ サイクルに代わるコマンドライン インターフェイス (CLI) を提供します。 1 つのコンソール コマンドで、静的アプリまたはフルスタック アプリをセットアップ後にデプロイできます。
NoSQL データベースを備えたアプリ開発プラットフォームとして販売されている Firebase は、必ずしも AWS Amplify と同じ開発者向けではありません。Firebase は、スケーラブルなバックエンドとデータベース機能を必要とする CLI スキルを持つモバイルおよびウェブアプリ デベロッパーにアピールします。
Firebase ではいくつかのサービスを利用できます。 例えば、
・認証
・リアルタイム データベース
・分析
・パフォーマンス監視
・クラウド メッセージング
・テストラボ
・クラッシュレポート
開発者は、新機能を段階的に展開し、完全なリリース前、一度に数人のユーザーでテストできます。
New York Times、Lyft、Alibaba、NPR、Venmoなどと言った大手企業がGoogle Firebaseを利用しています。
3. AWS Amplify と Firebase の長所と短所
AWS AmplifyとGoogle FirebaseはBackend-as-a-Service (BaaS) プラットフォームとしてどちらも高度にスケーラブルです。どちらもさまざまな言語とフレームワークをサポートしています。
Firebaseにはコマンドラインスキルが必要です。 これは、AWS Amplify や Netlify などの他のサービスのグラフィカルなアプローチとは異なります。 CLI インターフェースは非常に強力で、Firebase も同様です。
Amplifyでは、必要に応じてほぼフル機能の CLI インターフェイスがオプションで用意されていることに注意してください。 それでも、コマンド ラインの使用に自信がないかもしれませんが、Firebase ではコマンド ラインが必要です。
どちらのプラットフォームも従量課金制であるため、ユーザーの急増がコストに与える影響を予測することは困難です。 これは、予算上限を有効にしない Firebase では特に困難です。
Firebase は NoSQL データベースを使用します。 プラットフォームを切り替えることにした場合、データ移行の問題が発生する可能性があります。 いくつかの理由で、別のプラットフォームへの移行を希望する場合がありますが、NoSQL は SQL 機能がないため、クエリがより複雑になります。 これにより、一般的なデータベース機能が制限される可能性があります。
AWS Amplify にも問題がないわけではありません。 Amplify は、チームで作業するのが難しい場合があります。 というのも、 構成ファイルが、チームで簡単にアクセスできるように保存されていない場合があるからです。 すべてのファイルが git によって追跡されていない場合、Git と AWS Amplify の連携に問題が生じる可能性があります。
4. AWS Amplify と Firebase: 50 の機能の比較
比較項目 | AWS Amplify | Firebase |
サービスの説明 | SaaS, Scalable, Full-stack Apps | BaaS, Web, Mobile App Backend |
開発環境 | Amplify Studio | Firebase Project |
サポートフレームワーク | SPA Frameworks, Static site generators SSR | Firebase SDKs, JavaScript, C++, Unity, Apple, Android |
Web プロジェクトの自動化 | 有 | APIs, CLI |
自動ビルド | GitHub, Bitbucket, GitLab, AWS CodeCommit | GitHub, Bitbucket, Gitlab |
モノレポのサポート | 有 | 有 |
自動スケーリング | 有 | 有 |
ビルド バージョンのロールバック | 有 | No |
デプロイ プレビュー | 有 | 有、Preview URL |
インフラストラクチャー | AWS | Google Cloud |
CDN | 有 | 有 |
キャッシュの無効化 | 有 | 有 |
エッジ ハンドラー | AWS Cloudfront | Google Cloud CDN |
ファイルの最適化 | CDN | CDN |
対象ユーザー | Web, Mobile App Devs, Frontend Devs | Web, Mobile App Devs, Frontend Devs |
DevOpsが必要? | 無 | 無いが, CLI利用可 |
静的 Web アプリ | 有 | 有 |
モバイルアプリ | 有 | 有 |
JAMスタック | 有 | 有 |
フルスタック | 有 | 有 |
マイクロサービス | 有 | 有 |
サーバーレス | 有 | 有 |
バックエンド | サーバーレス | Firebase |
ヘッドレス CMS | サードパーティー | Flamelink CMS |
CLI | 有 | 有 |
CI/CD | 有 | サードパーティー |
データベース | Amazon Aurora MySQL | Firebase NoSQL |
認証 | Amplify Auth | Firebase Authentication |
HTTPS SSL化 | AWS Certificate Manager | 有 |
グローバルな可用性 | 有 | 有 |
ホスティング | 有 | 有 |
APIs | graphQL, REST | graphQL, Firebase REST API |
自動デプロイ | 有 | 有 |
グローバル ビルド、テスト、デプロイ | 有 | 有 |
高性能ビルド | 有 | 有 |
Git デプロイへのプッシュ | 有 | 無 |
バージョンのロールバック | 有 | 有 |
ストレージ | S3 | Google Cloud Storage Bucket |
依存キャッシュ | 有 | 有 |
テスティング | Site Previews | Firebase Hosting, Firebase Test Lab |
固定IPアドレス | 無 | サードパーティー VPC |
フォーム管理 | 無 | 無 |
パスワード保護 | 有 | 有 |
分割テスト | サードパーティー | Firebase A/B Testing |
アドオン | 有 | Firebase 拡張機能 |
チームの権限 | 有 | 有 |
分析 | Amazon Pinpoint & Amazon Kinesis | Googleアナリティクス |
セキュリティ | 保存時のAMSキー暗号化 | Encrypt Transit (HTTPS), At-Rest (Cloud Firestore) |
無料トライアル | Free Tier | Free Tier |
価格 | Free Tier, Pay-as-you-go | Free Tier, Pay-as-you-go |
続きを見る:
【2023年最新版】NetlifyとAWS Amplify: 50の機能を徹底比較
【2023】AWS AmplifyとVercel: 48の機能を徹底比較
5. Firebase と AWS Amplify のどちらを選択するか
どのBaaSプラットフォームを選択するかは、Firebase や AWS Amplify などのプラットフォームで何を重視するかによって異なります。
例えば、
・軽量でシンプルな、開発者にとって使いやすい環境が必要
・大規模なスケーリングを予期しないでください
・CLIスキルを持っている
・多くの統合サービスが欲しいような場合
➡︎ Firebaseがオススメです。
逆に、
・ノー/ローコード環境が欲しい
・AWS コンソール内での作業に満足している (かなり複雑です)
・AWS インフラストラクチャの多くにアクセスする必要がある
・バックエンドまたはフロントエンドを視覚的に構築したい
・アプリを大規模またはエンタープライズ サイズにスケーリングする予定がある場合
➡︎ Amazon Amplifyがオススメです。
6.クラウドサポートのパートナー探しならMiichisoftに
Miichisoftは主にAmazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)を活用し、クライアントにビジネスヒアリングし、サーバのアーキテクチャ設計を提案できる体制を持っています。
また、2022年 AWSコンサルティングパートナーとして認証されています。
Webアプリケーション、モバイルアプリ、業務システム開発をクラウド上で検討している方には是非ともご相談ください。
要件定義、基本設計、詳細設計の上流段階から、開発・テスト、CICD導入など、ワンストップで対応しています。
ご連絡お待ちしています。
よろしくお願いいたします。