- ブログ
- AWS Amplifyとは?特徴やメリット・デメリットについてわかりやすく解説!
AWS Amplifyとは?特徴やメリット・デメリットについてわかりやすく解説!
「AWS Amplifyって聞いたことはあるけれど詳しく知らない」「具体的になにができるのかはよくわからない…」といった方も少なくないでしょう。
本記事では、「AWS Amplify」について、メリット・デメリットを含めてわかりやすく解説していきます。
もくじ
AWS Amplifyって何?
まず初めに、「AWS Amplify」について解説していきます。
「AWS Amplify」とは、AWSが提供しているBaaS
「AWS Amplify」とは、AWS (Amazon Web Service)が提供しているBaaSです。
BaaSは、「Backend as a Service」の略称であり、Webアプリやモバイルアプリが持つバックエンド機能をアプリケーションサーバー側が代行するサービスのことで、よりスピーディーなアプリ開発が実現できます。
「AWS Amplify」は、そのBaaSサービスの中でも代表的なサービスとなっており、既存のAWSのサービスを使って、一から自分で構築するより簡単に・時間コストも少なく、スタートすることができるのが特徴です。
AWS Amplifyの3つの要素
「AWS Amplify」はAWSの様々なサービスが提供されておりますが、今回は代表的な以下3つの要素を紹介していきます。
Amplify CLI
サーバーレスなバックエンドを構築・管理するためのCLIツール(コマンドラインインターフェイス)です。
こちらの機能を使うと、AWSのサービスの中から自身が必要なツールをコマンドから選択して組み合わせることができます。対話的に動作して作業できるため、同環境を一から自分で構築するより、直感的で手軽に作業が行えます。
Amplify Framework
React, Vue.js, Angularなど、開発に必要な共通の機能が提供されている、クライアントフレームワークです。
Amplify Frameworkには上記でご紹介したAmplify CLIも含まれており、実装に時間のかかる認証(Cognitoとの連携)やログイン画面など、アプリケーションに簡単に組み込むことができます。
Amplify Console
Amplify Consoleは、Webアプリを公開する環境を簡単にセットアップできるサービスです。
「AWS Amplify」を組み込んだWEBアプリ・モバイルアプリを構築・ビルド・リリースすることができ、GitHubなど任意のリポジトリと連携して、Amplify ConsoleがCI/CD環境を構築してくれます。また、ブランチごとの環境構築もでき、目的に合わせたフロー設計ができる便利なサービスとなっております。
AWS Amplifyのメリット・デメリット
続いて「AWS Amplify」のメリットとデメリットについて、具体的な内容を交えて説明していきます。
AWS Amplifyのメリット
「AWS Amplify」には多くのメリットがありますが、今回は2つにまとめて解説していきます。
スピード
なんと言っても開発のスピードが格段に早くなります。
基本的なアプリ開発に必要なフレームワークは「Amplify Framework」にて揃っており、機能的に必要だけれども作業工数が重たく、また違いがユーザー側では差別化できない基本機能についてお任せすることができます。そのため、開発者は本質的な作業に集中することができます。
サービスの成長にあわせたスケール
「AWS Amplify」で用意されているバックエンドは柔軟性の高いフレームワークのため、サービスの成長・ユーザー数の拡大などに合わせて、対応することができます。
基本構造として、ユーザー数の拡大に耐えうるリソースをAWS側にて用意しており、初期段階から将来的な成長に合わせたバックエンドの段階的導入検討が不要となっており、アプリ開発計画の際にも負担が少なくなります。
AWS Amplifyのデメリット
続いてデメリットについて、解説していきます。
SPA(React, Vue.js, Angularなど)ではないアプリケーションを移設不可
「AWS Amplify」の前提条件として、SPA(React, Vue.js, Angularなど)で作られることを想定したサービスのため、SPA以外のアプリケーションを「AWS Amplify」環境に移設することができません。
SSR対応していない
現時点では、「AWS Amplify」単体でのSSR対応※はしておりません。しかしながら、Next.jsを利用したSSR関連の機能がパブリックプレビューとして公開されていますので、今後の開発に注目しましょう。
※Server Side Renderingの略称
サーバーサイドでレンダリングを行いHTMLを生成して、ブラウザ側で描写のみ対応するフロントエンド技術手法の1つ
AWS Amplifyは新規事業やスピーディーな開発が求められているプロジェクトに向いている
ここまで「AWS Amplify」についての機能や、メリット・デメリットについて解説していきました。「AWS Amplify」は、スタートアップ・新規事業や•直近の素早いリリースを最優先したい場合などに、力を発揮するサービスです。
上記のようなプロジェクト計画の場合は、一度「AWS Amplify」を検討してみてはいかがでしょうか。