Going serverless –

NoOps is the best ops
Steven Ringo
AWS Meetup Sydney
2 March 2016
No Servers?
Wut?
Bare Metal
Deploy in months
Lives for far too long!
Containers
Deploy in seconds
Lives for hours
AWS Lambda
Deploy instantly
Lives for seconds
Virtualisation
Deploy in minutes
Lives for weeks
Gazillions of baby Lambdas
AWS

Lambda
A compute service where you
can upload your code and it
runs the it on your behalf using
AWS infrastructure.
AWS

Lambda
Code function that executes
when triggered by an event.
Handler
AWS

Lambda
Things that happen in AWS services:
Event source
API Gateway
S3
SES
SNS
CloudWatch

(logs, events & scheduled actions)
CloudFormation
DynamoDB
Kinesis
Cognito
AWS

Lambda
Trigger from custom REST API
and endpoint using Amazon
API Gateway
HTTPS only
API Gateway event source
AWS

Lambda
RequestResponse type
Assumes response will be sent
Asynchronous type for other
applications
Synchronous invocation

for API Gateway
AWS

Lambda
Supported:
• Javascript (NodeJS) / Python / JVM
Unsupported:
• Ruby / Go / Haskell
• (Actually anything)
Languages
AWS

Lambda
Console for simple implementations
with no external dependencies.
or
Zip file with your code and
dependencies. Upload directly or use
S3
Deployment package
AWS

Lambda
Only local state, and is limited to the
current Lambda execution
Stateless
Amazon
API Gateway
A scalable, fully-managed
service to publish, maintain,
monitor, and secure APIs.
Amazon
API Gateway
Each resource within a REST API can
support one or more of the
standard HTTP methods
Define verbs supported for each
resource (GET, POST, PUT, PATCH,
DELETE, HEAD, OPTIONS) and their
implementations
RESTful
Amazon
API Gateway
Built in staging
multiple stages (e.g. dev, test, deploy)
Built-in versioning
multiple versions simultaneously
Staging & versioning
Amazon
API Gateway
Works with Lambda or your own
publicly accessible endpoints
Lambda- or custom-backed
Amazon
API Gateway
Custom authorisers, e.g. JWT, OAuth
Cognito integration
Authorisation & Authentication
Amazon
API Gateway
Allows resources on a web page to be
requested from another domain outside the
domain from which the resource originated,
e.g. calls to API Gateway endpoints
CORS support
Amazon
API Gateway
Android, iOS, or JavaScript boilerplate
SDK code generation
GET https://romanapi.com/v1/numeral/MCMLXIX
{
"result": 1969,
"arabic": 1969,
"roman": "MCMLXIX",
"success": true,
"original": "MCMLXIX"
}
Amazon

S3
Host static websites
Massively redundant & scalable
Great for assets

(css/images/javascripts)
Custom domain names
TLS supported
Amazon
CloudFront
A global content delivery
network (CDN) service
Amazon
CloudFront
Improve performance of your
web-facing assets
Amazon
CloudFront
Additional layer of security, esp
when coupled with WAF
AWS WAF
Web Application Firewall
A web application firewall that
helps protect your web
applications from common
web exploits
Fully managed, scalable, fast
NoSQL database
Amazon
DynamoDB
middlemanapp.com
jekyllrb.com
apex.run
Serverless
should be
considered as part of
your cloud strategy
Serverless
is just another tool
in your cloud toolset
steven.ringo@versent.com.au
Need a job?

Going Serverless: The Best Ops is NoOps.