Let's design an Uber like ride-hailing service, similar to services like Lyft, OLA Cabs, etc. ...
Let's design a Netflix like video streaming service, similar to services like Amazon Prime Video,...
Let's design a Twitter like social media service, similar to services like Facebook, Instagram,...
Let's design a Whatsapp like instant messaging service, similar to services like Whatsapp, Facebook...
Let's design a URL shortener, similar to services like Bitly, TinyURL. What is a URL...
System design is a very extensive topic and system design interviews are designed to evaluate your...
Let's briefly discuss some important communication security protocols such as SSL, TLS, and mTLS. I...
Single Sign-On (SSO) is an authentication process in which a user is provided access to multiple...
OAuth 2.0 OAuth 2.0, which stands for Open Authorization, is a standard designed to...
Before we discuss virtualization vs containerization, let's learn what are virtual machines (VMs) and...
Disaster recovery (DR) is a process of regaining access and functionality of the infrastructure after...
Let's briefly discuss SLA, SLO, and SLI. These are mostly related to the business and site...
Service discovery is the detection of services within a computer network. Service Discovery Protocol...
Rate limiting refers to preventing the frequency of an operation from exceeding a defined limit. In...
The circuit breaker is a design pattern used to detect failures and encapsulates the logic of...
Geohashing Geohashing is a geocoding method used to encode geographic coordinates such as...
Web applications were initially developed around a client-server model, where the web client is...
A good API design is always a crucial part of any system. But it is also important to pick the right...
The API Gateway is an API management tool that sits between a client and a collection of backend...
Command Query Responsibility Segregation (CQRS) is an architectural pattern that divides a system's...
Instead of storing just the current state of the data in a domain, use an append-only store to record...
Event-Driven Architecture (EDA) is about using events as a way to communicate within a system....
Monoliths A monolith is a self-contained and independent application. It is built as a...
An Enterprise Service Bus (ESB) is an architectural pattern whereby a centralized software component...
Similar to a message queue, publish-subscribe is also a form of service-to-service communication that...
A message queue is a form of service-to-service communication that facilitates asynchronous...
A message broker is a software that enables applications, systems, and services to communicate with...
N-tier architecture divides an application into logical layers and physical tiers. Layers are a way...
Federation (or functional partitioning) splits up databases by function. The federation architecture...
Let's first understand the problem we're trying to solve. Why do we need this? In...