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
サーバーレスのポテンシャルとシステム表現 / How Serverless Loves Eve...
Search
Tori Hara
PRO
February 16, 2018
Technology
11
37k
サーバーレスのポテンシャルとシステム表現 / How Serverless Loves Event-Driven Architecture
サーバーレスはどのようなものか、どのように捉えることが望ましいかについて話しました.
Presented at Developers Summit 2018.
Tori Hara
PRO
February 16, 2018
Tweet
Share
More Decks by Tori Hara
See All by Tori Hara
カミナシでの技術的負債返済プロジェクトとその決断 / Beyond tech debts at Kaminashi
toricls
PRO
47
25k
アプリケーション開発者は Amazon ECS あるいは Kubernetes をどこまで知るべきか #AWSDevDay / You build it, you run it
toricls
PRO
56
19k
永続複数ブランチ運用は『単一のコードベース』と言えるのか / What are your justifications for the multi-branches?
toricls
PRO
17
6.3k
緩やかに死んでいくシステム / You won't be in the team forever
toricls
PRO
23
15k
技術的負債とステークホルダと説明責任と / The Debt
toricls
PRO
76
36k
Securing your Amazon ECS applications: Best practices
toricls
PRO
0
900
第2回 AWS Fargate かんたんデプロイ選手権 #AWSDevDay / The Easiest Deployment Championship 2020 - Find your winner for AWS Fargate!
toricls
PRO
18
24k
独りよがりのプラットフォーム / For Whom that Platform Runs
toricls
PRO
99
35k
Containers + EC2 Spot: 特性と実装パターンに学ぶ低コスト & 高可用アーキテクチャ / Practical Guide for Amazon EC2 Spot with Containers
toricls
PRO
13
5.3k
Other Decks in Technology
See All in Technology
GCASアップデート(202508-202510)
techniczna
0
250
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
870
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
280
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
880
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
250
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
380
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
240
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
1.2k
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
420
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
150
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
240
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
24
17k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
950
We Have a Design System, Now What?
morganepeng
54
7.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Done Done
chrislema
186
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Six Lessons from altMBA
skipperchong
29
4k
Designing for Performance
lara
610
69k
Automating Front-end Workflow
addyosmani
1371
200k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
230
Transcript
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のポテンシャルとシステム表現 Yasuhiro HARA Feb. 16, 2018
SUPINF Inc. // twitter.com/toricls ❤ Serverless, Docker/Container ▶︎ AWS Certified
SA / DevOps Engineer Professional ▶︎ - Yasuhiro HARA @toricls
SUPINF Inc. // twitter.com/toricls 最近のサーバーレス活動
SUPINF Inc. // twitter.com/toricls github.com/toricls/pingbot 管理画面 Slack 通知 - 外形監視
& 通知ツール -
SUPINF Inc. // twitter.com/toricls rate(1 minute) invoke http/https invoke stream
github.com/toricls/pingbot SPA Bot - 外形監視 & 通知ツール -
SUPINF Inc. // twitter.com/toricls github.com/toricls/github-codebuild-integration プルリク コミット履歴 - GitHub Push/PR
を契機に AWS CodeBuild でいい感じに CI できるようにするツール -
SUPINF Inc. // twitter.com/toricls github.com/toricls/github-codebuild-integration - GitHub Push/PR を契機に AWS
CodeBuild でいい感じに CI できるようにするツール -
SUPINF Inc. // twitter.com/toricls github.com/toricls/cobolambda - COBOL on AWS Lambda
-
SUPINF Inc. // twitter.com/toricls github.com/toricls/cobolambda - COBOL on AWS Lambda
- README.md
SUPINF Inc. // twitter.com/toricls コンピューティング・リソース調達方法の歴史
SUPINF Inc. // twitter.com/toricls コンピューティング・リソース調達方法の歴史を振り返る EC2 DC Container + Lambda
物理面の調達と運用を アウトソース リソースそのものの 調達と運用を アウトソース 調達したリソースを 自分たちで管理・運用 アプリケーションのみ 自分たちで管理・運用
SUPINF Inc. // twitter.com/toricls サーバーレス
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリット サーバーの事前プロビジョニングや管理なしで システムを構築できる
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリット サーバーの事前プロビジョニングや管理なしで 1. 機能を得られる 2. コード実行環境を得られる
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリット サービスベンダーに金を払うだけで 1. 機能を得られる 2. コード実行環境を得られる
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリットを構成する要素 1. 機能の提供 2. コード実行環境の提供 Functional
SaaS / BaaS Auth0 Firebase SendGrid ... PaaS FaaS Google App Engine Heroku ... AWS Lambda Azure Functions ...
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリットを構成する要素 1. 機能の提供 2. コード実行環境の提供 Functional
SaaS / BaaS Auth0 Firebase SendGrid ... PaaS FaaS Google App Engine Heroku ... AWS Lambda Azure Functions ... 機能と運用のアウトソース
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリットを構成する要素 1. 機能の提供 2. コード実行環境の提供 Functional
SaaS / BaaS Auth0 Firebase SendGrid ... PaaS FaaS Google App Engine Heroku ... AWS Lambda Azure Functions ... 機能と運用のアウトソース 運用のアウトソース
SUPINF Inc. // twitter.com/toricls 「サーバーレス」のメリット サーバーの事前プロビジョニングや管理なしで 1. 機能を得られる 2. コード実行環境を得られる
主に運用上のメリット
SUPINF Inc. // twitter.com/toricls 実は見えにくいメリットがある
SUPINF Inc. // twitter.com/toricls 「サーバーレス」の見えにくいメリット Functional SaaS / BaaS Auth0
Firebase SendGrid ... ▶︎ 機能性がコンポーネントとし て切り出される ▶︎ 結果、マイクロサービス的な 取り組みが必要とされる ▶︎ e.g. サーキット・ブレイカー
SUPINF Inc. // twitter.com/toricls PaaS Google App Engine Heroku ...
「サーバーレス」の見えにくいメリット ▶︎ プラットフォーム側の運用の 流儀に沿う必要がある ▶︎ 結果、アプリケーションの作 りに制約が入る ▶︎ e.g. The 12-Factor App
SUPINF Inc. // twitter.com/toricls FaaS AWS Lambda Azure Functions ...
「サーバーレス」の見えにくいメリット ▶︎ 完全なステートレスの要求 ▶︎ べき等性(*) の要求 ▶︎ ユーザーに自前でプロセス管 理をさせない設計だからこそ 得られる数々の利点
SUPINF Inc. // twitter.com/toricls FaaS AWS Lambda Azure Functions ...
「サーバーレス」の見えにくいメリット ▶︎ イベント・ドリブン プラットフォーム自体が ネイティブに
SUPINF Inc. // twitter.com/toricls Event-driven Architecture
SUPINF Inc. // twitter.com/toricls Event-driven ではないシステム
SUPINF Inc. // twitter.com/toricls Event-driven ではないシステムの例 受注管理サービス 配送予約サービス 在庫管理サービス 注文
Data Data
SUPINF Inc. // twitter.com/toricls Event-driven ではないシステムの例 受注管理サービス 配送予約サービス 在庫管理サービス 注文
Data Data 売上集計サービス Data こっちのコードに手を 入れなきゃいけない 感じになる
SUPINF Inc. // twitter.com/toricls Event-driven なシステムではどうなるか
SUPINF Inc. // twitter.com/toricls Event-driven なシステムの例 受注管理サービス 配送予約サービス 在庫管理サービス 注文
subscribe subscribe publish event
SUPINF Inc. // twitter.com/toricls 受注管理サービス 配送予約サービス 在庫管理サービス 注文 subscribe subscribe
publish event 売上集計サービス subscribe Event-driven なシステムの例 既存のコードに 手を入れなくても サービスを増やせる (理論上は) New!
SUPINF Inc. // twitter.com/toricls Dependency graphs - Service orchestration vs
Service choreography https://www.thoughtworks.com/de/insights/blog/scaling-microservices-event-stream Orchestrated services Fully choreographed services
SUPINF Inc. // twitter.com/toricls Dependency graphs - Service orchestration vs
Service choreography https://www.thoughtworks.com/de/insights/blog/scaling-microservices-event-stream Orchestrated services Fully choreographed services ツラい
SUPINF Inc. // twitter.com/toricls クラウドベンダーの イベント・ルーティングやソーシング機能が 最高にロック Event-driven ͳج൫Ͳ͏͢Δͷ
SUPINF Inc. // twitter.com/toricls ઌ΄Ͳͷ Event-driven なシステム例を AWS で DynamoDB
/ 受注情報 subscribe subscribe subscribe Lambda / 配送予約サービス Lambda / 売上集計サービス Lambda / 在庫管理サービス
SUPINF Inc. // twitter.com/toricls ઌ΄Ͳͷ Event-driven なシステム例を AWS で DynamoDB
/ 受注情報 stream stream stream Lambda / 配送予約サービス Lambda / 売上集計サービス Lambda / 在庫管理サービス Lambda / 受注管理サービス save
SUPINF Inc. // twitter.com/toricls ઌ΄Ͳͷ Event-driven なシステム例を拡張 save stream Lambda
/ Data Transform stream stream stream publish Kinesis Data Streams / Data Transform
SUPINF Inc. // twitter.com/toricls with TTL Event-driven なシステムの別の形 save item
deletion event stream archive
SUPINF Inc. // twitter.com/toricls with TTL Event-driven なシステムの別の形 save item
deletion event stream archive サーバーレス・アーキテクチャーの真髄
SUPINF Inc. // twitter.com/toricls 「サーバーレス」システム設計時の思考フロー
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムは イベント・ドリブンな形で 表現できないか
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムは イベント・ドリブンな形で 表現できないか YES
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムは イベント・ドリブンな形で 表現できないか やる YES
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムは イベント・ドリブンな形で 表現できないか やる YES
NO
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムは イベント・ドリブンな形で 表現できないか やる YES
NO もう一度考える
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムを イベント・ドリブンな形で 表現できないか やる YES
NO もう一度考える なぜこんなことをするか
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステム設計時の思考フロー そのシステムを イベント・ドリブンな形で 表現できないか やる YES
NO もう一度考える アーキテクチャー的な利点 サーバー管理からの解放
SUPINF Inc. // twitter.com/toricls まとめ
SUPINF Inc. // twitter.com/toricls 「サーバーレス」なシステムについてのまとめ ▶︎ 運用面だけでなくアーキテクチャー面のメリットがわりとデカい ▶︎ アーキテクチャー面のメリットはプラットフォームの特性を生かすことを意識しないと得に くいことも
▶︎ イベント・ドリブンな形でシステムを表現できないか?という考え方 ▶︎ サービス間の相互作用をイベントとして表現できれば ▶︎ サービス間が疎結合に保たれて ▶︎ 洗練されたアーキテクチャーが手に入る ▶︎ サーバーレス楽しい
SUPINF Inc. // twitter.com/toricls おまけ
SUPINF Inc. // twitter.com/toricls 私の脳内「サーバーレス」世界 サーバー管理からの解放 サーバーレス・アーキテクチャー Fully-Managed FaaS イベント・ドリブン・アーキテクチャー
ベンダー様の思惑 ロックインのお花畑 「俺の FaaS」
SUPINF Inc. // twitter.com/toricls λ おしまい