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
パブリッククラウドもSaaSもいいとこどり!実際に使ってみた全貌と 推しポイントを紹介します!
Search
Kazuki Miura
PRO
July 09, 2024
Technology
1
240
パブリッククラウドもSaaSもいいとこどり!実際に使ってみた全貌と 推しポイントを紹介します!
https://classmethod.connpass.com/event/322687/
#cm_odyssey
Kazuki Miura
PRO
July 09, 2024
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
「入門 OpenTelemetry」 入門
miu_crescent
PRO
1
48
AZ 名とAZ ID の違いを 何度でも言うよ
miu_crescent
PRO
1
190
AWS Step Functions で マネコンとCDKの二刀流!
miu_crescent
PRO
1
42
AWS MediaServices の概要と活用事例
miu_crescent
PRO
2
73
ワイキキサークルホテルとその過ごし方
miu_crescent
PRO
1
230
私のawsの学び方、社外へ飛び出そう
miu_crescent
PRO
1
120
地方だからできた! 東北でのAWS事例を一挙紹介!
miu_crescent
PRO
1
150
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
190
AWSにおける生成AIでの動画生成について
miu_crescent
PRO
1
130
Other Decks in Technology
See All in Technology
推し書籍📚 / Books and a QA Engineer
ak1210
0
120
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
180
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
220
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
160
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
1
600
TLSから見るSREの未来
atpons
2
190
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
220
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
170
AWS CDKの仕組み / how-aws-cdk-works
gotok365
10
730
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
14
6k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Language of Interfaces
destraynor
158
25k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Unsuck your backbone
ammeep
671
58k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Statistics for Hackers
jakevdp
799
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Thoughts on Productivity
jonyablonski
69
4.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Transcript
2024/7/9 北海道テレビ放送 三浦一樹 パブリッククラウドもSaaSもいいとこどり! 実際に使ってみた全貌と 推しポイントを紹介します!
本日の Classmethod Odyssey ONLINE
本日の Classmethod Odyssey ONLINE
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 お願い 質問は zoom の 「Q&A」に!
北海道テレビ放送(株) (自称)総合職エンジニア 開発チーム キャプテン AWS Step Functions サウナ 秋田→東京→札幌 JAWS-UG
札幌 Media-JAWS 会社 ロール 好きな AWSサービス 趣味 出身地 コミュニティ AWS Community Hero 三浦一樹
今日のお話 細かい実装のお話はしません。 アーキテクチャメインで以下の視点で なんで採用したのか 開発時はどうだったのか 運用時はどうったのか 1番の推しポイント
今日お話するサービス
今日お話するサービス エンジニア5名 2019年開発スタート ↓ (Biz)DevOps チーム
ここに至る経緯は
大前提 事業部在籍の総合職の人でエンジニアしてる ビジネスオーナーは隣の部署 Linux / ネットワーク わからん トラブったとき、対応できる気がしない 自分たちでやらないことを増やす 儲かるのが存在意義
売上を増やして、経費を下げる
None
VPC LESS VPC LESS VPC LESS OS LESS OS
LESS OS LESS
VPC LESS VPC LESS VPC LESS OS LESS OS
LESS OS LESS LAMBDA LESS LAMBDA LESS LAMBDA LESS
Streams Lambda GA4 API Gateway QuickSight Dataflow アーキテクチャ全体像 AWS Cloud
Amplify Hosting Google Cloud BigQuery GCS Looker Stuido R2 CDN S3 CloudFront Amplify Backend AppSync DynamoDB Lambda Step Functions MedieConvert S3 Data Transfer Cloud Functions Spanner Momento Cache S3 EC2
ちょっと休憩
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 お願い 質問は zoom の 「Q&A」に!
AWS Lambda
なんで採用したのか ロジックが動く最小要素 開発時はどうだったのか 分割しすぎると遅くなる 運用時はどうだったのか ランタイム!バージョンアップ!つらい! そして、どんどん増えていく Lambda Lambda以前だとエンジニアになれてない
AWS Step Functions
Step Functions なんで採用したのか workflow Studio 最高 開発時はどうだったのか workflow Studio 最高
運用時はどうだったのか SDKが早くて最高 実行単位でログが見えるコンソール最高 自動化が不安なときは人間系で実行したりも めざせ めざせ めざせ LAMBDA LESS LAMBDA LESS LAMBDA LESS
Step Functions 確認画面 購入完了 決済処理 5s 一番複雑な? ステートマシン
Step Functions 確認画面 購入完了 決済処理 5s 一番複雑な? ステートマシン
Step Functions 在庫確保できた 決済成功
Step Functions 在庫確保できた 決済失敗 決済成功 失敗 SNS 人が対応 SNS コンソールから
Step Functions 再起 失敗 Sagaパターンにおける 補償トランザクションの考え方 DynamoDBの 条件付き書き込みは SDKだけでは実装できない ので、Lambdaで
Step Functions DynamoDBのインポートとかにも使ったり
Step Functions DynamoDBのインポートとかにも使ったり
None
なんで採用したのか コミュニティで知った 開発時はどうだったのか ドキュメント最高。 サポート最高 運用時はどうだったのか 3Dセキュアの対応を頑張ってます (2025年3月末を目処に義務化)
None
なんで採用したのか どうでしょう新作対応 開発時はどうだったのか コンソールぽちぽち 運用時はどうだったのか サポートが最高(めちゃくちゃ丁寧) セキュリティ設定が簡単ぽちぽち
None
None
なんで採用したのか 待望のサーバレスキャッシュ 開発時はどうだったのか 単独実装は簡単 スパイク対応は要調整 運用時はどうだったのか サポートが最高(めちゃくちゃ丁寧) CloudWatchにメトリクス送れる(プラン次第)
AWS Cloud AWS Amplify AWS AppSync AWS Lambda AWS AppSync
AWS AppSync Merged API Source API Source API Query Momento Cache Amazon DynamoDB Get/Set
None
None
なんで採用したのか JavaScript だけで書けるCMSが欲しかった 開発時はどうだったのか 作るのは簡単。簡単なグラフとかもすぐ出る 運用時はどうだったのか データの2重管理ちょっと大変 CI/CDが大変で組めてない 得意な部分もあるけど、不得意な部分も…
None
None
なんで採用したのか BigQuery しか勝たん Google Analytics は結局使う(AuthIDも連携) 開発時はどうだったのか AWSのデータを連携するのはちょっと大変 運用時はどうだったのか 可視化は
Looker Studio だと力不足に... Lookerは高いので、QuickSight で一旦
困ってるもの
EpisodeGroup 1対多 1対多 AppSync ユーザ系のデータ (ログイン時) DynamoDB Program Connection ConnectionEpisode
Episode 1対多 1対1 1対1 初期ロード時に 全てのデータを Recoil に格納 DynamoDB User amplify-cli の @connectionで、 どんどん増やしちゃった 番組系のデータ Amplify Gen1 Transformer ver 1 データベースなんとかしたい
EpisodeGroup 1対多 1対多 AppSync ユーザ系のデータ (ログイン時) DynamoDB Program Connection ConnectionEpisode
Episode 1対多 1対1 1対1 初期ロード時に 全てのデータを Recoil に格納 DynamoDB User amplify-cli の @connectionで、 どんどん増やしちゃった 番組系のデータ Amplify Gen1 Transformer ver 1 データベースなんとかしたい 分析環境 マーケ環境 BigQuery S3 QuickSight データコピーして 対応してる リアルタイムつらい
次に勉強したいのは
なんで採用したいのか 今のDynamoDB の connection がひどいの でリアーキは確定 分析したいのでHTAPとか欲しい スパイクに強そう 勉強したいこと 今のシステムにSQL出てこないけど、
、 GraphQL との相性は?
Streams Lambda GA4 API Gateway QuickSight Dataflow アーキテクチャ全体像 AWS Cloud
Amplify Hosting Google Cloud BigQuery GCS Looker Stuido R2 CDN S3 CloudFront Amplify Backend AppSync DynamoDB Lambda Step Functions MedieConvert S3 Data Transfer Cloud Functions Spanner Momento Cache S3 EC2
しっかり利益出てます
None
みんな仲良し!
積極的に試してみよう 選択肢は多い方がいい awsでは大変なことも他では簡単なこともある 1つひとつの実装はそんなに辛くない APIだとおもえば全部一緒 管理するアカウントは増えちゃうけど... マケプレから買えるものも多い Developers IO にもブログ多数
でも、キャッチアップ大変
いつもお世話になってます
None
None
コミュニティで 会いましょう コミュニティで 会いましょう
None