https://jawsdays2022.jaws-ug.jp/sessions/C20/
#jawsdays #jawsdays2022 #jawsdays2022_c
サーバレスだから出来た!サーバレスだから出来た!2つのサービスの2つのサービスのフルスクラッチリニューアルの全貌フルスクラッチリニューアルの全貌JAWSDAYS 2022 三浦一樹
View Slide
自己紹介#Sauna#Sapporo#HTB#Amplify#StepFunctions#Serverless#AWSSamurai2019#Marvel#Hinatazaka46#radio三浦一樹(36)
JAWS DAYS で人生変わった人です
#JAWSDAYS#JAWSDAYS2022#JAWSDAYS2022_C
札幌会場の様子
前夜祭もやったよ
サービスリニューアルに関してどんな感じで進めたのかストーリー◯話す事サービスリニューアルのあれこれ今後の展望大好きなAWSサービスの機能この機能があったから、めっちゃ助かった!採用した理由とかサービス紹介しながら、諦めた系の話を差し込んでいきますLinux ? SQL? Network?コンテナ?チョットナニイッテルカワカラナイ✖︎話さない事VPCの内側の話言えない話AWSサービス自体の説明ドキュメント読んでね♪比較的な話は触れますが詳しくは「すすきの」で
裏番組はこんな感じ
VOD EC3ヶ月くらいでフルスクラッチ 3ヶ月くらいでフルスクラッチ
開発体制についてエンジニア 6人くらいで作ってます興味がある人がゼロから勉強することを始めました+週1内製開発支援
ゼロから始める内製開発
出来ないことは出来ないリリースされなければ無価値制約と誓約
制約と誓約(例)制約幻影旅団以外には使わない誓約幻影旅団以外に使った場合は命を絶つ
制約と誓約制約VPCの内側に手を出さないアプリケーションに近いところから考える誓約事業に貢献する。(利益を最大化する)
VPC LESSVPC LESSVPC LESS
Amplify AppSync Step Functions
2020.10〜有料ライブ配信ライブコマースライブコマースイベント2019.10〜 2020.05〜 2020.07〜 2020.10〜有料ライブ配信 Lift & Shift VODオフロードReactNuxt.jsJavaScriptLambdaこの3年で作ったサービス
2020.10〜有料ライブ配信ライブコマースライブコマースイベント2019.10〜 2020.05〜 2020.07〜 2020.10〜有料ライブ配信 Lift & Shift VODオフロード完全リニューアル2021.04〜 2021.08 〜2021.10〜リニューアルちょっとだけサーバーレス化2022.04 〜2022.03〜ReactGraphQLTypeScriptNuxt.jsJavaScript開発 完全リニューアル 完全リニューアルこの3年で作ったサービス2022.09 〜固定化Lambda
今日メインで触れるのはこの2つのサービス2022.04.28 〜2022.03.01 〜内製開発
サービスリニューアルのあれこれ
VOD ECオンプレで外部にまるっと発注してたCMS触るだけ運用
VOD EC3ヶ月くらいでフルスクラッチ
DynamoDBDynamoDBDynamoDBAppSyncAmplifyAmplifyBFFざっくりアーキテクチャFrontend Backend
S3 S3DynamoDBDynamoDBDynamoDBAppSyncAmplifyAmplifyBFFざっくりアーキテクチャFrontend BackendMediaConvert
S3 S3DynamoDBDynamoDBDynamoDBAppSyncLambdaAPI-GWAmplifyAmplifyBFFざっくりアーキテクチャFrontend BackendMediaConvert
S3 S3DynamoDBDynamoDBDynamoDBAppSyncLambdaAPI-GWStep FunctionsAPI-GWAmplifyAmplifyBFFざっくりアーキテクチャFrontend BackendMediaConvert
S3 S3DynamoDBDynamoDBDynamoDBAppSyncLambdaAPI-GWStep FunctionsAPI-GWAmplifyAmplifyBFFざっくりアーキテクチャFrontend BackendOIDCOIDCOIDCMediaConvert
S3 MediaConvert S3DynamoDBDynamoDBDynamoDBAppSyncLambdaAPI-GWStep FunctionsAPI-GWAmplifyAmplify担当者向けCMS倉庫システムBFFざっくりアーキテクチャFrontend BackendOIDCOIDCOIDC
AWS AmplifyAWS AppSyncAWS Step Functions大好きなAWSサービスの機能
Amplify frontendAmplify Consoleリポジトリを連携するだけで簡単にCI/CD環境が手に入るBasic認証やリダイレクト設定もコンソールから簡単環境ごとの環境変数もコンソールから設定可能開発環境の構築時間を最小化したい
Amplify frontendリポジトリ繋げてブランチ選んでyamlをちょっと書いたらデプロイされるRoute 53のドメインをつけるのもコンソールからポチポチ
Amplify frontendS3 + CloudFront構成だと[email protected]してましたブランチ選んで、値を入力するだけ
Amplify frontendただし、増えてくると辛い、、、(CLIだとブランチの上書きが動かないと思っている)
Amplify backendamplify-cliDynamoDBDynamoDBDynamoDBAppSyncBFFBackendスキーマを書いてAppSyncの裏にあるDynamoDBとその connectionを定義してデプロイ
Amplify backend+
Amplify backendamplify-cliDynamoのテーブル同士をconnectionする。AppSyncを経て一発で欲しいデータにアクセスできるように構築マイページに表示したいデータ
Amplify backendGraphQL Transformer v1のままですGraphQL Transformer v2で新しくなったけど一部機能が実現できなくなったので、まだ更新できてないです、、、
AppSyncDynamoDBDynamoDBDynamoDBAppSyncLambdaAPI-GWStep FunctionsAPI-GWBFFquerymutationsubscriptionGraphQL APIPub/Sub API
AppSyncDynamoDBDynamoDBDynamoDBAppSyncBFFqueryGraphQL APIフロント側で好きなデータを持ってこれる
AppSyncDynamoDBDynamoDBDynamoDBAppSyncLambdaBFFmutationmutationsubscriptionPub/Sub API
AppSyncDynamoDBDynamoDBDynamoDBAppSyncLambdaBFFmutationmutationsubscriptionPub/Sub APIwebsocketリロード無しで画面更新が可能
AppSyncクォータ がちょっと特殊トークン消費量に注意
Step Functions100+StatemachinesDynamoDBDynamoDBDynamoDBAppSyncStep FunctionsAPI-GWBFF
Step FunctionsDynamoDBDynamoDBDynamoDBAppSyncStep FunctionsAPI-GWBFFLambdaAPI-GWAPI-GW+ Lambdaっていう構成がどんどんStep Functionsに変化していった>
Step FunctionsWorkflow Studioがすごい!!
Step FunctionsGUIで作れる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リリースしてから気がつくことってたくさんある02Amplifyいいぞ!!!AppSyncいいぞ!!!Step Functionsいいぞ!!03
WE WERE HIRING
THANK YOU