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
サーバレスだから出来た!2つのサービスのフルスクラッチリニューアルの全貌
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kazuki Miura
PRO
October 08, 2022
Technology
0
2.3k
サーバレスだから出来た!2つのサービスのフルスクラッチリニューアルの全貌
https://jawsdays2022.jaws-ug.jp/sessions/C20/
#jawsdays #jawsdays2022 #jawsdays2022_c
Kazuki Miura
PRO
October 08, 2022
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.4k
これだけはやっておいた方がよさそう?awsにおけるランサムウェア対策
miu_crescent
PRO
1
120
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
4
350
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
330
エンタメ方向のTを広げよう!Werner先生の クロージングキーノートを 深掘りするための小ネタ10
miu_crescent
PRO
1
170
Amazon Bedrockを活用した 報道向け文字起こしシステムの開発
miu_crescent
PRO
0
130
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
0
58
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
3
1.1k
完全未経験からAWSと共に セキュリティに立ち向かった半生
miu_crescent
PRO
1
150
Other Decks in Technology
See All in Technology
内製AIチャットボットで学んだDatadog LLM Observability活用術
mkdev10
0
130
バクラク最古参プロダクトで重ねた技術投資を振り返る
ypresto
0
170
エンジニアリングマネージャーの仕事
yuheinakasaka
0
110
Tebiki Engineering Team Deck
tebiki
0
27k
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
420
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
130
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
370
Postman v12 で変わる API開発ワークフロー (Postman v12 アップデート) / New API development workflow with Postman v12
yokawasa
0
140
組織全体で実現する標準監視設計
yuobayashi
3
490
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
GCASアップデート(202601-202603)
techniczna
0
210
Scrumは歪む — 組織設計の原理原則
dashi
0
200
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
52k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
120
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
480
Transcript
サーバレスだから出来た! サーバレスだから出来た! 2つのサービスの 2つのサービスの フルスクラッチリニューアルの全貌 フルスクラッチリニューアルの全貌 JAWSDAYS 2022 三浦一樹
自己紹介 #Sauna #Sapporo #HTB #Amplify #StepFunctions #Serverless #AWSSamurai2019 #Marvel #Hinatazaka46
#radio 三浦一樹(36)
JAWS DAYS で人生変わった人です
#JAWSDAYS #JAWSDAYS2022 #JAWSDAYS2022_C
札幌会場の様子
前夜祭もやったよ
サービスリニューアルに関して どんな感じで進めたのかストーリー ◯話す事 サービスリニューアルのあれこれ 今後の展望 大好きなAWS サービスの機能 この機能があったから、めっちゃ助かった! 採用した理由とか サービス紹介しながら、諦めた系の話
を差し込んでいきます Linux ? SQL? Network? コンテナ? チョットナニイッテルカワカラナイ ✖︎ 話さない事 VPC の内側の話 言えない話 AWS サービス自体の説明 ドキュメント読んでね♪ 比較的な話は触れますが 詳しくは「すすきの」で
裏番組は こんな感じ
VOD EC 3 ヶ月くらいで フルスクラッチ 3 ヶ月くらいで フルスクラッチ
開発体制について エンジニア 6 人くらいで作ってます 興味がある人が ゼロから勉強することを始めました + 週1 内製開発支援
ゼロから始める内製開発
出来ないことは出来ない リリースされなければ無価値 制約と誓約
制約と誓約(例) 制約 幻影旅団以外には使わない 誓約 幻影旅団以外に使った場合は命を絶つ
制約と誓約 制約 VPC の内側に手を出さない アプリケーションに近いところから考える 誓約 事業に貢献する。 (利益を最大化する)
None
VPC LESS VPC LESS VPC LESS
Amplify AppSync Step Functions
2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信
Lift & Shift VODオフロード React Nuxt.js JavaScript Lambda この3年で作ったサービス
2020.10〜 有料ライブ配信 ライブコマース ライブコマース イベント 2019.10〜 2020.05〜 2020.07〜 2020.10〜 有料ライブ配信
Lift & Shift VODオフロード 完全リニューアル 2021.04〜 2021.08 〜 2021.10〜 リニューアル ちょっとだけ サーバーレス化 2022.04 〜 2022.03〜 React GraphQL TypeScript Nuxt.js JavaScript 開発 完全リニューアル 完全リニューアル この3年で作ったサービス 2022.09 〜 固定化 Lambda
今日メインで触れるのは この2つのサービス 2022.04.28 〜 2022.03.01 〜 内製開発
サービスリニューアル のあれこれ
VOD EC オンプレで外部に まるっと発注してた CMS 触るだけ運用
VOD EC 3 ヶ月くらいで フルスクラッチ
VOD EC 3 ヶ月くらいで フルスクラッチ
DynamoDB DynamoDB DynamoDB AppSync Amplify Amplify BFF ざっくりアーキテクチャ Frontend Backend
S3 S3 DynamoDB DynamoDB DynamoDB AppSync Amplify Amplify BFF ざっくりアーキテクチャ
Frontend Backend MediaConvert
S3 S3 DynamoDB DynamoDB DynamoDB AppSync Amplify Amplify BFF ざっくりアーキテクチャ
Frontend Backend MediaConvert
S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Amplify Amplify
BFF ざっくりアーキテクチャ Frontend Backend MediaConvert
S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions
API-GW Amplify Amplify BFF ざっくりアーキテクチャ Frontend Backend MediaConvert
S3 S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions
API-GW Amplify Amplify BFF ざっくりアーキテクチャ Frontend Backend OIDC OIDC OIDC MediaConvert
S3 MediaConvert S3 DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step
Functions API-GW Amplify Amplify 担当者向け CMS 倉庫 システム BFF ざっくりアーキテクチャ Frontend Backend OIDC OIDC OIDC
AWS Amplify AWS AppSync AWS Step Functions 大好きなAWS サービス の機能
Amplify AppSync Step Functions
Amplify AppSync Step Functions
Amplify frontend Amplify Console リポジトリを連携するだけで簡単にCI/CD 環境が手に入る Basic 認証やリダイレクト設定もコンソールから簡単 環境ごとの環境変数もコンソールから設定可能 開発環境の構築時間を最小化したい
Amplify frontend リポジトリ繋げて ブランチ選んで yaml をちょっと書いたら デプロイされる Route 53 のドメインをつけるのも
コンソールからポチポチ
Amplify frontend S3 + CloudFront 構成だと Lambda@Edge してました ブランチ選んで、 値を入力するだけ
Amplify frontend ただし、増えてくると辛い、、、 (CLI だとブランチの上書きが動かないと思っている)
Amplify backend amplify-cli DynamoDB DynamoDB DynamoDB AppSync BFF Backend スキーマを書いて
AppSync の裏にある DynamoDB と その connection を定義し てデプロイ
Amplify backend +
Amplify backend amplify-cli Dynamo のテーブル同士を connection する。 AppSync を経て 一発で欲しいデータにアク
セスできるように構築 マイページに 表示したいデータ
Amplify backend GraphQL Transformer v1 のままです GraphQL Transformer v2 で新しくなったけど
一部機能が実現できなくな ったので、まだ更新できて ないです、、、
Amplify AppSync Step Functions
AppSync DynamoDB DynamoDB DynamoDB AppSync Lambda API-GW Step Functions API-GW
BFF query mutation subscription GraphQL API Pub/Sub API
AppSync DynamoDB DynamoDB DynamoDB AppSync BFF query GraphQL API フロント側で好きなデータ
を持ってこれる
AppSync DynamoDB DynamoDB DynamoDB AppSync Lambda BFF mutation mutation subscription
Pub/Sub API
AppSync DynamoDB DynamoDB DynamoDB AppSync Lambda BFF mutation mutation subscription
Pub/Sub API websocket リロード無しで 画面更新が可能
AppSync クォータ が ちょっと特殊 トークン消費量 に注意
Amplify AppSync Step Functions
Step Functions 100 + State machines DynamoDB DynamoDB DynamoDB AppSync
Step Functions API-GW BFF
Step Functions DynamoDB DynamoDB DynamoDB AppSync Step Functions API-GW BFF
Lambda API-GW API-GW + Lambda っていう構成がどんどん Step Functions に変化していった >
Step Functions Workflow Studio がすごい!!
Step Functions GUI で作れる ASL とかYAML はもう 触らない SDK が直接叩ける
これが爆速で最高
Step Functions
Amplify AppSync Step Functions 再現性のある形で 事業に近い開発に時間を割くことが出来た コスト低め、運用負荷低め
リリースして 気がつくことたくさん! You Build, You Build, You Build, You Run
it. You Run it. You Run it.
2022.04.28 〜 2022.03.01 〜 社内外の声から 大小合わせて 100 以上の 機能改善
まとめ
サーバーも ネットワークも知らなくても サービスは作れる!! 01 リリースしてから 気がつくことってたくさんある 02 Amplify いいぞ!!! AppSync
いいぞ!!! Step Functions いいぞ!! 03
WE WERE HIRING
WE WERE HIRING
WE WERE HIRING
THANK YOU