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.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
23k
独りよがりのプラットフォーム / 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
TypeScript入門
recruitengineers
PRO
35
11k
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
170
JavaScript 研修
recruitengineers
PRO
6
1.4k
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
360
ガチな登山用デバイスからこんにちは
halka
1
200
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
310
進捗
ydah
2
230
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
26
12k
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
130
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
110
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
110
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Scaling GitHub
holman
463
140k
Docker and Python
trallard
45
3.5k
Designing for Performance
lara
610
69k
Bash Introduction
62gerente
614
210k
Navigating Team Friction
lara
189
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Music & Morning Musume
bryan
46
6.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
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 λ おしまい