going serverless: the best ops is noops
TRANSCRIPT
Going serverless –NoOps is the best opsSteven 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
AWSLambda
A compute service where you can upload your code and it runs the it on your behalf using AWS infrastructure.
AWSLambda
Code function that executes when triggered by an event.
Handler
AWSLambda
Things that happen in AWS services:
Event source
API Gateway S3 SES SNS CloudWatch(logs, events & scheduled actions)
CloudFormation DynamoDB Kinesis Cognito
AWSLambda
Trigger from custom REST API and endpoint using Amazon API Gateway
HTTPS only
API Gateway event source
AWSLambda
RequestResponse type
Assumes response will be sent
Asynchronous type for other applications
Synchronous invocationfor API Gateway
AWSLambda
Supported:
• Javascript (NodeJS) / Python / JVM
Unsupported:
• Ruby / Go / Haskell • (Actually anything)
Languages
AWSLambda
Console for simple implementations with no external dependencies. or
Zip file with your code and dependencies. Upload directly or use S3
Deployment package
AWSLambda
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" }
AmazonS3
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
Need a job?