AWS Amplify part1 〜Amplifyで何ができるのか〜

ヨッシー
2020-09-04
ヨッシー
2020-09-04

はじめに

社内勉強会でAWS Amplifyのハンズオン勉強会を実施したため、
こちらで内容を紹介します。

本ブログはAmprifyをテーマにpart毎にアプリを作成していくように構成しています。


AWS Amplifyとはなんぞや?

  • AWS上でモバイル/WEBアプリケーションを爆速で構築するための開発プラットフォーム
  • 開発工数のかかるバックエンド機能(認証、分析など)の実装は全てAmplifyへ任せて、バックエンドとインフラ管理はやらない(サーバレス化)
  • アプリ開発者はフロントエンドの開発に注力可能
  • 自動構築されたバックエンド とフロントエンドアプリを自動連携可能
  • CI/CDの連携が容易

このように、これまでAWS上でインフラを構築してアプリを開発してきた開発者は、
インフラ構築のほとんどをコマンドラインひとつで構築できるすぐれものです。

また、認証機能などを持った簡単なフロントエンドフレームワークのチュートリアルアプリなら
15〜30分以内に作成も可能です。


どんなサービスに向いてるの?

  • サービス新規開発案件
  • 開発中に仕様がたびたび変わる案件
  • とにかくいますぐ成果物が欲しい!!
  • インフラの管理は少なくしたい


逆にデメリットは?

  • 既存アプリをAmplifyへリプレイスは難しい
  • フレームワークという特性上、制約事項がある(学習コストが若干ある)
  • WebアプリケーションはSPA(React, Vue.js, Angularなど)で作成することが前提

Amplifyの仕組みは?

以下の3つの構成要素から成り立っています
  • Amplify CLI
    • バックエンドを設定するためのコマンドライン
  • Amplify Framework
    • フロントエンド開発のためのフレームワーク
    •  iOS、Android、Web(React/Vue/Angular)、React Nativeなどのフロンドエンドフレームワークに対応
  • Amplify Console
    • SPAや静的サイトホスティング、CI/CDを導入するツール

対応するAWSのバックエンドサービス


Untitled Diagram (4).png

  • Cognito
    • 認証基盤の構築が可能
  • API Gateway, AppSync
    • RESTやGraphQLのAPIを実装可能
  • Pinpoint
    • 顧客の行動分析が可能
  • SageMaker
    • AI/ML機能を提供

これ以外にも多くのサービスと連携が可能となっており、
連携することで実装コストを下げることができます。

まとめ

今回は、Amplifyの概要について説明しました。
次回から、Amplifyを使用して簡単なサイトを構築してみたいと思います。

参照

[1]https://aws.amazon.com/jp/amplify/
[2]https://aws.amazon.com/jp/blogs/startup/techblog-3reasons-amplify/
[3]https://aws.amazon.com/jp/amplify/features/#Authentication