liveBook · Manning

Monolithic architecture

As explained in Google Anthos in Action

A monolithic application is an application whose major capabilities are implemented and deployed as one largely indivisible unit.

A monolithic application keeps its functions tightly coupled. That contrasts with a microservices architecture, where services can be updated, scaled, replaced, and debugged independently. A monolith can still be a candidate for containerization; moving it into a container does not, by itself, split it into services. section 1.1 section 15.3.4

A three-tier Java application

A traditional three-tier Java application is one example of a monolith. If it runs on WebSphere or WebLogic, inspect its use of proprietary server features before considering a move to an open source server such as Tomcat or JBoss. That deployment change is distinct from a later redesign into microservices. section 16.2.1

Modernize incrementally while keeping the existing application running:

  • Improve development and deployment first, including suitable language or framework changes. section 16.1
  • Containerize suitable workloads with Migrate for Anthos, then add continuous integration, automated testing, continuous deployment, and observability. section 16.1
  • Refactor toward microservices when ready. Workloads needing particular drivers or legacy support may instead move as VMs before later refactoring. section 16.2.1 section 15.3.4
Figure 16.6 Monolith vs. microservice architecture
16-06

Compare the monolith and microservice architecture diagrams when deciding which changes alter deployment and which change the application’s structure. section 16.2.1

How Google Anthos in Action covers it

How deep it goes
Defines the pattern through tight coupling and illustrates it with three-tier Java, then develops migration steps rather than monolith internals.
Examples
Uses a three-tier Java application and a conditional WebSphere-to-Tomcat move to illustrate deployment choices.
What it assumes
Introduces the monolith through coupled functions while treating VMs, containers, and CI/CD as deployment concepts.
What you can do after
Practice/perform incremental modernization by containerizing suitable workloads, improving delivery and observability, and planning later microservice refactoring.
How it connects
Connects monolithic architecture to microservices, containerization, continuous integration, continuous deployment, and observability.

Also explained in

Compare how 8 books explain monolithic architecture →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Google Anthos in Action. The section links point to the parts of the book it draws on.