Hook

Their other posts in the index, biggest breakout first.
Every day, companies release software updates. Companies like Amazon, Netflix, Uber, and Spotify release software updates. Features appear, bugs get fixed, all without even noticing. Millions of people continue using these applications without even noticing. That is possible? One of the most popular architectural patterns behind it is called microservices. First, how applications were traditionally built. Let's first look at how applications were traditionally built. Imagine you are building an e-commerce application. In the beginning, it's fairly simple. Login, catalog, cart, orders, payments, all in one app. Everything inside a single project, deployed as one application. This type of architecture is called a monolith. For many applications, it is actually the best place to start. As the business grows, the application grows with it. More developers join the team, more features are added. The codebase becomes much larger, and then you discover a bug. Notification feature. A small bug. A few lines changed, but you still deploy the entire application. What actually happens? Lines changed. The entire application. One feature changed, but every feature is part of the same deployment. One deployment. Over time releases become slower and every change becomes riskier. Releases. Testing. Every change. Different teams working in the same codebase, where one change affects another. Get user, code base. Element: Login, Orders, Payments, Notifications. Accidentally. It's easier for one change to accidentally affect another feature. Exactly the problem microservices were designed to solve. The problem. Microservices. Designed to solve. Instead of building one large backend application that does everything, we divide it into multiple smaller backend applications. Backend applications. That does everything. Multiple smaller applications. Each one is responsible for a single business capability. Responsible for. A single business capability. For example, one service manages users, another processes payments. Manage users. Manage orders. Process payments. Manage inventory. Send notifications. Each of these independent applications is called a microservice. Independent application. Microservice.