From Monolith to Microservices: How Application Architecture Evolves

This article traces the evolution of application architectures—from vertical monolithic designs through RPC and SOA to modern microservices—explaining the motivations, key characteristics, deployment patterns, and trade‑offs of each approach for scalable, maintainable backend systems.

21CTO
21CTO
21CTO
From Monolith to Microservices: How Application Architecture Evolves

Overview

As business grows and projects scale, rapid iterative development demands an evolving architecture focused on service‑oriented transformation and governance. Decoupling service consumers from providers improves reuse, reduces duplicate work, enhances system reliability, and boosts team collaboration.

Below is a diagram of the architectural evolution.

1. Vertical (Monolithic) Architecture

Typical in early stages with single‑function, low‑traffic applications, it follows the classic MVC three‑tier model: view (presentation), controller (request dispatch), and model (business logic).

Characteristics: high maintenance cost, low deployment efficiency, poor team collaboration, reduced reliability (a single process failure can crash the whole node), and longer feature‑release cycles due to tight coupling.

2. RPC Architecture

Remote Procedure Call (RPC) enables process‑level communication, allowing callers to invoke remote services as if they were local. Popular open‑source RPC frameworks include Apache Thrift, Avro‑RPC, Hessian, and gRPC (HTTP/2 + protobuf).

In Java, RPC relies on serialization, socket communication, dynamic proxies, and reflection. Its three core components are:

Service Provider – defines and implements service interfaces on the server side.

Service Publisher – registers the local service as remotely callable.

Local Service Proxy – runs on the client, forwards calls to the remote service and returns results.

Characteristics: simple, efficient, and generic, forming the foundation for SOA. However, configuration can be cumbersome, load balancing is not built‑in, and tracing call relationships may be difficult.

3. SOA Architecture

Service‑Oriented Architecture (SOA) introduces coarse‑grained, service‑centric design with features such as automatic discovery, built‑in load balancing, autonomous services, and orchestration. Widely used frameworks include Dubbo/Dubbox, HSF, DSF, Coral Service, and Spring Cloud.

Dubbo’s official documentation is a recommended read for distributed service frameworks.

With a service registry, SOA achieves automatic service discovery, unified configuration, configurable routing, fault‑tolerant clustering, and comprehensive service governance (runtime control, lifecycle management, monitoring, security, and rapid fault location), greatly easing operations.

4. Microservice Architecture

Microservices are an evolution of SOA with finer‑grained services, containerized deployment, agile delivery, and automated operations. They maximize resource utilization and support DevOps practices.

In summary, the article outlines the macro‑level progression of backend architectures, setting the stage for deeper exploration in future posts.

Source: http://www.jianshu.com/p/2837a32ce39f
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Backendsoftware designservice-oriented
21CTO
Written by

21CTO

21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.