Monolithic Architecture
This post is a definition of terms for monolithic architecture – including exam questions and tags.
In a Nutshell
Monolithic architecture means: all functional units are implemented in a single cohesive system and are operated as one deployable.
Compact Technical Description
A monolith combines modules from UI through business logic to data access in a single codebase and is built, tested, and delivered as one process.
Advantage: simple structure and deployment. Disadvantage: as it grows, changes become riskier, scaling is coarse (only as a whole), maintainability decreases.
Exam-Relevant Key Points
- All components bundled
- Simple deployment
- High maintenance effort with growing codebase (IHK)
- Common in legacy or small projects
- Security risks due to lack of isolation
- Economical for small scale, expensive for scaling
- Documentation + possible migration assessment
Core Components
- Unified codebase
- Shared data model
- Integrated logic
- Shared UI
- Central pipeline
- Central logging/monitoring
Practical Example
Web shop as a monolith:
Frontend/Backend/DB tightly coupled, every change requires re-deployment of the entire app.
Advantages and Disadvantages
Advantages
- Simple setup
- Direct communication
- Good internal performance
Disadvantages
- Re-deployment with every change
- Harder to test with large codebase
- Scaling only as a whole
Typical Exam Questions (with Short Answer)
- What is a monolith? All system components in one application.
- When is it useful? Small/medium apps with stable requirements.
- How to modernize? Modularize or gradually extract services.