liveBook · Manning

Service

As explained in Platform Engineering on Kubernetes

A service is an independently deployable software component that provides a bounded set of functionality within a distributed application.

A service is a separable unit of a distributed application that owns a distinct functionality and can evolve without coordinating every change through one shared codebase. This structure trades monolithic simplicity for team autonomy and more targeted scaling. section 1.4.2

Compared with a monolith, services change the developer and operations workflow in several ways:

  • Teams work against clearer boundaries instead of coordinating every feature change in one repository. section 1.4.2
  • Each service can scale according to its own load, avoiding replication of the entire application for one busy function. section 1.4.2
  • Separate services remove a shared-codebase bottleneck, but introduce the complexity that makes distributed architecture worth evaluating carefully. section 1.4.2
  • Cloud services extend the same delegation idea across layers, from infrastructure resources to managed application capabilities; higher-level services include more operational cost and responsibility. section 1.1.1
Figure 1.20 In a monolith application, all the logic to implement different use cases are bundled together. This push different teams to work on the same codebase and requires them to have complex coordination practices to avoid conflicting changes.

Use the monolith comparison to see how bundled functionality creates shared-codebase coordination costs that services are intended to reduce. section 1.4.2

How Platform Engineering on Kubernetes covers it

How deep it goes
Compares monoliths with distributed services, stopping short of implementation interfaces, deployment mechanics, and failure handling.
Examples
Uses a monolith-versus-distributed comparison and cloud-provider service categories, including managed PostgreSQL.
What it assumes
Assumes a monolith baseline and teaches why distributed services can justify added complexity.
What you can do after
Evaluate distributed services against monoliths by comparing team autonomy, scaling scope, and coordination costs.
How it connects
Connects services with monoliths, interfaces, team coordination, continuous integration, and scalability.

Also explained in

Compare how 7 books explain service →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Platform Engineering on Kubernetes. The section links point to the parts of the book it draws on.