A walking skeleton is a small cloud-native application that works end to end. Unlike an isolated proof of concept, it provides a stable way to test how services, architectural patterns, tools, and delivery practices fit together. Its technology stack matters less than the integration decisions it makes visible. section 1.4
An application skeleton: Conference
The Conference application has a frontend and separate services for the agenda, call for proposals, and notifications. Its call-for-proposals flow gives the team a business use case to implement end to end and use to check assumptions about the application. section 1.4.1
An end-to-end slice also exposes operational questions that a single-service demo cannot: where to run a Kubernetes cluster, how services communicate, and how the application behaves amid network latency, service failures, or eventual inconsistencies. The skeleton can be controlled, configured, and broken to investigate those questions before applying the lessons to other services. section 2.1 section 1.4
The same pattern applies to a platform. A platform walking skeleton combines existing tools around one useful capability: teams request isolated development environments through a platform API. Crossplane compositions define provisioning, vcluster supplies virtual Kubernetes clusters, and the Conference application is installed for teams to work on. This demonstrates a developer workflow without first building custom Kubernetes controllers. section 6.3 section 6.3.2
Figure 6.16 Using Crossplane and vcluster to create isolated environments for application development teams
Follow the request from the platform API through Crossplane and vcluster to an isolated environment for an application team. section 6.3.2
Listing 6.2 Environment definition as a Kubernetes resource
apiVersion: salaboy.com/v1alpha1
kind: Environment
metadata:
name: team-a-dev-env #1
spec:
compositionSelector:
matchLabels:
type: development #2
parameters: #3
installInfra: true
An Environment resource is the team's concrete request; its composition selector identifies the development environment to provision. section 6.3.2
Keep the first slice specific enough to test a real workflow, but small enough to change. Feedback from running it helps identify what an application needs in production and what a platform should offer next. For the platform, clear APIs and reduced developer cognitive load matter more than adding custom machinery. section 1.4 section 6.5
