Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LabBase Nowと AWS Amplifyについて

LabBase Nowと AWS Amplifyについて

Avatar for Kentaro Takata

Kentaro Takata

November 18, 2020
Tweet

More Decks by Kentaro Takata

Other Decks in Technology

Transcript

  1. AWS Amplifyを使うことになった背景 「LabBase Nowの急速展開による運用改善のため、スピード感のあるリリース必要に なったため」 • 別ツールを使いイベント応募受け付け • イベント数の増加や運用面を改善する必要性 •

    コロナの状況もありスピード感のある対応が必要 • 私がAWSを詳しいわけではなく、時間かかりそう • LabBaseはAWSで構築しているため将来的に連携しやすい
  2. 使えるバックエンド機能 • Authentications ◦ AWS Cognitoを使った認証処理 ◦ Googleアカウント連携にも対応 ◦ 今回は管理者向けの画面に使用。

    APIで権限設定にも使える • API ◦ AppSync (GraphQL)を使ったAPIとスキーマ定義した DynamoDB ◦ GraphQLのqueryやmutationも自動生成 • Functions ◦ Lambda ◦ APIで作成したDynamoDBのイベントをtriggerに設定したり ◦ API呼び出しすることがCLI上で設定できます。
  3. 結構 ツラミ あり • 推奨されたPythonのバージョンが使えない ◦ そのままだとデプロイ時に LambdaでPythonが使えない ◦ デプロイ時に毎回Python3.8をインストールする暴挙

    ◦ そしてCLIのバージョンアップのせいなのか、今はデプロイす らできない • 環境差分起きる ◦ 本番とDEV・STGでクエリのデフォルト limitの数が違う ◦ 同じバックエンドのソースを使っているのに • CLIがバグってる ◦ 自動生成されるスキーマが意図しないものになってる。 ◦ CLIバージョンアップで無事に修正はされた
  4. 使ってみてよかったこと • とにかく環境構築が早いのでとりあえず作りたいならうってつけ ◦ 簡単に環境構築できるのである程度動くモックアップも作りやすい ◦ 作りたいプロダクトに注力できる • サーバ落ちてるとか気にしなくなった ◦

    休みの日サーバが落ちたと電話かかってくる恐怖から解放される ◦ デプロイも失敗しても前バージョンで動く • プロダクトとしてスケールしやすい ◦ AWSサービスは基本的にスケールを前提にしたものとなっている ◦ サービスが大きくなってからリプレースするといった心配もない ◦ 始めやすいので捨てやすい