AWS ReInvent: API Design takeaway

Following AWS Reinvent 2021 I’d like to share some of the golden nuggets I have taken away from the keynote regarding #apis ⁃ Primitives not frameworks (don’t build the kitchen sink, build small components) ⁃ Join small components to build larger complex systems ⁃ #APIs enable customer-centric innovation ⁃ Trying to create uniform APIs before you understand the… Read More »

Choosing the right message broker for an Event-Driven System (Apache Kafka vs RabbitMQ)

Intro So you have learned (see my prevoius posts/videos) about the pros and cons of event-driven architecture, and you are still are looking to start your journey by either incrementally strangling an existing system or using EDA for a greenfield project. In this post, I will introduce you to the concept of a broker and run you through… Read More »

What is Orchestration and how to implement orchestration in an event-driven system?

There is also a YouTube version of this post. I have linked to the video at the bottom of this post. Outline In this blog post, I’m going to be explaining.  What orchestration is Seven key points, where I will also be explaining one key difference when using orchestration in a asynchronous event-driven system compared to a synchronous… Read More »

How to prevent message loss when publishing events

Three techniques to prevent message loss One – Publish events synchronously the first technique you can take to prevent data loss. It is always to publish events synchronously, so you have to wait for the messaging platform to acknowledge that the message has been successfully published and persisted in the topic.  Do not publish events asynchronously. You do… Read More »

Stop making this API design mistake, stop returning just a value in your API responses. Always return an object | #API Design Tip

Web APIs SHOULD NOT just return a boolean, string or a number/integer value in the response body for any response. Take the following. If you have an operation which for a successful (2XX) creation operation, returns just the value of the new object’s identifier in the response body, like the below examples, then you are opening yourself to… Read More »

Event-Driven VS Request-Driven Architecture, User Registration Example (Pros & Cons)

Event-Driven VS Request-Driven Architecture, User Registration Example (Pros & Cons) In this post, I am running you through two different approaches for implementing a user registration process to share the trade-offs, the differences and the advantages and disadvantages between the two different architectural patterns. Note – This post is the written version of my YouTube Post of the… Read More »