Microservice architecture divides an application into many separate processes. Each microservice is an independent application with its own development and release cycle, rather than one tightly coupled monolith. section 1.1.3
This structure lets smaller teams own parts of a system and lets components scale separately. It also introduces operational work: services may require different library versions, run in different environments, and communicate across computers. section 1.1.3
A microservice architecture changes application development in several connected ways:
- Separates development and release cycles so teams can work on individual services. section 1.1.3
- Uses containers to provide different environments for services with diverging dependencies. section 1.1.3
- Requires configuration for services to communicate because components no longer need to run on the same computer. section 1.1.3
- Creates a management problem that orchestration tools such as Kubernetes help address. section 1.1.3 section 1.0
A progressive application example
Kiada is built as a microservices-based application: Docker runs it initially, and Kubernetes runs it in subsequent stages while adding features for typical application operations. section 2.2
Figure 1.6 Comparing monolithic applications with microservices
Compare the single-process monolith with the many-process microservice arrangement. section 1.1.3













