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
The_Frugal_Architectの観点から眺めるServerless.pdf
Search
yoshitaka KOITABASHI
January 13, 2024
Technology
190
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.6k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
3
2.1k
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
23
5.8k
Re:cap container Services
yoshiitaka
2
620
re:Inventに行くと何を得られ、なぜ人はラスベガスに行くのか
yoshiitaka
0
170
コンテナ支部recapをrecapしよう_気になったコンテナの周りのアップデートを紹介.pdf
yoshiitaka
1
1.1k
AWS re:Invent 2023の期間中に出たコンテナアップデート集
yoshiitaka
4
830
stripeを組み合わせたサーバレスアーキテクチャとシードのスタートアップ ビジネスをグロースするためにやったこと
yoshiitaka
3
660
アジャイル開発と時代の流れに伴うサーバレスアーキテクチャの変化
yoshiitaka
8
5.8k
Other Decks in Technology
See All in Technology
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
350
MIRU 2026 チュートリアル
keisuke198619
0
850
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
190
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
540
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.2k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
170
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
210
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
230
モダンフロントエンド 開発研修
recruitengineers
PRO
3
460
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
160
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
410
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Everyday Curiosity
cassininazir
0
270
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
The Limits of Empathy - UXLibs8
cassininazir
1
590
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
First, design no harm
axbom
PRO
2
1.2k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
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 このタイミングなぜこれらが出たのでしょう。