It’s a Serverless World
Eran Stiller
Chief Technology Officer
erans@codevalue.net
@eranstiller
https://stiller.blog
https://codevalue.net
What is Serverless?
3
Agenda
▪ Serverless 101
▪ Functions-as-a-Service (FaaS)
▪ Containers-as-a-Service (CaaS)
▪ Serverless Application Platform
▪ On-Premise Serverless
4
About Eran
Eran Stiller
▪ @eranstiller
▪ CTO & Founder at CodeValue
▪ Software architect, consultant and instructor
▪ Microsoft Regional Director & Azure MVP
▪ Founder of Azure Israel Meetup
5
Serverless 101
7
Serverless is an Abstraction
8
Serverless
Containers
Cloud
Virtualization
Bare-Metal
Focus on Your Core Business
9
It’s the Economy, Stupid!
10
It’s Not All Positive
▪ Slow cold start
▪ Monitoring
▪ Debugging
▪ Governance
11
Serverless Isn’t New
▪ S3/Blob Storage
▪ Message Queues-as-a-Service
▪ Database-as-a-Service
▪ Identity-as-a-Service
▪ Serverless Compute is relatively new
12
Serverless Compute
▪ Functions-as-a-Service (FaaS)
▪ Containers-as-a-Service (CaaS)
▪ Serverless Application Platform
13
Functions-as-a-Service (FaaS)
14
Functions-as-a-Service (FaaS)
▪ Deploy individual “functions”
▪ Triggered by various sources
▪ Theoretically, each function is individually managed and deployed
▪ Expected to start within milliseconds
▪ Process individual requests and exit
▪ Scales according to load
▪ Oblivious to infrastructure used to execute code
15
Leading Vendors
16
Azure
Functions
AWS
Lambda
Google
Cloud
Functions
Demo
AWS Lambda
17
FaaS Scenarios
▪ System integration
▪ Glue
▪ Scheduled tasks
▪ Dynamic Workloads
▪ Huge volume
18
A Function as a Nano-Service
▪ A Function is just a really,
really small micro microservice
▪ Best practices for microservices still apply
19
General Practices for FaaS
▪ Thick clients; thin & stateless back-ends
▪ Sync is nice, but Async is nicer
▪ Live and die by the cloud
Suggestions for Getting Started
▪ For existing services, start small
▪ Replace 1 API or background processing item
▪ Integration is a great place to introduce Serverless
▪ It is often a new layer on top of old layers
▪ For new services, establish a pattern early and stick with it
▪ Lack of tooling/established patterns mean you pay an early adopter tax
▪ Build automation ASAP
Containers as a Service
(CaaS)
22
Containers-as-a-Service (CaaS)
▪ Traditionally, containers are scheduled to run on VMs
▪ Either manually or by an orchestrator
▪ You manage the VMs and scale them
▪ Native cloud vendor solutions manage and scale the VMs for you
▪ But this is still at the VM level
▪ Using CaaS you forget about VMs
▪ Schedule a container when required
▪ Pay for resources (CPU & RAM) per use
23
Leading Vendors
24
Azure
Container
Instances
AWS
Fargate
Google
Cloud Run
Demo
Google Cloud Run
25
Serverless Containers Scenarios
▪ Scheduled tasks
▪ Dynamic Workloads
▪ Huge volume
27
Serverless Application
Platform
28
The Concept
29
Service Fabric Mesh
▪ A serverless application platform
▪ Allows developers to deploy containerized workloads
▪ Only pay for what you are using
▪ Provides multiple capabilities out-of-the-box
▪ No Infrastructure
▪ Containers
▪ Intelligent Traffic Routing
▪ Built-in support for Envoy
▪ Scalability
▪ Easy Deployments
30
A New Application Model
▪ Application
▪ Networks
▪ Secrets
▪ Volumes
▪ Routing Rules
▪ Auto-Scaling Rules
31
Demo
Service Fabric Mesh
32
Excited?
33
On-Premise Serverless
34
On-Premise Serverless Compute
▪ Most Serverless Compute offerings are in the public cloud
▪ Some solutions are available for On-Premise deployment as-well
▪ E.g. Azure Functions
▪ Completely open source
▪ Can be run in a custom Docker Container
▪ Used in Azure IoT Edge, Azure IoT DataBox, etc.
35
On-Premise FaaS
▪ Kubernetes Based Platforms
▪ Fission
▪ Kubeless
▪ Funktion
▪ OpenWhisk
▪ Apache incubator project
▪ All of these are an abstraction on top of Docker
36
Fission
▪ Framework for Serverless functions on Kubernetes
▪ Support multiple environments
▪ Node.js
▪ Python
▪ PHP
▪ Ruby
▪ Go
▪ .NET Core
37
Demo
Fission
38
Takeaways
39
Takeaways
▪ Serverless compute is an evolution of PaaS
▪ An abstraction on top of containers
▪ Mainly in the cloud but also on-premise
▪ Very efficient for system integration
▪ “Glue” scenarios
▪ Can create an entire system on Serverless
▪ Requires meticulous planning and execution
▪ Automation is key!
40
Is Serverless for Me?
▪ It depends
▪ Current culture
▪ The distance to “Cloud Native”
▪ A new architecture
▪ Requires thinking differently
▪ Requires mature and robust CI/CD and automation systems
▪ DevOps doesn’t just become ‘NoOps’
41
42
Eran Stiller
Chief Technology Officer
erans@codevalue.net
@eranstiller
https://stiller.blog
https://codevalue.net

It's a Serverless World