Thomas Step

← Blog

I recently launched a Slack app! Install it here. I have extended the free trial to 6 months for a limited time. Feedback is welcome.

re:Invent: Building Next-Gen Applications With Event-Driven Architectures

This is an overview of a session that I went to during re:Invent 2021. I start by providing the notes I took during the session, and then I will give my take and comments if I have any at the end.

Wednesday 10:45

API304

Agenda:

Coupling: integration’s magic word

Looking at various asynchronous models

Synchronous request-response model

Asynchronous point-to-point (queue)

Asynchronous point-to-point (router)

Asynchronous message router model (event bus)

Event-driven architecture

Considerations with full-state descriptions

Choreograph events between domains - loose coupling

Orchestrate a business process within a domain resulting in a published event - tighter coupling

Better together: orchestration and choreography

Taco Bell guy takes the stage

Taco Bell’s order middleware (no-VPC app)

Used choreography approach

Then tried to use orchestration

Development process and CI/CD

Testing

Monitoring/observability

Cost optimization

Taco Bell and Robbie (the speaker) has a “This Is My Architecture” video

My notes:

Lambda powertools has been brought up in multiple sessions by now, so it would probably be worthwhile to familiarize myself with it. Unfortunately, it seems to only be written in Python for the time being, which is not what I normally write my side projects in.

I enjoyed learning about the distinctions between choreography and orchestration and when to use them. I have some experience with Eventbridge, but mostly I have worked with SNS for distributed messaging. Just another topic to add to my research backlog.

This was potentially my favorite session at re:Invent mostly because of Taco Bell’s presenter. I like real-world examples and I will definitely purposefully seek them out next year. I was excited when he mentioned that their workload was a no-VPC app. Going fully Lambda-based means that we can shed the overhead of a VPC. It is something that I brought up in my Guide To Building With Serverless AWS, so it was reassuring to also see it mentioned at a large engineering shop.

Categories: aws