Amazon EventBridge is a serverless event bus that enables real-time exchange of data based events between different applications – be it your applications, AWS Services, or integrated SaaS (Software-as-a-Service) applications.
Key Elements of Amazon EventBridge
Event
An event represents a change-occurrence of data or environment in source application (your application, or AWS service, or integrated SaaS application)
- Events are defined in JSON structure.
- You can apply filters on events to appropriate routing to target applications or services.
Event Bus
An Event Bus is a brokering channel that receives, apply rules and then sends out the events.
- Your account has one default Event Bus, and you can create custom Event Bus(es)
Sources (Producers) and Targets (Consumers)
A Source is an application that generates an event and sends to Event Bus.
- Source application can be yours, AWS services, or integrated SaaS applications
A Target is an application to which Event Bus routes an event to, based on configured rules.
- Target application is typically your application, or applicable AWS service
Schema
A Schema represents the structure of an event, including title and other event specific information.
Schema Registry
EventBridge Schema Registry stores event structure (or schema) in a shared central location and maps those schemas to code for Java, Python, and Typescript so it’s easy to use events as objects in your code.
- This also allows for easy search and access by different teams and developers within your organization.
- You can turn on Schema Discovery for the event bus to allow automatic schema discovery of the events, and then addition registry.
- Schemas for AWS services as well as (already) integrated SaaS applications are made visible to you when you turn on schema discovery.
Following diagram shows simplified view of how Amazon EventBridge works:
Image courtesy of AWS
Key Points
- Purpose of EventBridge is to make it easy to build even-driven applications, by taking care of:
- Event ingestion and delivery
- Filtering (using rules)
- Security
- Error Handling
- EventBridge is a fully managed service, built on top of CloudWatch Events (using the same service API and endpoint, and the same underlying service infrastructure).
- Using routing rules, you can configure where to send incoming data.
- Typical latency between sending and receiving an event is about half a second.
- You can monitor your event bus using CloudWatch metrics, along with CloudWatch to further analyze.
- You can use SAM CLI and “EventBridge Starter App” template to automatically generate an application with Lambda Function invoked by EventBridge (for the associate event).
- Code may be generated in Java, Python, or Typescript.
- EventBridge is GDPR, SOC, ISO, DoD CC SRG, and FedRamp compliant and HIPAA-eligible.
Sample list of SaaS applications that are integrated with EventBridge:
- Auth0
- Datadog
- Kloudless
- MongoDB
- OneLogin
- Atlassian Opsgenie
- Shopify
- Site24x7
- SugarCRM
- Symantec
- Zendesk
Pricing
EventBridge is billed for following components:
- Events published to Event Bus – per million
- Events generated from AWS services are free
- Events ingested by Schema Discovery – per million
- First 5 million per month are free
External Resources