A presentation at Serverless Boston Meetup in in Boston, MA, USA by James Beswick
BOSTON MEETUP Amazon EventBridge: Everything serverless developers need to know James Beswick Senior Developer Advocate, AWS Serverless Amazon Web Services © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About me • James Beswick • • • • • • Email: jbeswick@amazon.com Twitter: @jbesw Senior Developer Advocate – AWS Serverless Serverless geek Software developer and PM activist Previously: • • • Multiple start-up tech guy Rackspace, USAA, Morgan Stanley, J P Morgan… AWS customer since 2012 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A serverless event bus service for SaaS and AWS services © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Topics for today © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monoliths and microservices Monolith Microservices Does everything Does one thing © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The end goal And do it faster © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Synchronous APIs 😐 😀 201 201 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecture v1 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecture v2 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Long-term architecture © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
[i-’vent] © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Events are observable, not directed © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What do we do with these arrows? © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event routers © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event routers in AWS AWS Service © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Characteristics
Event routers for fan out Event router © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Synchronous APIs 😀 201 201 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Downstream failures 😡 503 502 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Events are asynchronous © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Asynchronous events 😀 😐 201 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Asynchronous events 😀 😐 201 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
But wait, now the customer won’t get their invoice! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event-driven resiliency 🤬 201 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service X X © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service Event store © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service Event store © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service Event store © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service Event store © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Inside the invoice service Invoice service Event store © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event stores in AWS AWS Service Characteristics © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Final architecture © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Event routing and storing © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Bridging the gap AWS Cloud ? © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Polling AWS Cloud © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SaaS web hooks AWS Cloud © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Fully managed, pay-as-you-go • Native integration with SaaS providers • 90+ AWS services as sources • 17 AWS services as targets • $1 per million events put into the bus A serverless event bus service for SaaS and AWS services • No additional cost for delivery • Easily build event-driven architectures © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge AWS Lambda Default event bus Amazon Kinesis Custom event bus AWS Step Functions Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge Event sources AWS Lambda Default event bus Amazon Kinesis Custom event bus AWS Step Functions Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge AWS Lambda AWS services Default event bus Amazon Kinesis Custom events Custom event bus AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge Event buses AWS Lambda AWS services Default event bus Amazon Kinesis Custom events Custom event bus AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge AWS Lambda AWS services Default event bus Amazon Kinesis Custom events Custom event bus AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge AWS Lambda “detail-type”: “source”: “aws.partner/example.com/123”, AWS services Default event bus “detail”: Amazon Kinesis “ticketId”: “department”: Custom events Custom event bus “creator”: AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge “detail-type”: “source”: “source”: “aws.partner/example.com/123” AWS services AWS Lambda Default event bus “detail”: Amazon Kinesis “ticketId”: “department”: Custom events Custom event bus “creator”: AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge “detail-type”: “detail”: “source”: “aws.partner/example.com/123”, AWS services Default event bus AWS Lambda “department”: [“billing”, “fulfillment”] “detail”: Amazon Kinesis “ticketId”: “department”: Custom events”billing” Custom event bus “creator”: AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge “detail-type”: [“Ticket AWS Resolved”] Lambda “detail-type”: “Ticket Created” “source”: “aws.partner/example.com/123”, AWS services Default event bus “detail”: Amazon Kinesis “ticketId”: “department”: Custom events”billing”, Custom event bus “creator”: AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EventBridge Targets AWS Lambda AWS services Default event bus Amazon Kinesis Custom events Custom event bus AWS Step Functions SaaS apps Event source SaaS event bus Rules Additional targets © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EventBridge Integration Partners © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common use cases © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Onboarding a SaaS event source with EventBridge Your account - 111111111111 AWS account ID 111111111111 AWS Region us-east-1 SaaS partner account © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Onboarding a SaaS event source with EventBridge Your account - 111111111111 SaaS partner account © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Onboarding a SaaS event source with EventBridge Your account - 111111111111 SaaS partner account © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you! James Beswick Developer Advocate, AWS Serverless jbeswick@amazon.com @jbesw © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Described by Trek10 as “the biggest thing since AWS Lambda itself”, Amazon EventBridge is both an evolution in how AWS handles events, and a revolution for developers building serverless applications.
This session will cover what Amazon EventBridge does and how you use it in serverless architectures. It will show how events can make your serverless applications easier to write, debug and manage, and will use live code examples to show practical use-cases.