liveBook · Manning

Cloud computing

As explained in Platform Engineering on Kubernetes

A platform is an integrated set of tools, services, workflows, and interfaces that enables teams to consume organizational capabilities through self-service.

Cloud computing lets teams consume computing resources and software services without a large initial investment. Cloud providers offer tools to build, run, and monitor applications on a pay-as-you-go basis: usage can grow quickly, but so can the bill. Their APIs, dashboards, and SDKs give teams several ways to access those services. section 1.1 section 1.5

A provider’s catalog is not automatically an organization’s platform. Teams still have to choose services, connect them, and fit them to existing workflows and compliance requirements. Reliance on provider-specific tools can also make migration difficult. An internal platform packages the chosen capabilities behind self-service interfaces tailored to its teams, whether the underlying resources are in a public cloud, across providers, or on-premises. section 1.3.1 section 1.1.2 section 1.1

Start with the people who will use the platform and the work they need to complete. Platform APIs define a manageable first contract: what a team can request and what behavior to expect. They hide tool choices and integration work rather than requiring every developer to learn them. CLIs, SDKs, dashboards, and automation can then provide interfaces to the same capabilities. Treat the platform as an internal product; development teams are its customers. section 6.1 section 1.2.1 section 1.3

For a Kubernetes-based platform, turn that contract into a small, usable workflow before expanding it:

  • Choose a development-team task, such as requesting an on-demand development environment, and expose a simplified API for it. section 6.1 section 6.5
  • Select and integrate tools behind the API. Weigh existing tools and extensions against the long-term cost of custom glue code. section 1.2.1 section 1.3.1
  • Plan for separate platform tools and workloads, multiple clusters, and explicit tenant boundaries and isolation guarantees. section 6.2 section 6.2.1

An on-demand development environment

A walking-skeleton platform can let a developer request an environment through a simplified API while platform tools provision the underlying resources. Crossplane and vcluster are used for on-demand development environments; ArgoCD is among the tools considered for platform-level workflows. The useful test is whether the developer can get an environment without having to operate every underlying tool or interact with a full Kubernetes API server. section 6.0 section 6.5

Figure 6.6 Platform cluster with platform tools managing environments

The platform-cluster diagram illustrates platform tools managing environments, making the separation between platform services and application environments easier to inspect. section 6.2

Keep the first workflow narrow, then expand the APIs as teams reveal further needs. A useful platform reduces developers’ cognitive load and supports a path from feature work to production, while its operators remain responsible for the tools and extensions running at scale. section 6.1 section 1.3 section 1.2.1

How Platform Engineering on Kubernetes covers it

How deep it goes
Develops API and architecture choices through a platform walking skeleton, but supplies no cloud-provider configuration commands here.
Examples
Uses a walking-skeleton platform and on-demand development environments provisioned with Crossplane and vcluster.
What it assumes
Assumes familiarity with Kubernetes, containers, and cloud-native applications; explains the platform decisions built on them.
What you can do after
Build it from scratch: define a narrow platform API and use Crossplane and vcluster for on-demand development environments.
How it connects
Connects cloud platforms to Kubernetes, platform engineering, self-service APIs, multi-cluster management, and multi-tenancy.

Also explained in

Compare how 10 books explain cloud computing →

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.