Amplify と AppSync のイメージがちょっと湧いてきた

(Amplify と AppSync とは......何だったかな.........GraphQL 関連で...)
    (いわゆる REST API を柔軟に作れるっぽいやつ...)
     O
(´-`).。 o

ぼんやり把握になっていたので、もう少し具体的に知りたくなって『Developers.IO 2020 CONNECT』のセッションを拝見しました。

TL; DR;

もう少し知ることができ、イメージがちょっと湧いてきました。
 
2020/06/23  15:00 - 15:45
moko 氏

以下詳細

> そもそも GraphQL とは?
  • REST API の置き換えになりつつある、クエリー言語、ランタイム
  • 各種 API を定義することなく、ほしいデータを直接取得できる

> AWS AppSync とは? (Amplify との連携が超オススメ)
  • マネージド GraphQL
  • VTL (テンプレート言語) で GraphQL Resolver を実装する (自動生成も可能)
  • DynamoDB, Lambda, Elasticsearch, Aurora Serverless, HTTP エンドポイントをサポート
用語と概要を大雑把に整理できました。
続いて、Amplify と AppSync を使って爆速で開発する例の紹介。

> 導入面倒なんでしょ...? (面倒じゃない)
  • コマンドで
    • React Application: npx コマンドで完了
    • Amplify: npm で aws-amplify/cli をインストール。init で初期設定完了 → CloudFormation が動いてデプロイされる 

> CI/CD導入 (面倒じゃない)
  • Amplify コンソールで GitHub 連携する
    • 認可する (設定は初期設定のままで OK)
    • GitHub の Push を Hook にビルドでデプロイまで (所要時間 5〜10分くらい)
Heroku とか netlify と似たような使い勝手の印象。
(つまりデプロイ簡単。初期でこれ作れるの本当に大事)

> バックエンドAPIの開発 (大変じゃない)
  • `amplify add api` コマンド → 5分くらいで AppSync と DynamoDB ができた
  • AppSync を使えば、スキーマを定義するだけで (SDKを叩くような感覚で) データを取れる → これは結構すごいこと

> 登録、ログイン画面、認証 (大変じゃない)
  • Amplify + Cognito
    • Cognito を使ったユーザ登録、ログイン、画面出し分け (例では 20行くらいのコード実装でいい感じの UI)
    • スケーリングも特に気にしなくてOK

> インフラの管理 (面倒じゃない)
  • フルサーバーレス!
  • リソースは CloudFormation で管理
    • (基本的にスケーリングを気にしなくてOK)

> でもお高いんでしょう... (比較的安価)
  • (今回の例のような) ちょっとした開発なら $3〜$5/月 くらい
  • 従量課金でスモールスタート可能
------------

20:16 からは Amplify と AppSync を使って実際にサービス『Loop I/O』を作った話 @ANGEL Dojo
  • 企画: 1ヶ月 開発: 1ヶ月
  • 稼働: 10h / 週
  • 体制: 5名 (開発経験者 2名)
中々ギリギリな印象を受けるも、10回/週のデプロイやログインの実装も対応されたとのこと。
バックエンドを Amplify に任せて、フロントの開発に集中できたとのこと。
Amplify の爆速開発を体現。
すごい (語彙力)

なお、ANGEL Dojo のブログはこちら
(登壇スライドがあるので、後で見る)

アーキテクチャや GraphQL のスキーマ、データ投入の例など参考になるな...

------------

27分頃からは『Working Backwards』 について。
  講演のタイトルにある「イケてる」とは?
    突き詰めれば、誰にとってどういう意味合いを指すのか...

プロダクトを開発するまえにそれらを明確にする必要がある。
そのための観点として、Amazon 流の考え方をご紹介
  • お客様は誰ですか?
  • お客様が抱える課題や改善点は明確ですか?
  • お客様が受けるメリットは明確ですか?
  • お客様のニーズやウォンツをどのように知りましたか?
  • お客様の体験が描けていますか?
開発者として心がけてはいるが、改めてチェックリストのように覚えておこう。

------------

30分の発表終わり。
引き続いて質疑応答の時間になりましたが、これも活発で参考になりました (以下抜粋)

> Amplify を使うことでインフラがブラックボックスになってしまう...セキュリティ・仕様考慮もれ心配
  • Amplify はホスティングなので、フロントの表示に関する点は心配ないと思われる
  • 自前で ID プロバイダを作成するか、AWS (Cognito) を信頼するか
> Amplify で作成したコードを、検証環境・本番環境にデプロイするに当たって気を付けること
  • Amplify は環境を切り替えられる
    • develop ブランチは検証環境、master ブランチは本番環境のように振り分けるイメージ
> Amplify は進化中のイメージですが、本番で使えるには?
  • 本番環境に適用しても問題ないと個人的に思われる
  • 進化のスピードは早い印象。活発なコミュニティ。GitHub でも議論されている
------------

まとめ

Amplify と AppSync のイメージがちょっと湧いてきた。
他の方のセッションも4つあるので、これらも見ていくぞ。

コメント

このブログの人気の投稿

Salesforce の pageBlockTable のヘッダー行クリックでソートする方法

[PC] nx4820 と Debian と無線LAN (2/3)

MAMMUT Rock Pro SE (black 28L) は通勤にもすごく良さげ