Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The_Frugal_Architectの観点から眺めるServerless.pdf
Search
yoshitaka KOITABASHI
January 13, 2024
Technology
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The_Frugal_Architectの観点から眺めるServerless.pdf
yoshitaka KOITABASHI
January 13, 2024
More Decks by yoshitaka KOITABASHI
See All by yoshitaka KOITABASHI
変化と挑戦:NoSQLとNewSQL Serverless Databaseの技術革新とマルチテナンシーの秘密
yoshiitaka
23
6.7k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
3
2.1k
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
23
5.8k
Re:cap container Services
yoshiitaka
2
650
re:Inventに行くと何を得られ、なぜ人はラスベガスに行くのか
yoshiitaka
0
180
コンテナ支部recapをrecapしよう_気になったコンテナの周りのアップデートを紹介.pdf
yoshiitaka
1
1.1k
AWS re:Invent 2023の期間中に出たコンテナアップデート集
yoshiitaka
4
850
stripeを組み合わせたサーバレスアーキテクチャとシードのスタートアップ ビジネスをグロースするためにやったこと
yoshiitaka
3
720
アジャイル開発と時代の流れに伴うサーバレスアーキテクチャの変化
yoshiitaka
8
5.9k
Other Decks in Technology
See All in Technology
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
750
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
650
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
340
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
290
Lint の層を組み直した話
bengo4com
2
300
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
830
Consistency for mere mortals - A gentle guide to consistency
ufried
0
120
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
190
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
140
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
520
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
140
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
130
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How GitHub (no longer) Works
holman
316
150k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
330
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
760
How to train your dragon (web standard)
notwaldorf
96
6.9k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
620
Transcript
The Frugal Architectの観点から 眺めるServerless KOITABASHI Yoshitaka 2024/1/12 yoshii0110 1
2024/1/12 yoshii0110 2 KOITABASHI Yoshitaka @yoshii0110 Momento/Community Advocate スタートアップへの技術支援 JAWS-UG
コンテナ支部運営 Amazon EC2, AWS Fargate, AWS App Runner 🥷 💕
AWS re:Invent 2023 Keynote: Amazon.com CTO Dr.Werner Vogels 2024/1/12 yoshii0110
3
The Frugal Architect 2024/1/12 yoshii0110 4 https://thefrugalarchitect.com/
コストを意識した持続可能な 最新のアーキテクチャを構築するための シンプルな考え方 2024/1/12 yoshii0110 5 Simple laws for building
cost-aware, sustainable, and modern architectures
• LAW 1: 非機能要件にコストを加えること • LAW 2: システムにかけるコストがビジネスにマッチ状況を継続すること • LAW
3: アーキテクチャを決断することはトレードオフの連続である • LAW 4: 観測できないシステムコストは青天井なコストである • LAW 5: コストを意識したアーキテクチャがコスト管理を実現する • LAW 6: 段階的なコスト最適化を適用する • LAW 7: 挑戦のない成功は思い込みにつながる 2024/1/12 yoshii0110 6 The Frugal Architectに書かれている7つの規則
非機能要件 • 特定の機能ではなく、シスステムの動作を判断するための基準 • 例えば、アクセシビリティ、可用性、拡張性、セキュリティ、移植性、 保守性、コンプライアンスなど 2024/1/12 yoshii0110 7
なぜコストが重要なのか • コストが収益よりも高くなればビジネスリスクとなってしまうため • コストへの影響を考慮することで、機能、市場投入までの時間、 効率のバランスが取れたシステムを設計する必要がある 2024/1/12 yoshii0110 8 リソースの使用量分の支出
収益
オンプレとAWSとの考え方の違い 2024/1/12 yoshii0110 9
2024/1/12 yoshii0110 10 これだけ多くのサービスがあり、 組み合わせ方は無数
我々に求められることは これらのコンポーネントの正しい組み合わせ方、使い方 2024/1/12 yoshii0110 11
アーキテクチャはトレードオフの連続 • アーキテクチャにおいては、あらゆる決定にトレードオフが発生 • コスト、パフォーマンス、回復性はよく天秤にかけられる非機能要件 • 技術のニーズとビジネスのニーズのバランスを見つける必要がある • frugalは、単に支出を最小化するのではなくて、価値を最大化すること •
何のためにコストを払うのか 2024/1/12 yoshii0110 12 LAW III: https://thefrugalarchitect.com/laws/architecting-is-a-series-of-trade-offs.html
観測できないシステムコストは未知数 作りっぱなしの資源や、無駄なスケールアップ、スケールアウトを しっぱなしでそれに気づいていないケースありません? そんな時はちゃんとコストの可視化を行い定期的にチェックしましょう。 2024/1/12 yoshii0110 13 LAW IV: https://thefrugalarchitect.com/laws/unobserved-systems-lead-to-unknown-costs.html
いつも一辺倒なアーキテクチャになってませんか? 周りに流されてませんか? 2024/1/12 yoshii0110 14
挑戦されない成功は思い込みにつながる • 単に過去にやったことがあるという理由だけで、 アーキテクチャ、テクノロジー、言語などを最良の選択として採用しがち • これによって、誤った安心感みたいなものが生まれるので、 現状の技術やアーキテクチャに疑問を持ったり、 当たり前だと思っていたことが、当たり前じゃなかったなんてことはある なので、常に疑問を持ち、最適化、改善する方法を探すことが重要 2024/1/12
yoshii0110 15 LAW VII : https://thefrugalarchitect.com/laws/unchallenged-success-leads-to-assumptions.html
AWS Well-Architectedと”コスト最適化の柱” • コストの可視化や、最適化をしようとした際に使えるのが、 COST1/COST3 • 組織レベルでのコスト要件を定めて運用するなら、COST5 • ワークロードレベルでコンピュータリソースの需要を分析するなら COST9
2024/1/12 yoshii0110 16 https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/cost-optimization-pillar/welcome.html
コストの最適化は段階的に • 常に今のアーキテクチャを見つめ直し、疑問を持ち掘り下げること • 資源の使用状況を監視し、廃棄物の削減を特定する • Amazonでも、本番環境のサービスを継続的に監視し、 非効率な箇所を削減している • レイテンシとインフラストラクチャのコストを段階的に削減することで、
サービスのコストを最適化 2024/1/12 yoshii0110 17
Nubankさんの事例の話: ① • 9000万人のユーザを抱えるブラジル4番目に大きな金融機関 • 最初はクレジットカードから始まり、口座、保険、投資領域に手を出 し、サービス全体がマイクロサービスとして構成される • ただ、これらが困ったのは、全体のシステムの安定性とコストがト レードオフになってしまうことだった
2024/1/12 yoshii0110 18
Nubankさんの事例の話: ② • 原因が何かを考えた時に、爆発的なコストは安定性を実現するため に注ぎ込んでいたコンピュータリソースにあったのではないかと。 • そこで、キャッシュ戦略に着目。 • NVMe SSDとElastiCacheでのキャッシュを選択し、コスト削減
2024/1/12 yoshii0110 19
さて、改めてThe Frugal Architectを見つめると サーバレスアーキテクチャが頭をよぎる 2024/1/12 yoshii0110 20
サーバレスの特徴 1. プロビジョン不要、管理不要 2. 最低料金のない使った分だけの支払 3. 1つの API 呼び出しで利用可能 4.
計画停止がない 5. インスタンスが無い 2024/1/12 yoshii0110 21 https://www.gomomento.com/blog/fighting-off-fake-serverless-bandits-with-the-true-definition-of-serverless
では、全てのサービスがサーバレスでよくない?? ・・・いいえ。それは違います。 2024/1/12 yoshii0110 22
2024/1/12 yoshii0110 23 • 水平方向のスケーラビリティを 可能にする分散アーキテクチャ • しばらく運用した後、 アーキテクチャが想定される負荷の 5%程度しかサポートできていなかった
Amazon Prime Videoの分析ツールの例
2024/1/13 yoshii0110 24 変更後のアーキテクチャ
Amazon Prime Videoの分析ツールが サーバーレスからEC2、ECSに切り替えて 運用コストを削減 • Prime Videoの品質分析ツールは元々、大規模に実行する意図が なく作られていた •
AWS StepFunctionsを使用した分散コンポーネントで構成 • オーケストレーションワークフローと、分散コンポーネント間でデータ が受け渡される処理に莫大なコストがかかっていた • そこで、1プロセスでの実行ができるようEC2およびECSを使用した アーキテクチャに変更 • かかっていたコストの90%を削減できたという結果 2024/1/12 yoshii0110 25 https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video- monitoring-service-and-reducing-costs-by-90
コストをビジネスに合わせて 継続的に調整するシステム • システムの耐久性についても、コストがビジネスモデルに どの程度マッチしているかによって決まる。 • 例を挙げると例えば、予想しているトラフィックに対してインフラが どうスケールするのかによって、運用コストが変化する 2024/1/12 yoshii0110
26 LAW II : https://thefrugalarchitect.com/laws/systems-that-last-align-cost-to-business.html
2024/1/12 yoshii0110 27 進化するアーキテクチャを構築しろ。 アーキテクチャは時間と共に変化するもの
re:Invent 2023で登場したサーバレスサービス • Amazon Aurora Limitless Database • Amazon ElastiCache
Severless 2024/1/12 yoshii0110 28 このタイミングなぜこれらが出たのでしょう。