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 Serverless Cloud Integration Pattern
Search
Lars Trieloff
October 27, 2016
Programming
1
440
The Serverless Cloud Integration Pattern
Presented at ServerlessConf London 2016, with Dragos Dascalita Haut
Lars Trieloff
October 27, 2016
Tweet
Share
More Decks by Lars Trieloff
See All by Lars Trieloff
Putting the F in FaaS
trieloff
1
2k
Sustaining through change — learning from 20 years of AEM history
trieloff
2
670
Inside the Adobe Cloud Platform: Adobe I/O, Adobe Sensei & XDM
trieloff
0
350
Extending Adobe Experience Manager with Adobe I/O Events
trieloff
0
93
Other Decks in Programming
See All in Programming
從零到一:搭建你的第一個 Observability 平台
blueswen
1
950
Select API from Kotlin Coroutine
jmatsu
1
180
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
140
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
270
A2A プロトコルを試してみる
azukiazusa1
2
630
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
800
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
230
Datadog RUM 本番導入までの道
shinter61
1
300
機械学習って何? 5分で解説頑張ってみる
kuroneko2828
0
220
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Into the Great Unknown - MozCon
thekraken
39
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Side Projects
sachag
455
42k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
RailsConf 2023
tenderlove
30
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Site-Speed That Sticks
csswizardry
10
650
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Adaptive Systems
keathley
43
2.6k
Transcript
The Serverless Cloud Integration Pattern
None
I want a film^H conference that starts with an earthquake^H
evacuation and then works up to a climax.
. ̴̴ Lars Trieloff ̴̴̴̴̴̴ Dragos Dascalita Haut . ̴
@trieloff ̴̴̴̴ @ria_thinker
None
3 Clouds
100+ Products
Many acquisitions
Diverse Technology Stack
None
Big Cloud Users
Behind some of the biggest brands
Question: how to make it all play together?
Question: how to make it play with the rest of
the world?
Answer: let’s build a cool website
None
Just kidding
Who is building integrations? Who is building apps with Adobe
APIs? Who is building experiences using Adobe Products?
Developers, Developers, Developers
What Developers Want
→ Write Code → Deploy Code → Manage Servers
→ Write Code → Deploy Code → Manage Servers →
Drink Beer
→ Write Code → Deploy Code → Manage Servers →
Drink Beer
Servers: can’t live with them, can’t live without them.
Here is our 4-Step plan to serverlessness
1. Put Servers behind Glass
None
APIs
API Gateway
→ Caching → Throttling → Authentication → Logging
From dumb proxy to smart gateway
→ Hide yo monoliths → Establish API practices → Provide
easy access
→ NGINX → OpenResty → Lua
!" https://github.com/adobe-apiplatform/apigateway
Establish API Best practices
Establish API Best practices
None
2. Contain your Applications
None
Containers
Ethos → Standardized Container OS → Standardized CI/CD pipeline →
Feature flags as a Service
3. Put Code on the Short Leash
None
Serverless Runtime
Never trust a computer you can't throw out a window.
— Steve Wozniak
Never trust code you can’t terminate after one second. —
Dragos Dascalita Haut
Serverless Integrations → WebHooks++ → Low Latency → Low Maintenance
Our needs → Untrusted Code → Extensibility + Context →
Cloud Provider Independence
None
Are you guys serious about the delivery date? — John
Pritchard, Director Engineering
OpenWhisk !" https://github.com/openwhisk/openwhisk
None
http://bit.ly/apachewhisk
4. Wait for the call
None
Event Gateway
Why Events? → Asynchronous Processing → Function Orchestration → Reliability
& Scalability
Demo Because everyone ♥ bots
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │ │ │ │ │ │ │
│ │ │ │ │ │ Alexa ! │──────────▶│ API Gateway " │──────────▶│ OpenWhisk # │ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────────┘ └───────────────────┘ └───────────────────┘
None
Training Alexa ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │
│ │ │ Intent │⾢─────────▶│ User Phrase │ │ │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘
Training Alexa How many page views this month? { "intents":
[ { "intent": "PageViews" } ] }
Training Alexa How many {metric name} this month? { "intents":
[ { "intent": “CustomView”, "slots": [ { "name":"MetricName", "type":"LIST_OF_METRICS" } ] } ] }
Writing the Function Copy the code !" http://bit.ly/dragosdemo Add the
function on the CLI wsk -i action create alexa alexa-demo.js
None
Why the gateway? Alexa Headers: SignatureCertChainUrl, Signature & … OpenWhisk
expects: Authorization
Signature !1 Authorization 1 not real magic
None
FIN (don’t forget to check out adobe.io)