NEWS AND RESOURCES

AWS Event-Driven Architecture Overview with Blue Sentry Cloud CTO Todd Bernson

bluesentrycloud / October 4, 2023


Event-driven architecture is a design pattern that allows systems to respond to specific events that occur within the system or external to it.

This architecture pattern is based on the principles of event-driven programming, where the system is designed to respond to specific events such as a user clicking a button, a sensor detecting a change, or a message arriving from another system.

Event-driven architecture is widely used in modern software systems from web applications to IoT devices and it's an important tool for building scalable flexible and responsive systems.", "thumbnailUrl": "", "uploadDate": "2023-02-02", "duration": "PT6M18S", "contentUrl": "https://bluesentry.cloud/blog/aws-event-driven-architecture/", "embedUrl": "https://www.youtube.com/embed/SkikA6N90tU?si=8xehZGFhJ6MEqkZ9" }

AWS Event-Driven Architecture Overview

Hi, I’m Todd Bernson – CTO at Blue Sentry Cloud and an AWS Ambassador with 12 AWS certifications.

 

I’m often asked by executives to explain Cloud-native architectures so I’ve put together a multi-part series explaining common patterns and technical jargon like container orchestration, streaming applications, and event-driven architectures.

 

In this installment, I’ll be breaking down another common Cloud-native application architecture.

 

Event-driven architecture is a design pattern that allows systems to respond to specific events that occur within the system or external to it.

 

This architecture pattern is based on the principles of event-driven programming, where the system is designed to respond to specific events such as a user clicking a button, a sensor detecting a change, or a message arriving from another system.

 

Event-driven architecture is widely used in modern software systems from web applications to IoT devices and it’s an important tool for building scalable flexible and responsive systems.

 

AWS provides serverless compute in the form of AWS Lambda.

 

An example of an event-driven system is the game mousetrap.

 

In the game players take turns rolling the dice and moving their game piece around the board.

 

As the game piece moves around the board it triggers different events such as landing on a specific space, passing a certain point, or hitting a trap.

 

These events are what Drive the game and determine what actions the players can take and what happens next.

 

In the game, the event-driven architecture is implemented through the game board and its various components.

 

The game board is the central hub of the system and it is responsible for handling the events that occur during the game.

 

the game pieces, dice and traps are all connected to the game board and send events to it. 

 

When they are triggered, the game board then responds to these events by updating the game’s State sending messages to the players, and triggering other events.

 

Our example is a simple one – we have a serverless application running on AWS Lambda that I’m going to deploy now.

 

We can do this by simply running, initializing, and applying the terraform code in the repository shared underneath this video. 

 

I’m going to fast-forward all the way through until everything is applied and built.

 

We can see in our plan here that we are creating four things – let’s look at what those are.

 

We’re creating a role for the Lambda function to use, we’re creating a policy to attach to that role, we are creating the actual Lambda function itself, and we’re creating a URL so that we can access that function.

 

Apply should go really quickly. We can see as our output here we have a website to go to Let’s copy and paste that into our web browser. 

 

We’ll just paste that link right here and we can see that we are serving up Todd’s serverless web page

 

We could have this trigger another serverless action, another event-driven action that queries a database, that puts something into a database, that displays something from Tableau or a myriad of other things, and it can all be done event driven and serverlessly.

 

So if no one hits my site it costs me nothing. However, if my site becomes incredibly popular I can instantly serve thousands of hits per second due to its serverless nature.

Another benefit of using an event-driven architecture in the game is that it allows for a high degree of responsiveness.

 

As events occur the game board is able to respond in real time providing an engaging and interactive experience for the players.

 

This allows the game to remain dynamic and engaging even as the player’s strategies and tactics change.

 

In conclusion, event-driven architecture is a powerful design pattern that is widely used in modern software systems.

 

It allows systems to respond to specific events that occur within the system or external to it providing a high degree of flexibility and scalability.

 

The game mousetrap is a great example of how event-driven architecture can be used to create engaging and interactive systems.

 

Using things like AWS Lambda it shows how events can drive the game and determine what actions the players can take and what happens next.

 

By using event-driven architecture the game remains dynamic, engaging, and interactive providing an enjoyable experience for the players.

 

Contact Blue Sentry Cloud for Cloud Strategy Services

Blue Sentry Cloud is the country’s most densely certified Cloud firm and we would like to serve you.

Contact Us