Czym jest AWS Event Bridge i w jakim celu można go zastosować? Czym się różni od SNS? Jak łatwo zintegrować się ze zdarzeniami z zewnętrznych usług? Jak wysyłać zdarzenia pomiędzy różnymi kontami AWS? Na te wszystkie pytania odpowiedzi znajdziecie w trakcie prezentacji Jakuba.
4. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
5. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
3. Differences between EventBridge, SQS and SNS
6. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
3. Differences between EventBridge, SQS and SNS
4. How to communicate with other AWS Accounts?
7. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
3. Differences between EventBridge, SQS and SNS
4. How to communicate with other AWS Accounts?
5. How to integrate EventBridge with Serverless Framework?
8. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
3. Differences between EventBridge, SQS and SNS
4. How to communicate with other AWS Accounts?
5. How to integrate EventBridge with Serverless Framework?
6. How to configure EventBridge to easily use 3rd party events?
9. Agenda
1. What is Event-driven communication?
2. What is Amazon EventBridge?
3. Differences between EventBridge, SQS and SNS
4. How to communicate with other AWS Accounts?
5. How to integrate EventBridge with Serverless Framework?
6. How to configure EventBridge to easily use 3rd party events?
7. Event archives and replays
20. Event-driven communication
Pros:
1. Producer doesn’t know about consumers and vice versa - less dependent
services
2. Asynchronous communication - fire and forget
3. It’s easy to add new consumers and remove existing ones
21. Event-driven communication
Pros:
1. Producer doesn’t know about consumers and vice versa - less dependent
services
2. Asynchronous communication - fire and forget
3. It’s easy to add new consumers and remove existing ones
Cons:
1. Managing distributed systems is hard - debugging is much harder
32. Default event bus
1. Created by default in AWS Account
2. Responsible for sending events from AWS Services
33. Default event bus
1. Created by default in AWS Account
2. Responsible for sending events from AWS Services
3. Previously named as Amazon Cloudwatch Events
36. Custom Event Bus
1. Created by the user in AWS Account
2. Responsible for sending custom events, not associated with AWS or with
AWS Partners applications
37. Custom Event Bus
1. Created by the user in AWS Account
2. Responsible for sending custom events, not associated with AWS or with
AWS Partners applications
3. Can be used to send events to different AWS accounts or regions
44. Scheduled standard rule
1. Does not contain event pattern which is validating incoming event
2. Contains scheduling pattern configured with rate or CRON-like expression
45. Scheduled standard rule
1. Does not contain event pattern which is validating incoming event
2. Contains scheduling pattern configured with rate or CRON-like expression
3. Sends an event to the target with configured schedule
47. Managed rule
1. Created only by AWS Services
2. You can delete them only with Force delete button, but it can provide issues
in the way how AWS Services are working
50. Targets
1. Resources where the events will be sent
2. Some of them require additional permissions defined in IAM policies
51. Targets
1. Resources where the events will be sent
2. Some of them require additional permissions defined in IAM policies
3. There is 28 types of targets to choose including: SQS, Lambda, SNS, Step
Functions and others
52. Targets
1. Resources where the events will be sent
2. Some of them require additional permissions defined in IAM policies
3. There is 28 types of targets to choose including: SQS, Lambda, SNS, Step
Functions and others
4. Some targets has additional properties to set during configuration
54. SQS vs SNS vs Event Bridge
SQS SNS Event Bridge
Consumers have to pull
messages
Pub-sub model Pub-sub model
55. SQS vs SNS vs Event Bridge
SQS SNS Event Bridge
Consumers have to pull
messages
Pub-sub model Pub-sub model
Single message can be
consumed only once, then
it gets removed from the
queue
1 message, multiple
consumers
1 message, multiple
consumers
56. SQS vs SNS vs Event Bridge
SQS SNS Event Bridge
Consumers have to pull
messages
Pub-sub model Pub-sub model
Single message can be
consumed only once, then
it gets removed from the
queue
1 message, multiple
consumers
1 message, multiple
consumers
Consumer is usually a
lambda or EC2 machine (or
on-prem machine)
Consumer can be: lambda,
SQS, email, mobile app
(push notification) and many
more
A lot of consumers, even
more event sources
(integration with external
3rd party services)
57. SQS vs SNS vs Event Bridge
SQS SNS Event Bridge
Consumers have to pull
messages
Pub-sub model Pub-sub model
Single message can be
consumed only once, then
it gets removed from the
queue
1 message, multiple
consumers
1 message, multiple
consumers
Consumer is usually a
lambda or EC2 machine (or
on-prem machine)
Consumer can be: lambda,
SQS, email, mobile app
(push notification) and many
more
A lot of consumers, even
more event sources
(integration with external
3rd party services)
Latency is less than 100ms Latency is less than 100ms Latency is about 600ms
70. SLS configuration - re-using an existing event bus
● support for native CloudFormation
● adds the ability to define event bus with CF intrinsic functions (e.g. Fn::Ref)
86. 1. ability to reprocess past events
Archive and Replay
87. 1. ability to reprocess past events
a. use cases?
Archive and Replay
88. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
Archive and Replay
89. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
Archive and Replay
90. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
2. you can archive all events or only some of them by applying custom filter (i.e. Event Bridge
rule)
Archive and Replay
91. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
2. you can archive all events or only some of them by applying custom filter (i.e. Event Bridge
rule)
3. guess - how long can you store events in archive?
Archive and Replay
92. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
2. you can archive all events or only some of them by applying custom filter (i.e. Event Bridge
rule)
3. guess - how long can you store events in archive?
a. indefinitely
Archive and Replay
93. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
2. you can archive all events or only some of them by applying custom filter (i.e. Event Bridge
rule)
3. guess - how long can you store events in archive?
a. indefinitely
4. you can reply all events or only the ones with the rules you specify
Archive and Replay
94. 1. ability to reprocess past events
a. use cases?
i. after a bug in the app was found (this assumes that your app can process the same
event multiple times)
ii. when you release a new feature, you can reprocess past events to reach of the
feature to past data
2. you can archive all events or only some of them by applying custom filter (i.e. Event Bridge
rule)
3. guess - how long can you store events in archive?
a. indefinitely
4. you can reply all events or only the ones with the rules you specify
5. you define a time frame
Archive and Replay