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
1.9k
Sustaining through change — learning from 20 years of AEM history
trieloff
2
650
Inside the Adobe Cloud Platform: Adobe I/O, Adobe Sensei & XDM
trieloff
0
300
Extending Adobe Experience Manager with Adobe I/O Events
trieloff
0
93
Other Decks in Programming
See All in Programming
ARA Ansible for the teams
kksat
0
150
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
740
Open source software: how to live long and go far
gaelvaroquaux
0
630
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
170
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
150
Ruby on cygwin 2025-02
fd0
0
140
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
560
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
10
3.6k
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
150
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
710
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Git: the NoSQL Database
bkeepers
PRO
427
64k
Code Reviewing Like a Champion
maltzj
521
39k
KATA
mclloyd
29
14k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
It's Worth the Effort
3n
184
28k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
A designer walks into a library…
pauljervisheath
205
24k
Become a Pro
speakerdeck
PRO
26
5.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
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)