Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS Webinar Series - Developing and Implementing APIs at Scale

915 views

Published on

APIs are evolving and changing the way developers build. Essential to any sort of application, they are driving our increasingly interactive and integrated software world. The technology stack you choose for the APIs that will power your applications need to ensure interoperability, scalability, reliability, security, performance and global reach to provide a great experience for both developers and customers. AWS Serverless Technologies inherently tick all of these boxes while removing the undifferentiated heavy lifting of maintaining and operating different types of application backends. AWS offers a number of tools and services that can help not just in creating and operating the APIs, but also in building a community around them.

In this webinar we discuss some of the latest releases and new features in the AWS Serverless ecosystem that can help supercharge your APIs at scale as well as discuss architectural patterns, deployment tools, implementation concepts, technologies (REST/GraphQL) and services for different use cases with different event sources such as data streams (Amazon Kinesis), queues (Amazon SQS), notifications (Amazon SNS) and others.

We also have a very special guest: Vanessa Thornton. Vanessa is a Senior Engineer in the Developer Ecosystem team at Xero. Xero builds beautiful accounting software and a platform for small business. Started in New Zealand in 2006, they have grown to more than 1 million subscribers. They also have a thriving API ecosystem with over 700 certified partners and 40,000 developers building to their platform. They are now one of the fastest growing SaaS companies globally. Xero will share their experience and use case building and implementing APIs at scale on AWS using Serverless Technologies.

This was part of the AWS Webinar Series in Australia & New Zealand and presented originally in October 2018.

AWS Webinar Series - Developing and Implementing APIs at Scale

  1. 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Ed Lima – Solutions Architect, AWS Vanessa Thornton – Senior Developer, Xero October 2018 Developing and Implementing APIs at Scale, the Serverless Way
  2. 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Agenda • Building your API • REST APIs and GraphQL APIs on AWS • Securing your API • Serverless API Backends with AWS Lambda • Going Global with Serverless APIs • Developer Tools • Real world API at Scale use case with Xero
  3. 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark https://www.flickr.com/photos/arbron/7213225316 “Software is Eating the World” – Marc Andreessen “APIs are Eating Software” – Dr. Steve Willmott
  4. 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Building your API https://secure.flickr.com/photos/spenceyc/7481166880
  5. 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark InternetMobile/Web apps Databases/ Data stores Basic API Technology Stack Fail Over Load Balancers Web/Application Servers Message Buses Workers ?API backend ?API “server”
  6. 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark InternetMobile/Web apps AWS Basic API Technology Stack ?API backend ?API “server” Databases/ Data stores Auto Scaling Availability Zones Fail Over Load Balancers Web/Application Servers Message Buses Workers
  7. 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark API Management Challenges Managing multiple versions and stages of an API is difficult. Monitoring third-party developers’ access is time consuming. Access authorization is a challenge. Traffic spikes create an operational burden. Dealing with increased management overhead
  8. 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Introducing Amazon API Gateway Create a unified API front end for multiple microservices Authenticate and authorize requests to a backend DDoS protection and throttling for your backend Throttle, meter, and monetize API usage by third-party developers
  9. 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ?InternetMobile/Web apps AWS Basic API Technology Stack - REST API backend Databases/ Data stores API Gateway
  10. 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon API Gateway API Gateway Integrations
  11. 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Mobile Apps Websites Services Amazon API Gateway API Gateway Cache Public Endpoints on Amazon EC2 Amazon CloudWatch Monitoring All publicly accessible endpoints Lambda Functions Endpoints in VPC Applications & Services in VPC Any other AWS service Fully-managed CloudFront Distribution Edge-OptimizedRegionalPrivate Customer-managed CloudFront Distribution Applications & Services in the same AWS Region AWS Direct Connect On-premises API Gateway Integrations NEW
  12. 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Mobile Apps Websites Services Amazon API Gateway API Gateway Cache Amazon CloudWatch Monitoring Applications & Services in VPC Fully-managed CloudFront Distribution Edge-OptimizedRegionalPrivate Customer-managed CloudFront Distribution Applications & Services in the same AWS Region Public Endpoints on Amazon EC2 All publicly accessible endpoints Lambda Functions Endpoints in VPC Any other AWS service AWS Direct Connect On-premises API Gateway Backend Integrations
  13. 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark “A one size fits all database doesn’t fit anyone” Werner Vogels
  14. 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark What Is GraphQL? Describe what’s possible with a type system Uniform API across data stores and APIs Network optimized requests and responses Powerful developer tools Integrated documentation and introspection Query language for your API and a runtime for fulfilling queries with existing data
  15. 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Managed Serverless GraphQL service Connect to data sources in your account Add data sync, real-time and offline capabilities for any data source or API GraphQL façade for any AWS service Conflict detection and resolution in the cloud Enterprise security features: IAM, Cognito, OIDC, API keys Introducing AWS AppSync
  16. 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ?InternetMobile/Web apps AWS Basic API Technology Stack - GraphQL API backend AppSync Databases/ Data stores
  17. 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark AppSync Integrations Internet Mobile Apps Websites Services AWS Lambda functions Amazon DynamoDB Amazon CloudWatch Monitoring AWS AppSync All publicly HTTP/S accessible endpoints Amazon Elasticsearch Amazon RDS Amazon EC2 Any other AWS service NEW WebSockets WebSockets
  18. 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Internet Mobile Apps Websites Services Amazon CloudWatch Monitoring AWS AppSync AppSync Backend Integrations AWS Lambda functions Amazon DynamoDB All publicly HTTP/S accessible endpoints Amazon Elasticsearch Amazon RDS Amazon EC2 Any other AWS service NEW
  19. 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Internet Mobile Apps Websites Services Amazon CloudWatch Monitoring AWS AppSync AppSync Backend Integrations AWS Lambda functions Amazon DynamoDB Amazon Elasticsearch Amazon RDS Amazon EC2 Any other AWS service API Gateway
  20. 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark InternetMobile/Web apps AWS Databases/ Data stores Basic API Serverless Technology Stack - GraphQL AWS Lambda functions AppSync Amazon DynamoDB
  21. 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Use GraphQL Use REST When data drives UI • Structured Data • Complex Data • Query-driven • Real-time/Offline Client-driven development Pros: Contract-driven, Introspection, Relations, Types Conns: Not as ubiquitous as REST When you leverage HTTP • Caching • Content Types • Hypermedia (HATEOAS) For Resources (e.g. Kinesis) Pros: HTTP Client, Golden Standard, HTTP/2 Performance gains Conns: Over fetching/Under fetching GraphQL or REST?
  22. 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Bottom Line: It depends on the use case and, most importantly… GraphQL or REST? Good API Design!
  23. 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark 1. REST and GraphQL are totally different 2. GraphQL isn't a magic bullet, nor is it "better" 3. You can definitely use both at the same time 4. GraphQL is dope if used for the right thing https://philsturgeon.uk/api/2017/01/24/graphql-vs-rest-overview/ “ ” GraphQL or REST?
  24. 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Secure your API https://www.flickr.com/photos/modernrelics/1093797721/
  25. 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Basic Serverless API Technology Stack Places where we can secure our Application InternetMobile/Web apps AWS Databases/ Data stores API Gateway AWS Lambda functions
  26. 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Edge Security InternetMobile/Web apps API Gateway (Regional Endpoint) Amazon CloudFront AWS WAF https://aws.amazon.com/blogs/compute/protecting-your-api-using-amazon-api-gateway-and-aws-waf-part-i/ https://aws.amazon.com/blogs/compute/protecting-your-api-using-amazon-api-gateway-and-aws-waf-part-2/
  27. 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon API Gateway Security Several mechanisms for adding AuthN/AuthZ to our API: • IAM Permissions • Use IAM policies and AWS credentials to grant access • Custom Authorizers • Use Lambda to validate a bearer token (OAuth or SAML as examples) or request parameters and grant access • Cognito User Pools • Create a completely managed user management system
  28. 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark AWS AppSync Security Several mechanisms for adding AuthN/AuthZ to our API: • IAM Permissions • Use IAM policies and AWS credentials to grant access • Cognito User Pools • Create a completely managed user management system • OpenID Connect (OIDC) • External OpenID Connect provider
  29. 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon EC2 Amazon Elastic Container Service (ECS) Amazon EKS AWS FargateALBE/NLB Auto Scaling API Backend - AWS Compute Services AWS Lambda
  30. 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark InternetMobile/Web apps AWS Databases/ Data stores Basic API Serverless Technology Stack - REST API Gateway AWS Lambda functions
  31. 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark No servers to provision or manage Scales with usage Never pay for idle Availability and fault tolerance built in Serverless means…
  32. 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Infrastructure Network Machine / Instance Operating System Application
  33. 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Infrastructure Network Instance Operating System Application AWS
  34. 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SERVICES (ANYTHING) Changes in data state Requests to endpoints Changes in resource state EVENT SOURCE FUNCTION Node.js Python Java C# Go Power Shell Serverless Applications NEW
  35. 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Lambda Execution Model Synchronous (push) Asynchronous (event) Stream-based (pull) Amazon API Gateway AWS Lambda function Amazon DynamoDBAmazon SNS /order AWS Lambda function Amazon S3 reqs Amazon Kinesis changes AWS Lambda service function
  36. 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Amazon S3 Amazon DynamoDB Amazon Kinesis Data Streams Amazon Simple Notification Service Amazon Simple Email Service Amazon Simple Queue Service Amazon Cognito AWS CloudFormation AWS AppSync Lambda Event Sources Amazon CloudWatch Logs Amazon CloudWatch Events AWS CodeCommit Scheduled Events AWS Config Amazon Alexa Amazon Lex Amazon API Gateway AWS IoT Amazon CloudFront Amazon Kinesis Data Firehose
  37. 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Lambda Event Sources Amazon S3 Amazon DynamoDB Amazon Kinesis Data Streams Amazon Simple Notification Service Amazon Simple Email Service Amazon Simple Queue Service Amazon Cognito AWS CloudFormation AWS AppSync Amazon CloudWatch Logs Amazon CloudWatch Events AWS CodeCommit Scheduled Events AWS Config Amazon Alexa Amazon Lex Amazon API Gateway AWS IoT Amazon CloudFront Amazon Kinesis Data Firehose
  38. 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark 1. Message inserted into to a queue message Amazon SQS Lambda function 3. Function removes message from queue 2. Lambda polls queue and invokes function Amazon SQS + Lambda Simple, flexible, fully managed message queuing service for reliably and continuously exchanging any volume of messages from anywhere Processed in batches At least once delivery Visibility timeout allows for handling of failures during processing NEW
  39. 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Lambda function 2. Lambda invoked SNS Topic 1. Data published to a topic Data Amazon SNS + Lambda Simple, flexible, fully managed publish/subscribe messaging and mobile push notification service for high throughput, highly reliable message delivery Messages are published to a Topic Topics can have multiple subscribers (fanout) Messages can be filtered and only sent to certain subscribers
  40. 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Lambda function 2. Lambda polls stream Amazon Kinesis Stream 1. Data published to a stream 3. Kinesis returns stream data Data Amazon Kinesis Streams + Lambda Fully managed, highly scalable service for collecting and processing real-time data streams for analytics and machine learning Stream consists of shards with a fixed amount of capacity and throughput Lambda receives batches and potentially batches of batches Can have different applications consuming the same stream
  41. 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Going Global
  42. 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Global Active-Active Serverless APIs https://read.acloud.guru/building-a-serverless-multi-region-active-active-backend-36f28bed4ecf https://myglobal.api.com
  43. 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Global Active-Active Serverless APIs https://read.acloud.guru/build-a-cost-effective-mobile-backend-for-scale-and-security-4c0c143e898c
  44. 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Where do you .. https://secure.flickr.com/photos/stevendepolo/5749192025/
  45. 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark AWS CloudFormation Declarative templates of your resources Manages AWS resources based on dependencies Manage with Source Control
  46. 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Meet SAM!
  47. 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SAM Template AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: Handler: app.lambda_handler Runtime: nodejs8.10 Events: Add: Type: Api Properties: Path: / Method: get Environment: Variables: TABLE_NAME: !Ref Table Table: Type: AWS::Serverless::SimpleTable
  48. 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SAM Template AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: Handler: app.lambda_handler Runtime: nodejs8.10 Events: Add: Type: Api Properties: Path: / Method: get Environment: Variables: TABLE_NAME: !Ref Table Table: Type: AWS::Serverless::SimpleTable Lambda Function
  49. 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SAM Template AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: Handler: app.lambda_handler Runtime: nodejs8.10 Events: Add: Type: Api Properties: Path: / Method: get Environment: Variables: TABLE_NAME: !Ref Table Table: Type: AWS::Serverless::SimpleTable API Gateway API
  50. 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SAM Template AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: Handler: app.lambda_handler Runtime: nodejs8.10 Events: Add: Type: Api Properties: Path: / Method: get Environment: Variables: TABLE_NAME: !Ref Table Table: Type: AWS::Serverless::SimpleTable DynamoDB Table
  51. 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark SAM Commands: Easier Deployment Package •Creates a deployment package (.zip file) •Uploads deployment package to an Amazon S3 Bucket •Adds a CodeUri property with S3 URI Deploy •Calls CloudFormation ‘CreateChangeSet’ API •Calls CloudFormation ‘ExecuteChangeSet’ API
  52. 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Transformed Template
  53. 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark AWS Amplify CLI
  54. 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark APIGW Lambda DynamoDB Amazon DynamoDB API Gateway AWS Lambda
  55. 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
  56. 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark GraphQL Transformer type Post { id: ID! content: String description: String ups: Int downs: Int } NEW
  57. 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark GraphQL Transformer Amazon DynamoDB type Post @model { id: ID! content: String description: String ups: Int downs: Int } createPost readPost updatePost deletePost AWS AppSync
  58. 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark GraphQL Transformer Amazon DynamoDB type Post @model @auth(rules: [{allow: owner}]){ id: ID! content: String description: String ups: Int downs: Int } Amazon Cognito User Pools mutations queries createPost readPost updatePost deletePost AWS AppSync
  59. 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark GraphQL Transformer Amazon DynamoDB type Post @model @auth(rules: [{allow: owner}]) @searchable{ id: ID! content: String description: String ups: Int downs: Int } Amazon Elasticsearch searchPosts Amazon Cognito User Pools mutations queries createPost readPost updatePost deletePost AWS AppSync https://medium.com/open-graphql/create-a-multiuser-graphql-crud-l-app-in-10-minutes-with-the-new-aws-amplify-cli-and-in-a-few-73aef3d49545
  60. 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Local Development SAM CLI (Node.js, Java, Python, Go, .NET Core) Amplify CLI (Node.js)
  61. 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark A Scalable Serverless API Use Case
  62. 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Buildingserverless applicationsat scale
  63. 63. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark The Challenge Build asolution that handleslargeamountsof data, scalesat thedrop of ahat and also reducestheload on our public API
  64. 64. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● TheXero API serves115million callsper week. That averagesout to be16 million callsaday. ● Alargenumber of callsinto theAPI are HTTPGet requests. Creatinga‘polling effect’. ● Thiscaused unnecessary load on our gateway and upstream API’s. ● Thispattern wasnot sustainablenor scalable. The Problem Picturecredits LornaMitchell
  65. 65. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Weneeded away to effortlessly scaleand respond to thepeaksand troughsof dataflow ● Provideour appswith anotification when an end user makesachange in near real-time. ● Follow industry standards, not re-invent thewheel. Architecture Challenges
  66. 66. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark The Solution Implement webhookson Xero’spublic API
  67. 67. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark“Don’t call us, we’ll call you!”
  68. 68. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Awebhook isaway to provide applicationsdatain near real-timevia HTTPpost. ● Dataimmediately arrivesafter a change hasoccurred in theoriginatingsystem. ● Webhooksaremoreefficient for both theprovider and theconsumer. ● Reduction in polling. Webhooks Picturecredits LornaMitchell
  69. 69. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Weneeded away to effortlessly scaleand respond to thepeaksand troughsof dataflow ● Provideour appswith anotification when an end user makesachange in near real-time. ● Follow industry standards, not re-invent thewheel. Architecture Challenges
  70. 70. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Registering For Events
  71. 71. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Dispatching of Events
  72. 72. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Storage of Events
  73. 73. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Delivery of Events
  74. 74. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Weneeded away to effortlessly scaleand respond to thepeaksand troughsof dataflow ● Provideour appswith anotification when an end user makesachange in near real-time. ● Follow industry standards, not re-invent thewheel. Architecture Challenges
  75. 75. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● How to secureour payloads ● How do handle‘misbehavingapps’ so they don’t affect delivery and causebottlenecks ● How do wehandleretriesfor unsuccessful deliveries ● PerformanceTesting Development Challenges
  76. 76. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Wedeliver eventsto apps within 10secondsof a changeoccuringin Xero ● Wehaveover 470active subscriptions ● Deliveringon average30 million eventsamonth/ 1.5 million webhook batches How isit performing
  77. 77. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark ● Updatingour delivery system to betriggered off SQSinstead of a CloudWatch event timer. ● Moreevent types ● Support for MultipleURLs What isnext?
  78. 78. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark
  79. 79. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Come join us across 6 cities in Australia and New Zealand for the Serverless Workshops: Wild Rydes! Build an innovative unicorn transportation service using AWS Lambda, AWS Step Functions, Amazon DynamoDB, Amazon API Gateway, and Amazon Kinesis to get people to their destination faster and hassle-free. Challenge yourself with your peers and enjoy a free day of learning, food and networking. Register (spots are limited in each city): https://splashthat.com/sites/view/aws-serverlessworkshop-wildrydes.splashthat.com 23 Oct: Perth 25 Oct: Auckland 26 Oct: Wellington 29 Oct: Melbourne 30 Oct: Brisbane 30 Oct: Sydney
  80. 80. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Q&A
  81. 81. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark Thank you!

×