What is it? What is it good for?
"There is no such thing as 'serverless'. It's just someone else's problem."
now
*.html
*.asp
*.html
90s
00s
geo
cities
What determines our trajectory?
Also, Why are we here?
Containers
Serverless
IaaS
PaaS
BaaS
FaaS
SaaS
Commodification
$
Devops/Developer ecosystem
Docker Swarm
2014
2015
2016
2017
FaaS + BaaS / Serverless
Container Movement
Lambda
AuthO
Google Cloud Functions
Azure Functions
Fanout.io
Firebase
webtask.io
Serverless.com
Claudia.js
apex
Kubernetes v1.0
PubNub
Amazon Container Service
Google Container Engine
iron.io
joyent manta
Container 2.0
hyper.sh
apache open whisk
galactic fog's gestalt
Mesosphere DC / OS
The Convergence Of FaaS/BaaS + Containers
zappa.io
AWS's SAM
pachyderm
language abstractions over FaaS/BaaS
A HUGE Pro: The Decline of Ops in DevOps
90% dev
10% ops
An event-driven microservice architecture means...
*infinitely scalable, no reddit hugs of death
*goodbye OS patches, security or otherwise
*no load balancers, goodbye nginx.conf and haproxy.cfg
*less ansible, less chef & puppet, less ssh, less keypairs; in short: no servers, no ops
More PROs
For startups, pay-as-you-go is INSANELY cheap compared to 24/7 servers
*
GREENER computing
*
(existing solutions utilize only 10-15% percent of server resources per Forbes article)
FAST time to market
*
There Is Yet Pain To Be Discussed
AWS will be your master for some time (6+ mos at least)
*
State. You have to bring it with you.
*
Latency. Compile-based languages need to stay warm.
*
Immature. Tooling, integration testing, monitoring.
*
Security. More surface area across more vendors.
*
Serverless. So Now What?
Growing number of open source tools
Apex (written in Go, lamba only)
Claudia.js (js, lambda + api gateway)
Zappa.io (python, lambda + api gateway)
serverless.com (lambda, cloudwatch schedule (cron), file systems, api gateway)
no attempts to avoid AWS lock in
chalice (by AWS, python, lambda, api gateway)
built with abstractions in mind to avoid AWS lock in
The best-of-breed, javascript-based framework for end-to-end management of serverless architecture.
Long Term: Serverless aims to be an abstraction over AWS, Google Cloud Functions, and Azure Functions (and others).
Short Term: Serverless is an abstraction that compiles into AWS's Cloud Formation template to deploy the code.
"The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application."
Released Nov, 2016
Apps are comprised of services, which are comprised of functions, events, resources, and plugins.
serverless.com + phenomic + serverless-s3-client