Serverless can be misleading as a descriptor. Serverless infrastructure actually runs on servers. However, the “server-less” reference comes from the fact that serverless abstracts the complexity of running servers away from the software developer which enables them to develop software without having to worry about the scaling, redundancy and overall infrastructure design. This is called Function-as-a-Service or Faas for short.
For the purposes of this talk, we’ll discuss serverless technologies where someone else is providing serverless infrastructure. Popular serverless platforms include Amazon Web Services Lambda, Google Cloud Functions, and Microsoft Azure Functions.
The presentation will also discuss the software that can be used to deliver Functions-as-a-Service (FaaS) that enables serverless, including serverless frameworks like Knative, Kubeless, OpenFaaS, and Oracle’s fn.
Finally, we’ll cover what a cloud-native application might look like including the use cases and design patterns that serverless is geared towards providing.
7. TriggerMesh – Multicloud Serverless Management Platform
Continuous integration, continuous
deployment is going to change and that’s
where things like microservices, containers
are playing a massive role in the outer loop,
but one of the things that I think is going to
completely change how we think about logic
is serverless.
Serverless computation will fundamentally,
not only change the economics of what is
backing computing, but it’s going to be the
core of the future of distributed computing.
So this application paradigm shift of
intelligent cloud and intelligent edge is going
to be pervasively changing everything we do
inside of Windows, inside of Office 365,
inside of Azure and the rest of what you will
hear about in the next three days is about
unpacking this.
Satya Nadella
Keynote - Microsoft Build 2017 conference
8. TriggerMesh – Multicloud Serverless Management Platform
The torrid pace of adoption and innovation in
the serverless (Lambda) space has totally blown
us away,
In particular, Lambda, AWS’s main serverless
service, has “grown like crazy,” with hundreds of
thousands of active customers using it in the last
30 days. That’s 300%-plus year-over-year
growth.
“When we launched Lambda, the first serverless
compute service, it was a watershed moment,”
...large generations of customers will skip
instances and containers and go right to
serverless -- in fact, if Amazon.com were
starting today, it would go serverless.
Andy Jassy
Amazon Web Services Inc.
Chief Executive
Re:Invent 2017
9. TriggerMesh – Multicloud Serverless Management Platform
Serverless Market $19.84 Billion by
2025
● 81% of enterprises have a multi-cloud strategy
● AWS adoption rate is decreasing versus other clouds
● AWS Lambda sees Automation, Integration and Management
Services.
11. TriggerMesh – Multicloud Serverless Management Platform
What is serverless?
● Abstraction of backend infrastructure completely
● Execution environment for single purpose functions
● Hosted in public cloud or on-premise
● Serverless functions have a runtime in a stateless
container
○ E.g. Node.js, JavaScript, Go, Python, Java
● Event-driven startup triggers/instant scale out or in.
● Micro-billing instead of per-hour/month billing.
12. TriggerMesh – Multicloud Serverless Management Platform
Serverless Providers
● Amazon Lambda
● Microsoft Azure Functions
● IBM Cloud Functions
● Google Cloud Functions
● Alibaba Function Compute
13. TriggerMesh – Multicloud Serverless Management Platform
Simple serverless function
Mobile phone takes
picture and uploads it
to object storage in
the cloud.
Various side photos
are uploaded to an S3
bucket on AWS
Resize images to thumbnails in a photo sharing service
S3 Event triggers an
Amazon Lambda
function.
Amazon Lambda
function resizes
image.
Thumbnails are
written to another S3
bucket on AWS.
Thumbnails are
server to a mobile
application from a
webserver and s3.
14. TriggerMesh – Multicloud Serverless Management Platform
What is Function-as-a-Service (FaaS)?
● Functions-as-a-Service infrastructure delivers serverless computing (Mark’s
definition)
● Abstraction of backend infrastructure completely provide the ability to
deliver serverless computing
● Popular Open Source Serverless Delivery Software
○ Firecracker (Amazon)
○ Fission (Platform 9)
○ Fn (Oracle)
○ Knative/Kubernetes (Google)
○ Kubeless (Bitnami)
○ OpenFaaS (VMware)
○ OpenWhisk (IBM)
○ Serverless (Serverless Inc.)
15. TriggerMesh – Multicloud Serverless Management Platform
What is Backend-as-a-Service (BaaS)
BaaS or Backend-as-a-Service refers to the infrastructure
components managed by a cloud provider.
Examples of BaaS
○ AWS S3
○ AWS DynamoDB
○ Azure Kubernetes Service (AKS)
○ Google BigQuery
16. TriggerMesh – Multicloud Serverless Management Platform
What are microservices?
● Single purposes functions that
deliver accomplish a single task
● Can run on a server, container
or in a serverless infrastructure
● Microservices are typically
combined to deliver a cloud
native application via
presentation layer
Example of Microservices in a Storefront Application
Inventory
DBMobile
Application
Browser
API
Gateway
Storefront
App
Inventory
Service
Account
DBAccount
Service
Shipping
DB
Shipping
Service
17. TriggerMesh – Multicloud Serverless Management Platform
Event-Driven Architecture (EDA)
● Design pattern around the production and reaction to
events
● Functions are triggered by events
● Examples
○ A file uploaded to an S3 bucket
○ Inserts on a DynamoDB table
○ A message published to an SNS/PubSub topic
○ A CloudWatch alert
18. TriggerMesh – Multicloud Serverless Management Platform
Cloud native application
Mobile phone
takes picture and
uploads it to
object storage in
the cloud.
Various side photos
are uploaded to an S3
bucket on AWS
Photo sharing service
Thumbnails are
written to and served
from object storage on
AWS S3
Thumbnails are
server to a mobile
application from a
webserver and s3.
User plan
supporting quotas
is queryable via
Salesforce
Alerts users in a
network that new
images from their
friends are available.
Photos are shared
among a social
network of users.
Amazon Lambda function
resizes an image every
time a new
20. TriggerMesh – Multicloud Serverless Management Platform
Criteria for using serverless
● Asynchronous, concurrent, easy to parallelize into
independent units of work
● Infrequent or has sporadic demand, with large,
unpredictable variance in scaling requirements
● Stateless, ephemeral, without a major need for
instantaneous cold start time
● Highly dynamic in terms of changing business
requirements that drive a need for accelerated developer
velocity
Source: CNCF Serverless Whitepaper v1.0
21. TriggerMesh – Multicloud Serverless Management Platform
Use cases for serverless
1. Multimedia processing
2. Database changes or change data capture
3. IoT sensor input messages
4. Stream processing at scale
5. Chat bots
6. Batch jobs scheduled tasks
7. HTTP REST APIs and web apps
8. Mobile back ends
9. Business logic
10.Continuous integration pipeline
Source: CNCF Serverless Whitepaper v1.0
22. TriggerMesh – Multicloud Serverless Management Platform
Serverless benefits
● Reduced cost
● Risk mitigation
● Increased flexibility of
scaling
● Shorter lead time
24. TriggerMesh – Multicloud Serverless Management Platform
Serverless gotchas
Portability
● Serverless clouds have potential for tight lockin (e.g users cannot move from AWS to Google and
Azure)
● Functions require rewrite to run on other clouds
Automation / DevOps
● Continuous integration and deployment of function needs integration with version control, current
Cloud offerings are not well integrated with GitHub/GitLab and Bitbucket
● Automation pipeline should be triggered via events and execute functions
Cross-Cloud Communication
● Users want choice and use services in different cloud, leaving the need for cross-cloud eventing.
● No good cross-cloud “event bus” for triggering functions (e.g. Salesforce Heroku to Amazon)
25. TriggerMesh – Multicloud Serverless Management Platform
The cold start problem
● Applications that haven't been used recently take
longer to startup and to handle the first request.
● Because serverless happens on use, there aren’t
dedicated instances ready to handle requests
● Solution: Run a function in a dedicated container/VM,
not serverless
26. TRIGGERMESH PROVIDES A PLATFORM TO MANAGE THE WHOLE
SERVERLESS PRODUCT LIFECYCLE VIA A HOSTED PLATFORM.
HTTP://CLOUD.TRIGGERMESH.IO
- Last Updated - 2/5/19
28. TriggerMesh – Multicloud Serverless Management Platform
TriggerMesh product features
• Software-as-a-Service
cloud.triggermesh.io
• Source Control Integration
Github/Gitlab/Bitbucket
• Deployment
Kubernete/Knative, Amazon Lambda, Microsoft Azure,
Google Cloud Functions
• Cross Cloud Event Bus
Compatible with all clouds. Today there is no cross-
cloud serverless event bus.
• Function Store
Allow users to share function to build a community
hub for collaboration
• Serverless Framework Integration
Utilizes serverless deployment manifest in the repos
containing the function to deploy in a versatile
manner
• Kubernetes Builds for Versioning
Using Google’s Knative platform, use the Build
extension to provide immutable and reproducible
builds of functions images.
• Cost Optimization
Via observability (open tracing in Istio), monitor time
spent in functions and render cost budget per
function
• Monitoring
Time-series monitoring via Prometheus, defacto
standard in cloud monitoring
29. TriggerMesh – Multicloud Serverless Management Platform
Where serverless falls short
Source: The New Stack Serverless Survey 2018
Q: What are the top three areas in which serverless falls short of expectations? n=251
https://thenewstack.io/ebooks/serverless/guide-to-serverless-technologies/
According to the New Stack’s 2018
Serverless Survey these are the
places where serverless falls short.
TriggerMesh can help provide
solutions to all of these problems
especially the top problems of
portability, control, and risk
reduction by providing a full
serverless lifecycle management
solution that is consistent with
DevOps culture and best practices.