In this talk, learn more about how the AWS Serverless Application Repository can be used to compose Serverless Applications into larger Serverless architectures to improve agility, quality, and time to market.
rights reserved. Lambda is event-driven by nature Services (anything) Changes in data state Requests to endpoints Changes in resource state Event source Function Node.js Python Java C# Go Ruby BYOR (Bring your own runtime)
rights reserved. SAM Template Tells AWS CloudFormation this is a SAM template it needs to “transform” Creates a AWS Lambda function with the referenced managed AWS IAM policy, runtime, code at the referenced zip location, and handler as defined. Also creates an Amazon API Gateway and takes care of all mapping/permissions necessary Creates a Amazon DynamoDB table AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs6.10 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::DynamoDB::Table
rights reserved. Metadata for SAR AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Parameters: S3BucketParameter: Type: String Outputs: PublicReadAclFunctionArn: Value: !GetAtt PublicReadAclFunction.Arn Metadata: AWS::ServerlessRepo::Application: Name: codepipeline-s3-objects-public-read Description: A Lambda function triggered by CodePipeline to update the S3 ACL to ... Author: Sam Dengler SpdxLicenseId: Apache-2.0 LicenseUrl: LICENSE.txt SemanticVersion: 0.0.1 Resources:
rights reserved. Publish SAM application to SAR $ sam package --template-file template.yaml \ --s3-bucket my-s3-bucket \ --output-template-file packaged.yaml $ sam publish --template-file packaged.yaml The following metadata of application "arn:aws:serverlessrepo:us-east- 1:068896461592:applications/codepipeline-s3-objects-public-read" has been updated: { "Description": "A Lambda function triggered by CodePipeline to update the S3 ACL ...”, "Author": "Sam Dengler" } Click the link below to view your application in AWS console: https://console.aws.amazon.com/serverlessrepo/home?region=us-east-1#/published- applications/arn:aws:serverlessrepo:us-east-1:068896461592:codepipeline-s3-objects- public-read
rights reserved. WebSockets support in Amazon API Gateway Real-time two-way communications Managed persistence Event-based triggers Mobile apps Chat Dashboar ds IoT devices Amazon API Gateway WebSockets API Stateful connection Stateless connection AWS Lambda Functions Public Endpoints on Amazon EC2 Amazon Kinesis Any other AWS service All publicly accessible endpoints
rights reserved. subscribe $disconnect unsubscribe $connect send Control Plane Data Plane Alice Bob https://abcd10xyz9.execute-api.us-east-1.amazonaws.com/prod/@connections/connectionId
rights reserved. subscribe $disconnect unsubscribe $connect send Control Plane Data Plane Alice Bob https://abcd10xyz9.execute-api.us-east-1.amazonaws.com/prod/@connections/connectionId
rights reserved. $disconnect subscribe unsubscribe $connect send Alice Bob Control Plane Data Plane CallbackFactory Application https://abcd10xyz9.execute-api.us-east-1.amazonaws.com/prod/@connections/connectionId
rights reserved. $disconnect subscribe unsubscribe $connect send Alice Bob Control Plane Data Plane CallbackFactory Application https://abcd10xyz9.execute-api.us-east-1.amazonaws.com/prod/@connections/connectionId