This document summarizes key announcements from re:Invent 2016 related to serverless technologies on AWS. It discusses new features for AWS Lambda including environment variables, dead letter queues, and upcoming support for Go and Node.js 6.9. It also introduces AWS Step Functions for orchestrating microservices, Serverless Application Model (SAM) for describing serverless apps, and Amazon CodeBuild for continuous integration/delivery of serverless projects. Other new services highlighted include AWS Greengrass, Lambda@Edge, Amazon Rekognition, and Amazon Lex.
2. Safe Harbor
Topics and services discussed in this presentation come from statements made publicly by Amazon Web Services
(AWS) during re:Invent 2016 conference and informal talks with AWS personnel. Additional information have been
developed by presenters accordingly to publicly released material and does not represent official statement by any
of the companies mentioned in this presentation.
Logo trademarks of AWS services are property of Amazon Web Services.
Serverless Meetup Italy is not related in any way to AWS neither has any partnership or contracts with Amazon Web
Services but represents a non-profit, independent association of passionate people around Serverless technologies.
Any of the statements in this presentation has been made accordingly to AWS Terms and Conditions.
3. CTO @ Neosperience
Who am I? - Luca Bianchi
Working on a lot of bleeding edge technologies. Passionate developer. Love writing code, not Powerpoints.
The Neosperience Cloud
• Software as a service cloud for Digital Customer Experience processes (couponing, gamification, proximity, etc.)
• Completely built on AWS
• Moved from VMWare, to EC2, to Elastic Beanstalk, to Lambda
• Dozens of micro and nano services
Neosperience
The Digital Customer Experience Company, aims to change the way brands and customers interact with an
approach of a software vendor targeting Digital Customer Experience as the evolution of Marketing automation.
4. Senior Software Engineer @ CloudAcademy
Who am I? - Alex Casalboni
Web developer, musician, traveler, JS & Python lover. All things ML, Big Data and Serverless.
Cloud Academy
The place to master Cloud Computing (AWS, Azure, GCP, etc.): online education and self-paced learning applied to
the Cloud world.
• Video courses
• Quiz questions
• Certification Prep
• Hands-on Labs
• Learning Paths
5. ✓ 29000 attendees
✓ The Venetian, The Mirage and The Wynn
✓ 400+ breakout sessions
✓ Sold out within 12 weeks
re:Invent 2016
6. AWS Lambda
A long awaited update of AWS Lambda finally came out a few weeks before re:Invent,
adding support for
✓ Environment variables: variables can be defined either in console or through
APIs and allow to set parameters (state) for Lambda functions independently
from request context, but tied to execution context (such as Database
Connection strings or Bucket names). Variables are versioned and secured bu
KMS
✓ Dead Letter Queue: a SQS queue or a SNS topic can be provided to receive
function event together with request id as soon as invocation an retry fail.
U
PD
ATED
7. AWS Lambda
An off-the-records talk with Tim Wagner, General Manager for AWS Lambda, spotted some
upcoming interesting feature of Lambda in the next future:
✓ Go Language support: in an effort to widespread adoption of Lambda
technology, AWS is planning to add support for Go language in the next few
months (rumors say Q2 2017)
✓ NodeJS 6.9.0 (LTS): NodeJS developer needed support for modern and up to
date version of Node language, so Node 6.0.0 LTS is coming within the next weeks
(rumors say Q1 2017) thus enabling complete support to ES6 in Lambda
✓ SQS Lambda Triggers: a long awaited feature and the precursor to Messaging
patterns within Lambda ecosystem is said to be announced in the near future
U
N
O
FFIC
IAL
8. ✓ Provides coordination of (micro) services
✓ Built around the concept of task of state machine
✓ Handles state between different steps. State is external to functions and explicitly managed
X Limited number of triggers
X Limited Use Cases
X Pricing
AWS Step Functions
N
EW
!
Coordinate multiple microservices with ease defining a state machine and describing
transitions between states. Step Functions provides a graphical console and a custom
Domain Specific Language (DSL) to describe coordination. Moreover Step Functions tracks
every state change and manages the operations and underlying infrastructure for you to
help ensure your application is available at any scale.
9.
10. ✓ Open Specification
✓ Supported natively by CloudFormation (also through package and deploy)
✓ Ease of configuration for Serverless Applications
X Writing Cloudformation is not easy (lack of debugging tools)
X Stacks sometimes get stuck
X No support by other providers than AWS (yet)
Serverless Application Model (SAM)
N
EW
!
A common language for describing Serverless Application. Announced last May with the
code name of Flourish, now it has been released to its first production release. Can be used
to describe and package serverless applications, relying on opinionated standard API
Gateway —> Lambda configuration
11.
12. ✓ Fully managed
✓ Supports multiple stages of configuration
✓ Scales up with your projects
✓ Supports docker images as environment
X Supports only Linux OS
X Slower thank equivalent EC2 Gitlab runner
X Costs 12 times an equivalent EC2 instance
Amazon CodeBuild
N
EW
!
A fully managed build service that compiles source code and runs tests following agile
specifications through buildspec.yaml configuration file (similar to travisCI and Gitlab).
Build processes scalability is handled automatically as well as security.
13.
14. Serverless Application Model
Code Commit / Github repository
Code Pipeline
Serverless CI/CD pipeline
U
PD
ATED
✓ Does not require external frameworks
✓ Managed by AWS, triggered by Git commits
✓ Highly customizable
✓ Cost Effective (1$/pipeline + 0.005$/minute)
X Still cumbersome to configure
X Pipeline debugging is a pain
X Bound to AWS
15. ✓ Runs Lambda functions locally
✓ Offline support (seamless invocation)
✓ Data synchronization
? Supported languages
? Connection to cloud services
? Interaction with MQTT IoT endpoints
AWS Greengrass
N
EW
!
Run local compute, messaging & data caching for connected devices in a secure way.
Run AWS functions locally, keep device data in sync and communicate with other devices
even offline. Deploy and update Greengrass functions directly from the cloud.
PR
EVIEW
16. ✓ A tons of use cases:
✓ conditional caching
✓ request/response manipulation (decoration)
✓ URL rewriting
✓ A/B testing
✓ Offline support
✓ Data synchronization
? Asynchronous requests implementation (reactive)
? Can invoke remote Lambda?
AWS Lambda@Edge
N
EW
!
Run Lambda functions at the AWS Edge locations in response to CloudFront events,
without provisioning or managing servers, by using the AWS Lambda serverless
programming model
PR
EVIEW
17. ✓ Fully managed
✓ Implement state of the art Vision algorithm with very high accuracy
✓ 100% rotation invariant
✓ Image labels constantly grows
✓ Data is not stored by AWS (privacy guaranteed)
Amazon Rekognition
N
EW
!
A set of Image analysis services capable to empower client applications and serverless
through vision techniques. AWS Rekognition can provide a number of services such as:
Image feature extraction
Face recognition
Face detection (search)
18. ✓ High accuracy
✓ Speech-to-text support
✓ Fully integrated with Lambda
? Language support (currently English only)
Amazon Lex
N
EW
!
A service providing speech recognition and Natural Language Understanding. AWS
released the engine inside Amazon Alexa to increase integration from Skillsets to a fully
conversational programming model. Amazon Lex is a service for building conversational
interfaces into any application using voice and text. Lex provides the advanced deep
learning functionalities of automatic speech recognition (ASR) for converting speech to
text, and natural language understanding (NLU) to recognize the intent of the text.
PR
EVIEW