Member-only story

Modern-Day Architecture Design Patterns for Software Professionals

Circuit Breaker, CQRS, Event Sourcing, Sidecar, Backend-for-Frontend, and Strangler

Tanmay Deshpande
Better Programming
Published in
8 min readOct 12, 2020

--

Source — https://undraw.co/

Many modern-day applications need to be built at an enterprise scale, sometimes even at an internet-scale. Each application needs to meet scalability, availability, security, reliability, and resiliency demands.

In this article, I’m going to talk about some design patterns that can help you achieve the above-mentioned abilities with ease. I’ll be talking about each pattern, how to use that pattern in a cloud-native environment, and when to use it and when not.

Some of these patterns aren’t so new but are very useful in the current internet-scale cloud world.

Here’s the list of patterns I’ll be discussing in this article:

1. Circuit Breaker
2. Command and Query Responsibility Segregation (CQRS)
3. Event Sourcing
4. Sidecar
5. Backend-for-Frontend
6. Strangler

So let’s get started.

Circuit Breaker

Distributed systems should be designed by taking failures into consideration. These days the world has adopted microservices, and these services are mostly dependent on other remote services. These remote services…

--

--

Tanmay Deshpande
Tanmay Deshpande

Written by Tanmay Deshpande

I write about technology in simple words!

Responses (10)