FaaS (Functions as a Service) - aka Serverless
Michael Bright, 27 January 2018,
DevConf.cz, Brno
These slides online at https://mjbright.github.io/Talks/2018-Jan-27_Devconf.cz_Serverless
Developer Evangelist @
Serverless Computing
-
What is Serverless?
Your experiences? -
Review of Cloud Provider Offerings.
+CNCF Serverless WG -
Serverless Tools
-
Serverless Platforms
-
Serverless In Action - demos
What is Serverless
No more servers ?!
The path to Serverless
Serverless - The making of ...
Serverless - What is it? ...
At the peak of the Hype Cycle !!
-
Don't care about servers
- Developers focus on apps
- Servers are auto-scaled
- No server provisioning -
BaaS
- - Back-end as a Service - e.g. DB, messaging
-
Now FaaS + BaaS
- Functions as a Service - your stateless logic
-
Pay as you go
- Pay for real usage (theory)
- No initial investment
- Great for startups -
Agile
- Short time to market
- Enables innovation
- Massive scale on demand (theory) -
Also a company!
Unfortunately!
-Serverless(.com) provide deployment tools
-called Serverless !
The future of fast-food is Serverless
Serverless - Event Driven Architecture
Serverless - What is it? ... Use Cases
Serverless - What is it? ... Use Cases
Where it doesn't make sense to pay for always-on services
-
Periodic
- monthly payroll
- weekly news
- daily summaries - Bank check processing
(with image recognition) -
Unpredictable
- git webhooks
- user web requests
- S3 file uploads
- SMS reception -
Domains
- IoT
- Banking
- Glue-logic
-
Characteristics
- latency tolerant
- event-driven
- short-lived
- periodic
Serverless - Cloud Providers
Serverless - Cloud Provider Offerings
AWS Lambda
Overview
Introduced βeta in Nov 2014, stable version by end of 2015.
Leader in developer uptake, back-end services and eco-system.
Language choices:
Node.js (JS), Python, Java 8, C#, VB/F#?
(CSAR project)
NEW: Go (static binaries) and .Net(C#)
Cost: Free tier: 1 mn req/mth, then $0.00001667/GBy-sec
details
Strengths: Created the space, enormous ecosystem, Cloud9 IDE?
Weaknesses: A little slow, limited languages, lock-in
Azure Functions
OverviewIntroduced in May 2016
Many language choices: JavaScript, C#, F#, Python, PHP, Bash, PowerShell ...
Cost: Free tier: 1 mn req/mth, then $0.000016/GBy-sec details
Strengths: Win dev ecosystem, VStudio tools, Azure Stack
Weaknesses: still young, lock-in
Google Cloud Functions
OverviewAlpha release in Feb 2016.
Language support: JavaScript only.
Cost: Free tier: 2mn req/mth, then $0.0000004/GBy-sec details
Strengths: Google dev ecosystem, backend services
Weaknesses: Very young, Js only, commitment? Cost, lock-in
IBM Cloud Functions
OverviewExperimental release in Feb 2016
Open Sourced as Apache OpenWhisk
Language support: Node.js, Swift or BYoC
Cost: Free tier: 2mn req/mth, then $0.0000004/GBy-sec details
Strengths: Open source community, RedHat/Adobe backing, Fast growth
Weaknesses: lock-in
But we need open Serverless for open Cloud
CNCF Serverless WG to
-
Provide clarity on the topic:
- * Define common terminology
- * Define the scope of the space
- * Identify common use cases and patterns
- * Identify relation to PaaS and container orchestration
-
Identify potential next steps for the community:
- * Identify areas for harmonization or interop work
- Create a whitepaper on Serverless.
CNCF Serverless WG Resources
- * Github repo @cncf:wg-serverless
- * Whitepaper in Google Drive
- * Google Group cncf-wg-serverless
- * Slack Channel WP
- * Meetings Video playlist Minutes
Serverless - Tools
Serverless - Open Source tooling ...
Serverless - Open Source Frameworks
Serverless - Open Source Frameworks
- ...
Thanks !
Resources - 1
Resource | Description | URL |
---|---|---|
awesome-serverless | Curated list of awesome services, solutions and resources for serverless / nobackend applications. | [github] anaibol/awesome-serverless |
awesome-Serverless(.com) | Curated list of resources related to serverless architectures and the Serverless Framework | [github] JustServerless/awesome-serverless |
Serverless | Tools for deploying to several Cloud Providers | [github] serverless/serverless |
Apex | Tools for deploying to AWS Lambda | [github] apex/apex |
Resources - 2
Resource | Description | URL |
---|---|---|
AWS Lambda | Amazon's Serverless Platform | https://aws.amazon.com/fr/lambda/ |
Azure Functions | Microsoft's Serverless Platform | https://azure.microsoft.com/en-us/services/functions/ |
Google Cloud Functions | Google's Serverless Platform | https://cloud.google.com/functions/ |
IBM Cloud Functions | IBM's Serverless Platform | https://www.ibm.com/cloud-computing/bluemix/openwhisk |
Resources - 3
Resource | Description | URL |
---|---|---|
Kubeless | Serverless platform from Bitnami | url |
Fission.io | Serverless platform from Platform9 | url |
Apache OpenWhisk | Serverless platform from IBM | url |
OpenFaaS | Serverless platform from Alex Ellis, Docker Captain | url |
Apex | Serverless framework supporting Python and other languages | url |
Chalice | Serverless framework supporting Python / Flask | url |
Lambdify | Serverless framework supporting Python | url |
Zappa | Serverless framework supporting Python / WSGi | url |
Thanks !
- awesome-serverless [github] anaibol/awesome-serverless
- awesome-serverless(.com) [github] JustServerless/awesome-serverless