The AWS Summit conference tour landed in New York two weeks ago which brought with it two key announcements to make the AWS faithful feel all warm and fuzzy inside. First was the general availability release of the Amazon Cloud Developer Kit (CDK) which allows developers to create and provision infrastructure deployments in languages they understand like TypeScript, JavaScript and Python. Next up was the unveiling of a new AWS service called EventBridge which has really created a spark of excitement in the community. Some see EventBridge as the greatest thing to happen to serverless since the introduction of Lambda. Others see it as simply the next step for CloudWatch Events. It is time to dive into EventBridge to determine exactly what it is, what value it adds to the AWS cloud and how it is used.
What is EventBridge?
At its core, EventBridge is a management layer coordinating events between serverless modules. It accomplishes this using an event bus with a rules driven router. For those who haven’t worked with event bus, it is a method for one component to publish an event while another component receives it without the two being directly coupled. Event bus isn’t a new concept. AWS supported this through CloudWatch Events since January 2016. In fact, EventBridge effectively is CloudWatch Events with a new label slapped on it.
How has CloudWatch Events Evolved with EventBridge?
EventBridge builds on top of CloudWatch Events using the same service API and endpoint. Essentially, CloudWatch Events has gotten called up to the big leagues. CloudWatch Events will remain as its own service in AWS, but over time the name will eventually be swapped out for EventBridge. Functionally, the underlying plumbing won’t change. Amazon used CloudWatch Events as the basis for EventBridge because it was already a fantastic option for creating a custom event bus with complex routing. It just needed to make that next leap to seamlessly connect data from SaaS providers and custom applications.
What are the Benefits of EventBridge?
This could be a game changer. If webhooks are getting scrapped in favor of a more integrated communication model, that is a welcomed change which offloads considerable work for developers. This means data is more secure as AWS handles the integration with the partner. That direct link also translates into improved speed and high availability. This decoupled pattern makes testing modules easier. Setup is also a breeze. In effect, the user configures events to be sent from the SaaS provider that are then accepted within the EventBridge console. All that is left is to establish the rules engine, informing EventBridge what gets invoked when each rule is triggered. All that happens with no coding involved.
What Partners Support EventBridge?
If there is a knock on EventBridge, it is how thin the partner list is at launch. Ten SaaS partners have signed on at this point which include:
- DataDog
- OneLogin
- PagerDuty
- Saviyant
- Segment
- SignalFx
- SugarCRM
- Symantec
- Whispir
- ZenData
The documentation on Amazon’s site says that partners can get up and running in as little as five days. If onboarding really is that easy, it begs the question why isn’t there wider adoption at this point. Surely these numbers will grow as the service matures, but it is a very curious limitation that makes it hard to declare that the revolution in serverless is here.
Any Examples of EventBridge Getting Triggered by a SaaS Partner?
PagerDuty is a real-time incident response platform. Machine data and human intelligence pair up to improve the businesses’ ability to see and respond to critical issues. When looking at how the two might work together, PagerDuty could flag an issue which sends an alert to EventBridge. EventBridge uses its rule set to invoke a Lambda function. That function would grab runbooks and throw the details back over to PagerDuty. Other examples of PagerDuty working with EventBridge might include compliance violations and security remediation.
How to Set Up a Rule in EventBridge?
As mentioned above, setup is painfully simple. Once in the EventBridge console in AWS, click the create rule button to start walking through the setup. In the example below, event pattern has been selected, but there is also the option to invoke targets on a schedule. Next, define the event matching pattern as well as the service provider (AWS, service partners or all events). If AWS is selected, there are 90 plus services available to send events to EventBridge. Don’t overlook the event pattern which selects the events and properly routes them to their targets.
That covers the ingest and filter aspects of EventBridge. Lastly, the service bus and target destination must be determined. There are fifteen targets that can be defined like Lambda functions, SNS topic, SQS queue, Kinesis stream and many others. Amazon outlines a dozen tutorials for how to get up-and-running with EventBridge like scheduling automated deployments with CodeDeploy or logging state changes to EC2 instances.
EventBridge is an exciting addition to the AWS service catalog. Having the ability to seamlessly integrate with a SaaS provider with easy setup and zero coding in a way that enhances security, performance and testing is a huge win. The only concern lies with the limited adoption by SaaS providers at this point. The ten partners represent a great start, but there needs to be more. For this to be truly transformative, there needs to be buy-in across the spectrum of SaaS providers. There are some standards in this space still being ironed out so that could definitely be limiting a wider adoption. It’s too early to say. The promise is there with EventBridge, and it should be interesting to see how things unfold around this product in the months and years to come.