#UKVMUG @julian_wood 1 Serverless: Show me the servers! @julian_wood WoodITWork.com UK VMUG – 16 November 2017
#UKVMUG@julian_wood1
Serverless:Show me the servers!
@julian_woodWoodITWork.com
UK VMUG – 16 November 2017
#UKVMUG@julian_wood2
set of instructions
collection of functions
#UKVMUG@julian_wood3
if
software is eating the world
then
serverless is eating software
#UKVMUG@julian_wood4
#UKVMUG@julian_wood5
#UKVMUG@julian_wood6
#UKVMUG@julian_wood7
the same way WiFi is wireless…
#UKVMUG@julian_wood8
So, what is Serverless?
Event Driven Functions as a Service
#UKVMUG@julian_wood
What is Serverless?
9
user defined functions
small & discrete
event triggered
spun up and down on demand
fully managed compute
upload code, provider does rest
transparent scaling, provider managed
no VMs/containers to manage
pay per code execution
#UKVMUG@julian_wood10
Stateless Event Driven Functions as a Service
https://www.slideshare.net/bennybauer1/serverless-when-to-faas
#UKVMUG@julian_wood11
Amazon Lambda Azure Functions Google Cloud Functions
kubernetes based
Funktion
cross container platform
Oracle Fn OpenFaaS
#UKVMUG@julian_wood12
#UKVMUG@julian_wood13
https://specify.io/concepts/serverless-baas-faas
#UKVMUG@julian_wood
FaaS & BaaS
14
(mobile) Backend as a Service
back end services
not backend logic
Amazon API Gateway
Google Firebase
#UKVMUG@julian_wood15
Deploy Code
EventTrigger
ExecuteCode
#UKVMUG@julian_wood
Events
16
HTTP requests
file changes
web hooks
time scheduled tasks
database record update
events stream
message bus
new code commit to GitHub
IoT sensor reading
#UKVMUG@julian_wood
File Processing
17
#UKVMUG@julian_wood
execute code every 15 minutes that cleans up a database table
Timer processing
18
https://azure.microsoft.com/en-us/services/functions/
#UKVMUG@julian_wood
Webhook
19
https://azure.microsoft.com/en-us/services/functions/
webHook URL, saves user data, decides what data to display
#UKVMUG@julian_wood
sensors in tractor detects need for a spare part and automatically place order
Stream processing
20
https://aws.amazon.com/kinesis/
#UKVMUG@julian_wood
Alexa
21
https://mike.lapidak.is/thoughts/plex-alexa-interacting-with-your-media-server-through-voice
#UKVMUG@julian_wood
A Cloud Guru
22
#UKVMUG@julian_wood23
event emitted(produced)
event consumedalways asynchronous
Message Bus Events
#UKVMUG@julian_wood
Fission – http request
24
#UKVMUG@julian_wood
Languages
25
Azure Functions JavaScript, C#, F#, Python, PHP, Bash, Batch,PowerShell
AWS Lambda Node.js, Python, Java 8, C# (.NET Core)
Google Cloud Functions Node.js
Apache OpenWhisk Node.js, Swift, Python, container
Platform9 Fission
OpenFaaS
Node.js, Python, container
Node.js, Java, GoLang, C#/.NET Standard,Python, Ruby, container
#UKVMUG@julian_wood
Stateless
26
ephemeral
no local state
write state to external disk / database
#UKVMUG@julian_wood
£ How Much?
27
requests
+ duration (rounded up to 100 ms)
x configured upper memory limit
Free: ☺
1 or 2 million requests + 400,000 Gb-s
#UKVMUG@julian_wood
FaaS vs. PaaS
28
FaaS:
scaling for individual requests
bring whole app up and down for each request
PaaS:
long running
tooling and maturity
caching
state
#UKVMUG@julian_wood
FaaS vs. Containers
29
FaaS:
event driven
container abstraction
Containers:
general purpose IaaS
tooling
DIY languages
portability
#UKVMUG@julian_wood
Benefits
30
Cost: development, operational, scaling
Easier autoscaling,
Management: zero system administration
Productivity: pure function code,
no HTTP sessions, authentication,
back-end glue
#UKVMUG@julian_wood
Disadvantages
31
Performance:
Security:
Resources:
shared time limit (not GCP)
disk memory
warm up concurrent executions
inconsistent
spin up time especially JVMs
no multi-tenancy
noisy neighbour
#UKVMUG@julian_wood
Disadvantages
32
Configuration:
Ops:
Skills: all new cloud platform differences
limited languages discovery
environment variables stateless
testing monitoring
debugging external systems
versioning blue/green
#UKVMUG@julian_wood
Disadvantages
33
no roadmap
vendor lock-in
outsourced control = downtime?
portable code, not portable ops
isolated events/bus
integrated services
#UKVMUG@julian_wood
AWS Integrated Services
34
#UKVMUG@julian_wood
Azure Integrated Services
35
#UKVMUG@julian_wood
FaaS at the Edge
36
Azure Stack + Azure Functions
Embedded Lambda on connected devices
AWS Greengrass Edge
AWS Snowball Edge
#UKVMUG@julian_wood
FaaS & NoOps - look no OS! ☺
37
“Ops” = way more than server administration
FaaS = outsourcing sysadmin
monitoring, architectural scaling,
security, debugging, networking
FaaS 4 Ops : tagging, lifecycle, security, compliance
#UKVMUG@julian_wood
VM Management use cases?
38
PowerCLI
snapshots
VM creation / deletion / resizing
NSX firewall rules
tagging
SRM
log analysis
security events
#UKVMUG@julian_wood
VMware on AWS
39
close to other stuff
deploy/scale Cloud Foundation
IBM Cloud (BlueMix/Softlayer) + Watson
PKS (Pivotal + Kubernetes + NSX-T)
vSphere Integrated Containers
Ops + DevOps
#UKVMUG@julian_wood
Make Money
40
sell your functions
Amazon API gateway -> API marketplace -> Lambda
#UKVMUG@julian_wood
The Amazing Functional Billing
41
functional granulatory
visibility
focus dev time
reduce waste & duplication
prove insource/outsource
marketplace service discovery
cheap to play
correlate business cost to IT cost
#UKVMUG@julian_wood
What’s coming/needed
42
better tools, monitoring, logging etc.
Service Fabric Workflows
AWS Step Functions Azure Logic Apps
Vendor abstraction
Serverless Framework Lambada Framework
#UKVMUG@julian_wood43
if you have event triggers…..
do you skip PaaS?
do you skip containers?
#UKVMUG@julian_wood44
#UKVMUG@julian_wood45
Serverless:Show me the servers!
@julian_woodWoodITWork.com
UK VMUG – 16 November 2017