#WISSENTEILEN
Lars Röwekamp | CIO New Technologies | open knowledge GmbH
#WISSENTEILEN
@_openKnowledge
@mobileLarson
Serverless
Wer braucht schon einen Server?
ÜBER OPEN KNOWLEDGE
Branchenneutrale Softwareentwicklung und IT-Beratung
#WISSENTEILEN
ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast
• Mehrfacher Vater, einfacher Ehemann
Lars Röwekamp (a.k.a. @mobileLarson)
#WISSENTEILEN
LR
Mein Server
und ich ...
Mein Server
und ich ...
„The Nightmare“
#WISSENTEILEN
Server Q&A
(„Things i should better care about.“)
#WISSENTEILEN
#Servers:
#Customer:
#Traffic:
#Security:
Quantity? OS? Storage? CPU? Memory?
Start small! Grow fast! Die faster?
Moderate but peeks!
OS? Patches? Access Control?
I had a
dream ...
#WISSENTEILEN
#LaborCost:
#Risk:
#ResourceCost:
#Scaling:
#LeadTime:
No not need to DIY
Don‘t have to care about the technical stack
Don‘t pay idle
Reduce to the max
Right here, right now
„Kein Server ist
einfacher zu
verwalten, als
kein Server.“
(Werner Vogels, CTO Amazon)
out-of-the-box self-scaling
out-of-the-box
self-scaling
cloud-based
super-backend
I had a dream ...
„Kein Server ist
einfacher zu
verwalten, als
kein Server.“
(Werner Vogels, CTO Amazon)
#WISSENTEILEN
Road to
less Server ...
#WISSENTEILEN
Road to less Server
#WISSENTEILEN
Road to less Server
IaaS
#WISSENTEILEN
Road to less Server
IaaSPaaS
#WISSENTEILEN
Road to less Server
PaaSBaaS IaaS
Ain‘t gonna work!
Ain‘t gonna work!
My Business Logic
My Integration Logic
My Event-based Logic
#WISSENTEILEN
Road to less Server
PaaSBaaS IaaS
#WISSENTEILEN
Road to less Server
PaaS IaaS
#WISSENTEILEN
My Logic
(a.k.a. Function as a Service)
#WISSENTEILEN
Run Code,
not Server!
#WISSENTEILEN
Road to less Server
“Run your code highly-available
in the cloud
in response to events
and scale without any servers
to manage.“
#WISSENTEILEN
Main Player
AWS
Lambda
Microsoft
Azure Functions
Oracle
Project FN***)
Apache
OpenWhisk**)
Google Cloud
Functions*)
#WISSENTEILEN
The Main Player
AWS Lambda
(serverless, event-driven compute service)
#WISSENTEILEN
How does it work?
S3 Bucket
DynamoDB
Kinesis
EVENT
EVENT
INVOKE
Stateless Code
(a.k.a. AWS Lambda)
#WISSENTEILEN
How does it work?
S3 Bucket
DynamoDB
Kinesis
INVOKE
INVOKE
RETURN
Stateless Code
(Node, Python, Java, C#)
#WISSENTEILEN
Subscribe to ...
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
AWS
CloudFormation
AWS
CloudTrail
Amazon
CloudWatch
Amazon
SNS
Amazon
SES
Amazon
API GatewayAmazon
Cognito
AWS
IoT
Amazon
Alexa
Cron
Events
DATA STORES ENDPOINTS
REPOSITORIES
EVENT/MESSAGE SERVICES
Amazon
Config
Anatomy of
a Lambda
Function
#WISSENTEILEN
Anatomy
Lambda
Function
#WISSENTEILEN
Anatomy
Handler Function
Lambda
Function
</>
„...“
Event Object
Context Object
...
{
#WISSENTEILEN
Anatomy
Handler Function
Lambda
Function
</>
„...“
Event Object
Context Object
...
{
#WISSENTEILEN
Anatomy
Handler Function
Lambda
Function
</>
„...“
Event Object
Context Object
...
{
IAM Role
#WISSENTEILEN
Anatomy
Handler Function
Lambda
Function
</>
„...“
Event Object
Context Object
...
{
IAM Role
Return Object*
#WISSENTEILEN
Anatomy
Lambda
Function
1. Number of Calls**
2. Memory Usage***
{
IAM Role
Return Object*
(**first 1 million for free, ***first 400.000 sec free for 1 GB memory)
#WISSENTEILEN
SCENARIOS
#WISSENTEILEN
Scenarios
Thumbnail Creation
(Data & File Processing)
#WISSENTEILEN
Scenarios
#WISSENTEILEN
Scenarios
Trend & Fault Detection
(Event Streaming)
#WISSENTEILEN
Scenarios
#WISSENTEILEN
Scenarios
Web Application
(Custom Events)
#WISSENTEILEN
Scenarios
#WISSENTEILEN
FaaS@work
/* super advanced lambda function */
public class HelloWorld {
public String handle(String name,
Context ctx) {
return “Hello“ + name;
}
}
#WISSENTEILEN
FaaS @work
FaaS @Work: Hello World
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
FaaS @Work: Image Gallery
#WISSENTEILEN
FaaS @work
FaaS @Work: Image Gallery
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
FaaS @work
#WISSENTEILEN
AWSOME
(Aber was ist mit ...?)
#WISSENTEILEN
#Versioning
(Version vs. Alias)
#WISSENTEILEN
#Security
(Push vs. Pull)
#WISSENTEILEN
#Concurrency
(max. 200 parallel, max 300 sec)
#WISSENTEILEN
#Error
(Timeout, Retry, Log, DLQ)
#WISSENTEILEN
#Tracing
(Wer, wann, was, wie?)
#WISSENTEILEN
#Monitoring
(Logs & Metriken)
#WISSENTEILEN
#NoOps
(Ok, sagen wir mal „less Ops“!)
#WISSENTEILEN
#VendorLock
(Adrian sagt: „2 VL << DIY“)*
#WISSENTEILEN
#Pricing
(„Don‘t pay idle.“)
#WISSENTEILEN
#Runtime
(„Serverless“ oder „Less Server“?)
#WISSENTEILEN
#Deployment
(DIY vs. Tooling)
#WISSENTEILEN
#TESTING
(Stimmt, da war ja noch was ...)
#WISSENTEILEN
#WISSENTEILEN
Run Code,
not Server!
#WISSENTEILEN
Don‘t
pay Idle!
No servers, no stress!
? ? ?
FRAGEN
#WISSENTEILEN
Kontakt
LARS RÖWEKAMP
CIO NEW TECHNOLOGIES
lars.roewekamp@openknowledge.de
+49 (0)441 4082 – 101
@mobileLarson
@_openknowledge
OFFENKUNDIGGUT
#WISSENTEILEN
Bildnachweise
#1: © taw4 – shutterstock.com
#4: © RichVintage – istockphoto.com
#10: © foxaon1978 – shutterstock.com
#11: © Guido van Nispen – wikipedia.com
#14: © vasakna – fotolia.com
#30: © pathdoc - fotolia.com
#67: © tomer_turjeman – fotolia.com
All other pictures inside this presentation orginate from pixabay.com.
#WISSENTEILEN

Less Server vs. Serverless?