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
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
740
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
190
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
210
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.2k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
230
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
240
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
5
1.3k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
120
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
200
システム思考で問題に対処する
yussak
0
140
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
590
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
590
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.6k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Ethics towards AI in product and experience design
skipperchong
2
340
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
580
How to Think Like a Performance Engineer
csswizardry
28
2.7k
From π to Pie charts
rasagy
0
250
sira's awesome portfolio website redesign presentation
elsirapls
0
320
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Accessibility Awareness
sabderemane
1
170
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
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 このタイミングなぜこれらが出たのでしょう。