SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Amplifyで自社サービスを開発してみた
NkawaK
西川健太(@NkawaK)
所属: 株式会社ギークフィード
担当: ReactやAWSの開発など
趣味: アニメ鑑賞、ゲームなどなど
自己紹介
今回開発した自社サービス
Amplifyを採用してよかったところ
・バックエンド部分をいい感じに自動生成してくれる
・GitHubと連携することで簡単に CI/CDが実現できる
・スケールが容易
Amplifyを採用してよかったところ
・バックエンド部分をいい感じに自動生成してくれる
・GitHubと連携することで簡単に CI/CDが実現できる
・スケールが容易
各種コマンドでバックエンドを作成
amplify init : Amplifyの環境構築
amplify add auth: Cognitoを使った認証の追加
amplify add api: GraphQLとAppSyncを使用したAPIの作成 or API GatewayとLambdaの追加
Amplify init
プロジェクトのディレクトリで
Amplify initを実行するだけ
これだけで環境が作られます
Amplify add auth
amplify add authを実行するだけで
Cognitoのユーザープールが作られ
ます
Social Sign In やSAML、MFAにも対
応してます
Amplify add api
amplify add apiでGraphQLを選ぶと
AppSyncのAPIが作られます
Amplify add api
amplify add apiの後にamplify pushで
GraphQLのクエリとDynamoDBのテーブ
ルを作成
Amplify add api
WebScoketを使ったリアルタイムデータの取得も簡単 !
Amplify add api
amplify add apiでRESTを選ぶとLambdaが
作成されます
↑の後にamplify pushでAPI Gatewayが作
成されます
各種コマンドでバックエンドを作成
amplify init : Amplifyの環境構築
amplify add auth: Cognitoを使った認証の追加
amplify add api: GraphQLとAppSyncを使用したAPIの作成 or API GatewayとLambdaの追加
バックエンドの作成を Amplifyに任せることで大幅な工数の削減
UI/UXの開発に注力することができた
Amplifyを採用してよかったところ
・バックエンド部分をいい感じに自動生成してくれる
・GitHubと連携することで簡単に CI/CDが実現できる
・スケールが容易
Amplifyのコンソールでらくらく CI/CD
コンソールでGitHubを選んで認証すれば OK
テストも自動で作ってくれます
Amplifyを採用してよかったところ
・バックエンド部分をいい感じに自動生成してくれる
・GitHubと連携することで簡単に CI/CDが実現できる
・スケールが容易
Amplifyで主に使用するAWSサービス
AppSync、Lambda、API Gateway、DynamoDBなど
これらはスケーラブルサービスなので将来的なスケールアップが容易
AppSync、API Gateway → キャッシュの有効化
Lambda → メモリを増やす
DynamoDB → Auto Scalingを設定、レプリカの追加
Amplifyのつらみ
・ある程度のAWSサービスへの理解が必要になる
・Amplify UIがReact V18に現在対応していない
Amplifyのつらみ
・ある程度のAWSサービスへの理解が必要になる
・Amplify UIがReact V18に現在対応していない
いずれ来るAmplifyのチュートリアルを越える時 ...
Amplifyアプリと他のAWSサービスを連携したい!
🤔
筆者の場合
・Amazon ConnectのAPIの同時実行数を制限したい
・Amazon Connectの通話履歴データを画面上で再生したい
・CognitoのユーザーにAmazon Connectのユーザー情報を持たせたい
・Amplify pushでエラーが起こった時の調査
筆者の場合
・Amazon ConnectのAPIの同時実行数を制限したい
・Amazon Connectの通話履歴データを画面上で再生したい
・CognitoのユーザーにAmazon Connectのユーザー情報を持たせたい
・Amplify pushでエラーが起こった時の調査
Lambda → SQS → Lambda → DynamoDBの構成で同時実行数を制限
筆者の場合
・Amazon ConnectのAPIの同時実行数を制限したい
・Amazon Connectの通話履歴データを画面上で再生したい
・CognitoのユーザーにAmazon Connectのユーザー情報を持たせたい
・Amplify pushでエラーが起こった時の調査
API Gateway → Lambda → S3の構成で通話音声を取得
筆者の場合
・Amazon ConnectのAPIの同時実行数を制限したい
・Amazon Connectの通話履歴データを画面上で再生したい
・CognitoのユーザーにAmazon Connectのユーザー情報を持たせたい
・Amplify pushでエラーが起こった時の調査
Amazon Connectにログインして、APIからユーザー情報を取得
Cognitoにサインアップする際に Amazon ConnectのユーザーIDを入力
筆者の場合
・Amazon ConnectのAPIの同時実行数を制限したい
・Amazon Connectの通話履歴データを画面上で再生したい
・CognitoのユーザーにAmazon Connectのユーザー情報を持たせたい
・Amplify pushでエラーが起こった時の調査
エラーが起こっている AWSリソースを特定したり、エラーの修正に AWSサービ
スの理解が必要だった
Amplifyのつらみ
・ある程度のAWSサービスへの理解が必要になる
・Amplify UIがReact V18に現在対応していない
Amplify UI
Amplify UI
React V18にインストールしようとしたらエラーに、 V16.8 ~ V17にしか対応してないっぽい ?🤔
まとめ
・Amplifyならバックエンドを自動で作ってくれて工数を短縮できる
・CI/CDを簡単に実現できて、開発効率が上がる
・使用するAWSサービスがスケーラブル
・Amplifyで凝ったことをやると、なんやかんやで AWSへの理解が必要になる
 社員募集してます
とりあえず話を聞きたいって方は筆者 (@NkawaK)にDM送ってもらってもOKで
す󰢏

Weitere ähnliche Inhalte

Ähnlich wie Amplifyで自社サービスを開発してみた.pdf

AmplifyのDeploy結果をSlackに通知する
AmplifyのDeploy結果をSlackに通知するAmplifyのDeploy結果をSlackに通知する
AmplifyのDeploy結果をSlackに通知するKeita Ibaraki
 
LINE BOT AWARDS ハンズオン
LINE BOT AWARDS ハンズオンLINE BOT AWARDS ハンズオン
LINE BOT AWARDS ハンズオンMasatoshi Hiraoka
 
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラムDropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラムMasayuki Abe
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...Hidenori Takeshita
 
Fun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerFun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerAnzaiKumiko
 
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるCircle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるynakahira
 
ちょっと地味なビルドとリリースの話
ちょっと地味なビルドとリリースの話ちょっと地味なビルドとリリースの話
ちょっと地味なビルドとリリースの話techscore
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へKazumi IWANAGA
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kazuhito Matsuda
 
pythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリpythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリKazufumi Ohkawa
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド暁 三宅
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうkenji4569
 
20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice
20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice
20190619 AWS Black Belt Online Seminar Dive Deep into AWS ChaliceAmazon Web Services Japan
 
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationMicrosoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationYuichiro Saito
 
Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料亮介 山口
 

Ähnlich wie Amplifyで自社サービスを開発してみた.pdf (20)

AmplifyのDeploy結果をSlackに通知する
AmplifyのDeploy結果をSlackに通知するAmplifyのDeploy結果をSlackに通知する
AmplifyのDeploy結果をSlackに通知する
 
LINE BOT AWARDS ハンズオン
LINE BOT AWARDS ハンズオンLINE BOT AWARDS ハンズオン
LINE BOT AWARDS ハンズオン
 
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラムDropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
Dropbox APIなどを使って制作を効率化しよう@関西オープンフォーラム
 
Github第8章
Github第8章Github第8章
Github第8章
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
 
YouTube APIの紹介
YouTube APIの紹介YouTube APIの紹介
YouTube APIの紹介
 
Fun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swaggerFun tech14-alibaba cloud api gateway-swagger
Fun tech14-alibaba cloud api gateway-swagger
 
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるCircle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
 
ちょっと地味なビルドとリリースの話
ちょっと地味なビルドとリリースの話ちょっと地味なビルドとリリースの話
ちょっと地味なビルドとリリースの話
 
Kintone hands on
Kintone hands onKintone hands on
Kintone hands on
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へ
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2
 
pythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリpythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリ
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
 
20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice
20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice
20190619 AWS Black Belt Online Seminar Dive Deep into AWS Chalice
 
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 PresentationMicrosoft DevOps Hackathon (Sep 2015) Team 4 Presentation
Microsoft DevOps Hackathon (Sep 2015) Team 4 Presentation
 
Ansible+Docker
Ansible+DockerAnsible+Docker
Ansible+Docker
 
Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料Nifty cloud jtf2014ハンズオン資料
Nifty cloud jtf2014ハンズオン資料
 

Amplifyで自社サービスを開発してみた.pdf