Serverless Meetup - 12 gennaio 2017

21
www.neosperience.com | blog.neosperience.com | [email protected] January 2017 re:Invent Serverless Luca Bianchi, Chief Technology Officer @ Neosperience github.com/aletheia https://it.linkedin.com/in/lucabianchipavia @bianchiluca Alex Casalboni, Senior Software Engineer @ Cloud Academy github.com/alexcasalboni https://www.linkedin.com/in/alexcasalboni @alex_casalboni

Transcript of Serverless Meetup - 12 gennaio 2017

Page 1: Serverless Meetup - 12 gennaio 2017

www.neosperience.com | blog.neosperience.com | [email protected]

January 2017

re:Invent Serverless

Luca Bianchi, Chief Technology Officer @ Neosperience

github.com/aletheia

https://it.linkedin.com/in/lucabianchipavia

@bianchiluca

Alex Casalboni, Senior Software Engineer @ Cloud Academy

github.com/alexcasalboni

https://www.linkedin.com/in/alexcasalboni

@alex_casalboni

Page 2: Serverless Meetup - 12 gennaio 2017

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.

Page 3: Serverless Meetup - 12 gennaio 2017

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

NeosperienceThe 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.

Page 4: Serverless Meetup - 12 gennaio 2017

Senior Software Engineer @ CloudAcademy

Who am I? - Alex Casalboni

Web developer, musician, traveler, JS & Python lover. All things ML, Big Data and Serverless.

Cloud AcademyThe 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

Page 5: Serverless Meetup - 12 gennaio 2017

✓ 29000 attendees

✓ The Venetian, The Mirage and The Wynn

✓ 400+ breakout sessions

✓ Sold out within 12 weeks

re:Invent 2016

Page 6: Serverless Meetup - 12 gennaio 2017

AWS LambdaA 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.

UPDATED

Page 7: Serverless Meetup - 12 gennaio 2017

AWS LambdaAn 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

UNOFFICIAL

Page 8: Serverless Meetup - 12 gennaio 2017

✓ 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 FunctionsNEW!

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.

Page 9: Serverless Meetup - 12 gennaio 2017
Page 10: Serverless Meetup - 12 gennaio 2017

✓ 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)NEW!

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

Page 11: Serverless Meetup - 12 gennaio 2017
Page 12: Serverless Meetup - 12 gennaio 2017

✓ 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 CodeBuildNEW!

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.

Page 13: Serverless Meetup - 12 gennaio 2017
Page 14: Serverless Meetup - 12 gennaio 2017

Serverless Application Model

Code Commit / Github repository

Code Pipeline

Serverless CI/CD pipeline

UPDATED

✓ 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

Page 15: Serverless Meetup - 12 gennaio 2017

✓ Runs Lambda functions locally ✓ Offline support (seamless invocation) ✓ Data synchronization

? Supported languages ? Connection to cloud services ? Interaction with MQTT IoT endpoints

AWS GreengrassNEW!

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.

PREVIEW

Page 16: Serverless Meetup - 12 gennaio 2017

✓ 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@EdgeNEW!

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

PREVIEW

Page 17: Serverless Meetup - 12 gennaio 2017

✓ 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 RekognitionNEW!

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)

Page 18: Serverless Meetup - 12 gennaio 2017

✓ High accuracy ✓ Speech-to-text support ✓ Fully integrated with Lambda

? Language support (currently English only)

Amazon LexNEW!

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.

PREVIEW

Page 19: Serverless Meetup - 12 gennaio 2017

Amazon Lex - chatbots

Page 20: Serverless Meetup - 12 gennaio 2017

What’s coming next

AWS X-Ray

AWS Glue

Amazon Athena

Amazon Pinpoint

AWS Shield

AWS Batch

Page 21: Serverless Meetup - 12 gennaio 2017

www.neosperience.com | blog.neosperience.com | [email protected]

Slides available at http://bit.ly/sls-ita-20170112