$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

  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)

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide