EventBridge is a highly powerful AWS service that allows you to do things such as run scheduled lambda scripts, known as cron jobs, and implement Event Patterns, these are events that are triggered when a certain action happens, such as creating an SNS notification when an object is uploaded to an S3 bucket. You can trigger Lambda functions, send SQS and SNS messages, etc.
How it works is an AWS service, say EC2 for instance, has an event, that event is then passed through to EventBridge. The events can be filtered as well to only send certain events to EventBridge. A JSON document is then created which can be used to trigger events across many AWS services.
AWS utilizes different “Event Buses” to send information to EventBridge. AWS services will use the Default Event Bus. Some AWS partners are able to utilize the Partner Event Bus, which can allow these third party services to send events into EventBridge. Finally, there’s the Custom Event Bridge, this is utilized when you have a customer application you want to be able to create events for yourself in EventBridge.
You have the ability to access other Event Buses across AWS account by utilizing resource-based access control. You can then archive these events and then replay them at a later time to test their functionality. You are able to download code for your application via the Schema Registry to provide to your application so that the application knows how data is structured in the Event Bus and have the ability to utilize that data, EventBridge will infer schemas automatically as well. You can even send events to other Event Buses, so you may have multiple AWS accounts that send their events to a centralized Event Bus on another AWS account, RBAC will need to be set to allow this cross-account access though.