Member-only story
Modern-Day Architecture Design Patterns for Software Professionals
Circuit Breaker, CQRS, Event Sourcing, Sidecar, Backend-for-Frontend, and Strangler

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…