Amplify と AppSync のイメージがちょっと湧いてきた
(Amplify と AppSync とは......何だったかな.........GraphQL 関連で...)
(いわゆる REST API を柔軟に作れるっぽいやつ...)
O
(´-`).。 o
ぼんやり把握になっていたので、もう少し具体的に知りたくなって『Developers.IO 2020 CONNECT』のセッションを拝見しました。
TL; DR;
もう少し知ることができ、イメージがちょっと湧いてきました。
------------
2020/06/23 15:00 - 15:45
moko 氏
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つあるので、これらも見ていくぞ。
コメント
コメントを投稿