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
July 09, 2024
Technology
1
170
パブリッククラウドもSaaSもいいとこどり!実際に使ってみた全貌と 推しポイントを紹介します!
https://classmethod.connpass.com/event/322687/
#cm_odyssey
Kazuki Miura
July 09, 2024
Tweet
Share
More Decks by Kazuki Miura
See All by Kazuki Miura
Lambdaと地方とコミュニティ
miu_crescent
2
370
re:Play ってこんなイベントです、オープニングとクロージングも #reinventhokkaido
miu_crescent
0
79
JAWS-UG 事務局 の「これまで」から みんなで「ここから」を考えよう
miu_crescent
2
180
寒冷地稲作の歴史にみるコミュニティ
miu_crescent
2
160
シャアズ ビリービング アワズプレイ
miu_crescent
1
23
完 全 未 経 験 か ら自 社 サ ー ビ ス の 開 発 運用 を行 う ま で
miu_crescent
0
41
Case Study for Repurposing Video Content With Generative AI
miu_crescent
0
7
完全未経験から自社サービスの 開発運用を行うまで
miu_crescent
1
39
APIのドキュメント化何使ってますか?
miu_crescent
3
220
Other Decks in Technology
See All in Technology
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
いざ、BSC討伐の旅
nikinusu
2
780
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
290
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
130
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
Lexical Analysis
shigashiyama
1
150
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Code Reviewing Like a Champion
maltzj
520
39k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Language of Interfaces
destraynor
154
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Into the Great Unknown - MozCon
thekraken
32
1.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
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