Upgrade to Pro — share decks privately, control downloads, hide ads and more …

re:Invent 2017 Serverless Recap

re:Invent 2017 Serverless Recap

Serverless Meetup, London, December 5th, 2017

A quick summary of all serverless announcements from the AWS re:Invent 2017.

Danilo Poccia

December 05, 2017
Tweet

More Decks by Danilo Poccia

Other Decks in Programming

Transcript

  1. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Serverless Recap D a n i l o P o c c i a , T e c h n i c a l E v a n g e l i s t d a n i l o p @ a m a z o n . c o m @ d a n i l o p d a n i l o p L o n d o n , D e c e m b e r 5 t h 2 0 1 7
  2. W E L C O M E 4 3 ,

    0 0 0 + attendees 1 , 3 0 0 + technical sessions 6 0 , 0 0 0 + live stream registrations
  3. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS Lambda Doubles Maximum Memory Capacity for Lambda Functions You can now allocate 3,008MB of memory to your AWS Lambda functions. Previously, the maximum amount of memory available to your functions was 1,536MB. Now, it's easier to process workloads with higher memory or denser compute requirements, such as big data analysis, large file processing, and statistical computations. AWS Lambda Introduces Enhanced Console Experience The AWS Lambda console has been updated with enhancements and new features that improve the experience of creating, configuring, testing, and monitoring your Lambda functions. AWS Lambda Per Function Concurrency/Throttle You can now set a concurrency limit on individual AWS Lambda functions. The concurrency limit you set will reserve a portion of your account level concurrency limit for a given function. This feature allows you to throttle a given function if it reaches a maximum number of concurrent executions allowed. This is useful when you want to limit traffic rates to downstream resources called by Lambda (e.g. databases) or if you want to control the consumption of elastic network interfaces (ENI) and IP addresses for functions accessing a private VPC. .NET Core 2.0 language support (pre-announce) …and Go AWS Lambda
  4. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS CloudTrail Adds Logging of Execution Activity for AWS Lambda Functions You can now log the execution activity of your AWS Lambda functions with AWS CloudTrail Lambda data events. Previously, you could only log Lambda management events, which provide information on when and by whom a function was created, modified, or deleted. Now, you can also record Lambda data events and get additional details on when and by whom an Invoke API call was made and which Lambda function was executed. Support for Serverless Deployments in AWS CodeDeploy You can now use AWS CodeDeploy to deploy AWS Lambda functions. CodeDeploy helps you automate the testing, rollout and, if necessary, rollback of Lambda functions. This will help you reduce risks associated with updating Lambda functions. AWS Lambda
  5. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. New Deployment Options for AWS Lambda Functions You can now shift incoming traffic between two AWS Lambda function versions based on pre-assigned weights. This allows you to gradually shift traffic between two versions, helping you reduce the risk and limit the blast radius of new Lambda deployments. You can now also use AWS CodeDeploy to automatically manage the rollout of new function versions. Gradual Code Deployment Resources: MyLambdaFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs4.3 CodeUri: s3://bucket/code.zip AutoPublishAlias: live DeploymentPreference: Type: Canary10Percent10Minutes Alarms: # A list of alarms that you want to monitor - !Ref AliasErrorMetricGreaterThanZeroAlarm - !Ref LatestVersionErrorMetricGreaterThanZeroAlarm Hooks: # Validation Lambda functions that are run # before & after traffic shifting PreTraffic: !Ref PreTrafficLambdaFunction PostTraffic: !Ref PostTrafficLambdaFunction AWS Lambda Deployment Preference Type Canary10Percent30Minutes Canary10Percent5Minutes Canary10Percent10Minutes Canary10Percent15Minutes Linear10PercentEvery10Minutes Linear10PercentEvery1Minute Linear10PercentEvery2Minutes Linear10PercentEvery3Minutes AllAtOnce
  6. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Increased the limits for Lambda@Edge functions You can choose up to 1536MB of memory, deploy larger packages up to 50MB, and implement Lambda@Edge functions with longer timeouts, up to 30 seconds. Advanced response generation Now with support for binary responses (such as images) and higher Lambda function limits, you can move more complex logic to the edge than was possible previously. Network calls on viewer-facing events In addition to the remote network calls from origin- facing CloudFront events, Lambda@Edge now supports remote network calls from viewer-facing CloudFront events. For instance, you can now make remote calls to your authentication servers to verify user-privilege levels and serve premium vs. non- premium content based on what each user is authorized for. Lambda@Edge (Nov 21, 2017)
  7. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Content-based dynamic origin selection Previously with Lambda@Edge, you could only forward requests to a pre-defined origin that you configured for your CloudFront distribution. Now you can front multiple backend origin application services with Amazon CloudFront and use Lambda@Edge to route requests to the appropriate origin dynamically, based on the attributes of the request. Lambda@Edge (Nov 21, 2017)
  8. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS Greengrass has three new features First, AWS Lambda functions running on Greengrass Core devices can natively interact with the capabilities of the underlying host device. Second, Greengrass can now also use the popular industrial messaging protocol OPC-UA. Third, you can now remotely update the Greengrass Core software to take advantage of new features, bug fixes and security enhancements. AWS Greengrass ML Inference Preview AWS Greengrass ML inference lets you deploy and run ML inference locally on connected devices. Doing inference on connected devices reduces the latency and cost of sending device data to the cloud to make a prediction. Rather than sending all data to the cloud for ML inference, ML inference is performed right on devices and data is sent to the cloud only when it requires more processing. AWS Greengrass
  9. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. API Gateway Canary Release Deployments You can now use canary release deployments to gradually roll out new APIs in Amazon API Gateway. This helps you more safely roll out API changes and limit the blast radius of new deployments. Using the new stage-level settings for canaries, you can set the percentage of API requests that is handled by new API deployments to a stage. You can also define new stage variables with the canary settings. When canary settings are enabled for a stage, API Gateway will generate an additional Amazon CloudWatch Logs group and CloudWatch metrics for the requests handled by the canary deployment API. API Gateway Private VPC Integrations You can now provide access to HTTP(S) resources within your Amazon Virtual Private Cloud (VPC) without exposing them directly to the public Internet. You can use API Gateway to create an API endpoint that is integrated with your VPC. Amazon API Gateway Supports Regional API Endpoints (Nov 2, 2017) You can now choose from two types of API endpoints when creating REST APIs and custom domains with Amazon API Gateway. A regional API endpoint is a new type of endpoint that is accessed from the same AWS region in which your REST API is deployed. The second type of API endpoint is the edge- optimized API. Edge-optimized APIs are endpoints that are accessed through a CloudFront distribution that is created and managed by API Gateway. Amazon API Gateway
  10. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. The AWS Serverless Application Repository, now available in Preview, is a collection of serverless applications published by developers, companies, and partners in the serverless community. Now, customers can easily discover, deploy, and publish everything from code samples and components for building web and mobile applications to back-end processing services and complete applications. AWS Serverless Application Repository Preview
  11. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS Cloud9 is a cloud-based development environment (IDE) that lets you write, run, and debug your code with just a browser. It includes a code editor, debugger, and terminal. It is integrated in the new enhanced AWS Lambda console. AWS Cloud9
  12. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Simple Notification Service (SNS) Introduces Message Filtering (Nov 22, 2017) You can now use message filtering on Amazon Simple Notification Service (SNS) to build simpler and more streamlined pub/sub architectures. Message filtering enables Amazon SNS topic subscribers to selectively receive only a subset of the messages they are interested in, as opposed to receiving all messages published to a topic. This new approach removes the design complexity of implementing message filtering logic in your subscribers, or message routing logic in your publisher systems. Amazon SNS
  13. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon DynamoDB Global Tables Global Tables builds upon DynamoDB’s global footprint to provide a fully managed multi-region, multi-master global database that provides fast local read and write performance for massively scaled applications with globally dispersed users. Global Tables handles the difficult work of automatically replicating data between regions and resolving update conflicts, enabling developers to focus on the application logic when building globally distributed applications. Amazon DynamoDB On-Demand Backup On-Demand Backup allows you to create full backups of your DynamoDB tables data and settings for data archival, helping you meet your corporate and governmental regulatory requirements. You can backup tables from a few to hundreds of terabytes of data instantaneously, with no impact on performance and availability to your production applications. Amazon DynamoDB
  14. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Sign Up for the Preview of Amazon Aurora Serverless This new serverless mode will save you time and money by automatically adjusting database capacity to match your application needs. The preview will be available for the MySQL-compatible edition of Amazon Aurora. Stay tuned for more information about Amazon Aurora Serverless in early 2018. Our current plan is to make it available in production form with MySQL compatibility in the first half, and to follow up with PostgreSQL compatibility later in the year. Amazon Aurora Serverless Preview
  15. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon S3 Select Preview Most applications have to retrieve the complete set of objects and then filter out just the required data. With Amazon S3 Select, applications can offload the heavy lifting of filtering and accessing data inside objects to the Amazon S3 service to retrieve only a subset of data from an S3 object instead of retrieving the entire object. By reducing the volume of data that has to be loaded and processed by your analytics applications, S3 Select can improve the performance of most applications that frequently access data from S3 by up to 400%. Amazon Glacier Select Amazon Glacier Select is a new way to query archived data in Amazon Glacier. Amazon Glacier Select allows queries to run directly on data stored in Amazon Glacier, retrieving only the data you need out of your archives to use for analytics. This allows you to reduce total cost of ownership while massively extending your data lake into cost-effective archive storage. Amazon S3 & Amazon Glacier
  16. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Kinesis Video Streams makes it easy to securely stream video, audio, and other time- encoded data from sources like cameras, RADARs, thermal sensors, and other connected devices to AWS for machine learning (ML), analytics, and more. Amazon Kinesis Video Streams
  17. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS AppSync is a fully managed serverless GraphQL service for real- time data queries, synchronization, communications and offline programming features. AWS AppSync automatically updates the data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect. AppSync makes it easy to build collaborative mobile and web applications that deliver responsive, collaborative user experiences You can use AWS AppSync to build native mobile and web apps with iOS, Android, JavaScript and React Native. AWS AppSync Preview
  18. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Advanced Security Features for Amazon Cognito Advanced security features for Amazon Cognito enable you to secure access to your applications using risk-based adaptive authentication and compromised credentials protection. When Amazon Cognito detects unusual sign-in activity, such as sign-in attempts from new locations and devices, it prompts users for additional verification. AWS Mobile Hub redesigned console (Nov 21, 2017) With the redesigned console, a project now allows users to define four different app platforms for their backend. This means developers can configure backend features like User Sign-in once, and integrate it with an iOS, Android, Web, and React Native app, all through the console. AWS Amplify, a declarative JavaScript library for cloud development with mobile or web applications (Nov 21, 2017) The AWS Amplify library modules are broken down into categories (Auth, Analytics, Storage, APIs, Caching) to quickly add features such as User SignUp/SignIn, MFA, tracking or metric analytics, content management or Serverless API integration. There are components and extensions for React and React Native. AWS Mobile CLI (Nov 21, 2017) With the new AWS Mobile CLI developers have a comprehensive CLI experience for building projects. This experience includes creating serverless back- ends with AWS Lambda, allowing you to inject cloud functionality into an existing project. The Amplify library then allows common configuration from this process to be consumed for usage in a single line of code. AWS Mobile & Amazon Cognito
  19. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. AWS Elemental MediaConvert AWS Elemental MediaConvert is a service that formats and compresses offline video content for delivery to televisions or connected devices. High- quality video transcoding makes it possible to create on-demand video assets for virtually any device. AWS Elemental MediaPackage AWS Elemental MediaPackage is a service that performs just-in-time packaging for cost-effective video distribution. Enrich video experiences with time-shifted TV and other advanced features while securing valuable content and reducing storage costs. AWS Elemental MediaStore AWS Elemental MediaStore is a high-performance storage service paired with the security and durability of Amazon S3 that is optimized to handle high frequency requests for video data. AWS Elemental MediaLive AWS Elemental MediaLive is a service that lets you encode broadcast-grade live video for televisions or connected devices. Quickly stand up broadcast channels or live events and scale them as needed with the push of a button. AWS Elemental MediaTailor AWS Elemental MediaTailor is a service that makes it easy to insert targeted advertising into streaming video at scale. By personalizing content, you can increase viewer engagement and boost video monetization. New Media Services
  20. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Rekognition Video Amazon Rekognition Video is a deep learning powered video analysis service that tracks people, detects activities, and recognizes objects, celebrities, and inappropriate content. Amazon Rekognition Video can detect and recognize faces in live streams. Rekognition Video analyzes existing video stored in Amazon S3 and returns specific labels of activities, people and faces, and objects with time stamps so you can easily locate the scene. It can also perform facial recognition on live video from Amazon Kinesis Video Steams. For people and faces, it also returns the bounding box, which is the specific location of the person or face in the frame. Amazon Comprehend Amazon Comprehend is a natural language processing (NLP) service that uses machine learning to find insights and relationships in text. Amazon Comprehend identifies the language of the text; extracts key phrases, places, people, brands, or events; understands how positive or negative the text is; and automatically organizes a collection of text files by topic. You can use the Amazon Comprehend APIs to analyze text and use the results in a wide range of applications including voice of customer analysis, intelligent document search, and content personalization for web applications. New API-driven Machine Learning Services
  21. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Transcribe Preview Amazon Transcribe is an automatic speech recognition (ASR) service that makes it easy for developers to add speech-to-text capability to their applications. Using the Amazon Transcribe API, you can analyze any audio files stored in a common format (WAV, MP3, etc.) in Amazon Simple Storage Service (S3) and have the service return a text file of all the transcribed speech. Amazon Translate Preview Amazon Translate is a neural machine translation service that delivers fast, high-quality, and affordable language translation. Neural machine translation is a form of language translation automation that uses machine learning and deep learning models to deliver more accurate and more natural sounding translation than traditional statistical and rule-based translation algorithms. Amazon Translate allows you to easily translate large volumes of text efficiently, and to localize websites and applications for international users. New API-driven Machine Learning Services
  22. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Amazon Sumerian lets you create and run virtual reality (VR), augmented reality (AR), and 3D applications quickly and easily without requiring any specialized programming or 3D graphics expertise. With Sumerian, you can build highly immersive and interactive scenes that run on popular hardware such as Oculus Rift, HTC Vive, and iOS mobile devices. Amazon Sumerian Preview
  23. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Alexa for Business is an AWS service that makes it easy for you to empower your organization with Alexa by giving your employees their own intelligent assistant for work. Alexa for Business gives you the tools to manage Alexa for your organization – at scale. Alexa for Business
  24. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. …and lots more! https://aws.amazon.com/new/reinvent/
  25. © 2017, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Serverless Recap D a n i l o P o c c i a , T e c h n i c a l E v a n g e l i s t d a n i l o p @ a m a z o n . c o m @ d a n i l o p d a n i l o p L o n d o n , D e c e m b e r 5 t h 2 0 1 7