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
36k
サーバーレスのポテンシャルとシステム表現 / 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
24k
アプリケーション開発者は 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.2k
緩やかに死んでいくシステム / 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
860
第2回 AWS Fargate かんたんデプロイ選手権 #AWSDevDay / The Easiest Deployment Championship 2020 - Find your winner for AWS Fargate!
toricls
PRO
18
23k
独りよがりのプラットフォーム / For Whom that Platform Runs
toricls
PRO
98
34k
Containers + EC2 Spot: 特性と実装パターンに学ぶ低コスト & 高可用アーキテクチャ / Practical Guide for Amazon EC2 Spot with Containers
toricls
PRO
13
5.3k
Other Decks in Technology
See All in Technology
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
490
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
190
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
vLLM meetup Tokyo
jpishikawa
1
270
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
300
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
510
SFTPコンテナからファイルをダウンロードする
dip
0
540
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
150
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
340
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
6
960
原則から考える保守しやすいComposable関数設計
moriatsushi
3
490
Prox Industries株式会社 会社紹介資料
proxindustries
0
100
Featured
See All Featured
Visualization
eitanlees
146
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
RailsConf 2023
tenderlove
30
1.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Producing Creativity
orderedlist
PRO
346
40k
The Invisible Side of Design
smashingmag
299
51k
Faster Mobile Websites
deanohume
307
31k
How to Ace a Technical Interview
jacobian
276
23k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Making Projects Easy
brettharned
116
6.2k
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 λ おしまい