Going Serverless:
Code Without Infrastructure
- What is Serverless?
- Why Serverless?
- The Serverless ecosystem
- Serverless challenges
@pheasley
What is Serverless?
[Code that] is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. - ThoughtWorks
Stateless compute containers
Event triggered
Ephemeral
Fully managed
by a 3rd party
Not restricted to a single function
Serverless architecture is such a silly name. Of course there are servers, just not ones you need to watch and micromanage all the time - @VilleImmonen
Demo
Why Serverless?
Pay per invocation
3 million requests
Runs for 1 sec
Allocated 512MB memory
= $18.34 per month
Managed scaling
Isolated deployments
Time to market
A short history of Cloud computing
Bare metal servers
Virtualisation
Pet servers
vs.
Cattle servers
Hosted virtualisation
Infrastructure as a Service (IaaS)
Hosted environments
Platform as a Service (PaaS)
Serverless functions
Functions as a Service (FaaS)
Serverless Microservices
For the win!
The Serverless ecosystem
Serverless Providers
- Amazon AWS Lambda
- Microsoft Azure Functions
- Google Cloud Functions
- IBM OpenWhisk
- Iron.io
- Webtask
AWS Lambda
- Node.js (JavaScript)
- Python
- Java
- C#
- Node.js (JavaScript)
- C#
- F#
- Python
- PHP
- Bash
- Batch
- PowerShell
Microsoft Azure Functions
Google Cloud Functions
- Node.js (JavaScript)
AWS Lambda Event Triggers
- API Gateway
- S3
- Kinesis
- SNS
- DynamoDB
- CloudWatch and more...
Demo
Serverless challenges
Maturity
Execution duration
Startup time
Authentication
Dev / integration testing
Statelessness
Recap
- Quickly build and deploy new products
- Focus on code not infrastructure