2026-03-07 14:45 Tags: Technical Literacy

https://www.redhat.com/en/topics/api/what-are-application-programming-interfaces

The 2 architectural approaches that use remote APIs most are service-oriented architecture (SOA) and microservices architecture. SOA, the oldest of the 2 approaches, began as an improvement to monolithic apps. Whereas a single monolithic app does everything, some functions can be supplied by different apps that are loosely coupled through an integration pattern, like an enterprise service bus (ESB).

While SOA is, in most respects, simpler than a monolithic architecture, it carries a risk of cascading changes throughout the environment if component interactions are not clearly understood. This additional complexity reintroduces some of the problems SOA sought to remedy.

Microservices architectures are similar to SOA patterns in their use of specialized, loosely coupled services. But they go even further in breaking down traditional architectures. The services within the microservices architecture use a common messaging framework, like RESTful APIs. They use RESTful APIs to communicate with each other without difficult data conversion transactions or additional integration layers. Using RESTful APIs allows, and even encourages, faster delivery of new features and updates. Each service is discrete. One service can be replaced, enhanced, or dropped without affecting any other service in the architecture. This lightweight architecture helps optimize distributed or cloud resources and supports dynamic scalability for individual services.


1. First: the starting point — Monolithic architecture

Before SOA or microservices, most software looked like this:

One giant application

Example system:

E-commerce app

Inside it:

User login
Product catalog
Payments
Inventory
Shipping
Analytics

Everything is inside one codebase and one deployable program.

[ Monolithic App ]
   ├ user module
   ├ payment module
   ├ inventory module
   ├ shipping module

Problem

If you change one thing:

  • the whole system must be redeployed

  • bugs can break unrelated features

  • scaling is difficult

Example:

If checkout traffic increases, you must scale the entire system, not just payments.


2. SOA (Service-Oriented Architecture)

SOA was the first attempt to break the monolith.

Instead of one giant program, you split functions into services.

Example:

User service
Payment service
Inventory service
Shipping service

Architecture:

User App
   │
   ▼
Enterprise Service Bus (ESB)
   │
   ├ Payment Service
   ├ Inventory Service
   ├ Shipping Service

The key component is the ESB (Enterprise Service Bus).

Think of it like a central communication hub.

All services talk through it.


Why SOA helped

It allowed companies to reuse services.

Example:

Payment service

Could be used by:

  • website

  • mobile app

  • internal accounting system

So systems became loosely coupled.

Meaning:

Services depend on each other less tightly.


The problem with SOA

The ESB became too powerful.

Everything had to pass through it.

Example:

Service A → ESB → Service B

Over time the ESB handled:

  • routing

  • data transformation

  • security

  • logging

  • business logic

It became a massive bottleneck.

Also, when one service changed:

Service change → ESB changes → multiple services break

This is the “cascading change” problem mentioned in the paragraph.


3. Microservices architecture

Microservices is the modern evolution.

Instead of:

services connected through a central bus

You have independent small services talking directly.

Example architecture:

User Service
Product Service
Payment Service
Order Service
Notification Service

Communication happens via APIs.

Example:

Order Service
     │
     ▼
Payment Service API

Usually through:

REST APIs

4. The key difference

SOA:

services
   │
   ▼
ESB (central brain)
   │
   ▼
other services

Microservices:

service → API → service

No central hub controlling everything.

Each service is independent.


5. Why microservices became popular

Microservices make systems easier to scale and develop.

Example: Netflix

The streaming platform
Netflix
runs thousands of microservices.

Example services:

Recommendation service
Playback service
User profile service
Search service
Billing service

Each service can scale independently.

If recommendation traffic spikes:

Only that service scales.


6. Why REST APIs matter here

Microservices communicate through APIs.

Example:

Order service → POST /payments

Because APIs are standardized:

Services written in different languages can communicate.

Example:

Payment service → Java
Order service → Go
Recommendation service → Python

They just talk through HTTP + JSON.


7. What the paragraph means by “lightweight architecture”

Microservices remove heavy integration layers.

SOA:

Service → ESB → Service

Microservices:

Service → API → Service

Simpler communication.


8. Why microservices scale well in the cloud

Cloud systems (like AWS) work well with distributed services.

Example:

Load balancer
   │
   ├ User service (3 servers)
   ├ Payment service (5 servers)
   ├ Search service (10 servers)

Each service scales independently.

This is called dynamic scalability.


9. A real-world analogy

Monolith:

One giant department store

Everything inside one building.

SOA:

Multiple stores connected through a central mall

Microservices:

Independent small shops in a city

Each shop runs independently but interacts with others.


10. Why this matters for API thinking

APIs became essential because services need a way to talk to each other.

Modern architecture looks like:

Service A
   │
   ▼
REST API
   │
   ▼
Service B

The internet today is basically:

Millions of microservices communicating through APIs

Since you’re learning API thinking, there’s actually a deeper idea here that many technical founders eventually realize:

Microservices + APIs changed how companies are built internally.

Companies like:

  • Amazon

  • Uber

  • Spotify

basically run as internal API ecosystems.