liveBook · Manning

Scalability

As explained in Platform Engineering on Kubernetes

Scaling is the process of increasing or decreasing the capacity or number of running service instances to match workload needs.

Scalability is the process of increasing or decreasing service capacity or running instances to match workload needs. In a distributed application, each service can scale according to its own load instead of scaling the entire application. section 1.4.2

Scaling in cloud-native applications provides:

  • Fine-grained control: scale only the functionality experiencing increased demand. section 1.4.2
  • Operational trade-offs: distributed scaling improves infrastructure flexibility but increases system complexity and the need for operational tooling. section 1.4.2
  • Availability practices: run at least two replicas for services where continued user access matters, reducing downtime when failures occur. section 2.6

Scaling a Kubernetes service

Use a walking-skeleton application in a local Kubernetes cluster to scale services up and down, then check that the application continues running as expected. Knative Serving extends this model with dynamic autoscaling, including scaling down to zero replicas for serverless workloads. section 2.6 section 8.2

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.

Compare bundled monolithic functionality with independently scalable services and the coordination each architecture requires. section 1.4.2

How Platform Engineering on Kubernetes covers it

How deep it goes
Demonstrates scaling services up and down and discusses replicas, but defers detailed autoscaler internals.
Examples
Uses a walking-skeleton application, local Kubernetes cluster, service replicas, and Knative scale-to-zero workloads.
What it assumes
Assumes familiarity with services and Kubernetes applications while using a local cluster for hands-on scaling practice.
What you can do after
Operate/configure Kubernetes services by scaling replicas, checking behavior, and considering autoscaling or availability needs.
How it connects
Connects scalability with distributed systems, Kubernetes, replicas, autoscaling, serverless computing, resilience, and monolithic architecture.

Also explained in

Compare how 27 books explain scalability →

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.