Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
本番環境でAmplifyを3年くらい使ってみている弊社環境のご紹介
Search
Kazuki Miura
PRO
December 14, 2023
Technology
3.5k
0
Share
本番環境でAmplifyを3年くらい使ってみている弊社環境のご紹介
Amplify Boost Up #04
#AWSAmplifyJP
Kazuki Miura
PRO
December 14, 2023
More Decks by Kazuki Miura
See All by Kazuki Miura
地域のCCoEの拡大を目指す 企業間コミュニティ 「re:light local」について
miu_crescent
PRO
0
41
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
5k
これだけはやっておいた方がよさそう?awsにおけるランサムウェア対策
miu_crescent
PRO
1
140
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
4
410
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
400
エンタメ方向のTを広げよう!Werner先生の クロージングキーノートを 深掘りするための小ネタ10
miu_crescent
PRO
1
190
Amazon Bedrockを活用した 報道向け文字起こしシステムの開発
miu_crescent
PRO
1
180
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
0
78
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
3
1.1k
Other Decks in Technology
See All in Technology
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
360
Cloud Run のアップデート 触ってみる&紹介
gre212
0
270
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
980
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
1
620
さきさん文庫の書籍ができるまで
sakiengineer
0
320
権限管理設計を完全に理解した
rsugi
2
240
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
520
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
270
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
500
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
550
long-running-tasks
cipepser
2
450
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
190
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How STYLIGHT went responsive
nonsquared
100
6.1k
Exploring anti-patterns in Rails
aemeredith
3
380
Amusing Abliteration
ianozsvald
1
190
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Are puppies a ranking factor?
jonoalderson
1
3.4k
Test your architecture with Archunit
thirion
1
2.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
WCS-LA-2024
lcolladotor
0
610
Transcript
本番Amplify 環境のご紹介 本番Amplify 環境のご紹介 HTB北海道テレビ放送 三浦一樹
三浦一樹(37) 北海道札幌市在住 秋田→東京→札幌 1
#aws_carnival 〜秋の祭典スペシャル!〜 Startupだ!JAWS-UGだ!Amplifyだ! 2023年11月4日(土) 2
お仕事紹介 北海道を対象とした特定地上基幹放送事業者 3
テレビ 見てます? 電 波 📡で 4
ちなみに 我が家に 視聴環境ないですw 5
お仕事紹介 BtoB事業 BtoC事業 テレビのCMや番組提供 番組関連のイベント事業 放送収入 番組の配信や 関連グッズの販売など ファンの方に直接お届けする 放送外収入
北海道を対象とした特定地上基幹放送事業者 01 02 6
お仕事紹介 動画配信事業 EC事業 8人のチーム 未経験から勉強した エンジニア3名 (+SES 2名) ネットデジタル事業部 7
VPC LESS VPC LESS VPC LESS OS LESS OS LESS
OS LESS 8
お仕事紹介 動画配信事業 EC事業 サーバレスじゃないとムリ! ネットデジタル事業部 9
動画配信事業 EC事業 Amplify Step Functions で 大体できてます 10
OIDC OIDC OIDC DynamoDB DynamoDB S3 MediaConvert S3 DynamoDB AppSync
Lambda API-GW Step Functions API-GW Amplify Amplify 担当者向け CMS 倉庫 システム BFF Frontend Backend アーキテクチャ amplify-cli で作ってる 11
トピックス 型ファイル FRONTEND と BACKEND が分離しているので。。。 環境変数 知らなくて損したこと 技術的負債 溜まってしまった技術的負債の
ご紹介 12
GraphQL の 型ファイル の受け渡し 13
AppSync DynamoDB query 14
AppSync DynamoDB generated.tsx query 型ファイル 15 Code Generator
AppSync DynamoDB generated.tsx query ??? どこに置く? 一致してないと 16
BFF frontend AppSync AppSync DynamoDB DynamoDB prod dev prod stg
dev prod stg dev backend backend frontend frontend frontend generated.tsx generated.tsx wget wget ビルド前に wget で持ってくる 17
困ってたこと 18
環境変数 ってどうやって管理してますか? 19
環境変数 諸事情により、90個くらいありまして、、 20
wiki から手動コピペ時代が長らく続き、、 環境変数 21
環境変数 .env env.json aws cli 22
amplify cli に無いから 諦めてた、、笑 環境変数 .env env.json aws cli 23
困ってること 24
EpisodeGroup 1対多 1対多 DynamoDB AppSync Program Connection ConnectionEpisode Episode 1対多
1対1 1対1 初期ロード時に 全てのデータを Recoil に格納 番組情報は 全部で10MB くらい amplify-cli で、どんどん増やしちゃった 番組系のデータ 25
EpisodeGroup 1対多 1対多 DynamoDB AppSync Program Connection ConnectionEpisode Episode 1対多
1対1 1対1 初期ロード時に 全てのデータを Recoil に格納 番組情報は 全部で10MB くらい amplify-cli で、どんどん増やしちゃった 番組系のデータ Transformer v1 のままここまできちゃって @connection を気軽に使って繋げまくった 乗り換えなり、DynamoDB のリファクタを考えたい 26
Merged API と Momento で解決 27
AppSync のトークン消費量がえらいことになってて、、 なんとかなったお話です。 28
まとめ 運用上の細かい使い方もコミュニティで共有していき ましょう! ものすごいスピードで新規開発と機能追加できたのは Amplifyのおかげ! 技術的負債の返済を滞ってきたのは我々の所為 Transformer v1 → v2
対応を放置 @connection ディレクティブをノリで使う Amplify Gen 2 でこれらを乗り越えていきたいです! 29