Follow this blog

Software engineering, design, and psychology

Tag: series

26 posts

Auto-Scaling Groups and Load Balancers | Microservice Architecture — Ep. 25

The purpose of microservice architecture is durability and scalability. Durability means a service continues to serve requests during failures or peak traffic

Why API Gateways Became a Thing (Part 2) | Microservice Architecture — Ep. 24

The key feature of API Gateways is the access to all system requests, services they target, and outgoing responses

Why API Gateways Became a Thing (Part 1) | Microservice Architecture — Ep. 23

As we discussed earlier, microservices tend to accumulate a lot of repeated concerns unrelated to their responsibilities

Cross-Cutting Concerns in Microservices | Microservice Architecture — Ep. 22

Let’s return to our migration from a monolith. Imagine we’ve successfully split it into dozens of microservices

Micro-Frontends and the Illusion of Isolation | Microservice Architecture — Ep. 21

While the key idea behind micro-frontends is the same as for microservices — independent development and deployment — micro-frontend architecture presents very different problems

What are Micro-Frontends? | Microservice Architecture — Ep. 20

Historically, user-facing applications were rendered on the server — the same place where all logic resides

Team Autonomy That Actually Scales | Microservice Architecture — Ep. 19

As we learned in the previous episode, not every decision benefits from decentralization

Why You Don’t Want Complete Team Autonomy | Microservice Architecture — Ep. 18

Microservice team autonomy means freedom to choose technologies: languages, frameworks, databases, infrastructure

DRY vs Microservices: When Reuse Becomes a Liability | Microservice Architecture — Ep. 17

“Don’t Repeat Yourself” principle sits at the core of software engineering. We usually structure our code to have as few to changes as possible when requirements shift

Problems of the “One Database per Microservice” Approach | Microservice Architecture — Ep. 16

As discussed in the previous post, the proper approach of data ownership in microservice architecture is for each service to have its own database hidden behind a network API

One Microservice — One Database | Microservice Architecture — Ep. 15

The core idea of microservice architecture is decoupling: separate teams, codebases, lifecycles. Yet often it is still tempting to share a database between multiple services

How to Migrate from a Monolith to Microservices (Without Regretting It) | Microservice Architecture — Ep. 14

When an architectural change this big is agreed upon, it is natural to perform migration of the whole monolith at once

Where to Split? | Microservice Architecture — Ep. 13

A classic question when designing microservices: what defines a good boundary?

Principles Behind Good Microservice Boundaries | Microservice Architecture — Ep. 12

Imaging we have a patient data management system for hospital intensive care units (ICUs), built as a monolith

Problems of Monoliths in Growing Projects | Microservice Architecture — Ep. 10

When a project grows successfully, with time amount of code grows, and more devs are hired. This often leads to

It is Right to Start with a Monolith | Microservice Architecture — Ep. 9

Microservices have many benefits — but they are not a default choice for greenfield projects

Decomposition of ESBs into Cloud Services | Microservice Architecture — Ep. 8

Let’s revise what were the responsibilities of Enterprise Service Buses

Tech Background of the Early 2010s | Microservice Architecture — Ep. 7

The late 2000s to early 2010s marked the emergence of cloud computing. AWS and Google Cloud made on-demand compute available at scale

Earlier Ctrl + ↓