Part VII. Architecture

Skipper uses a basic client server architecture. The server exposes a HTTP API that is used by the interactive shell. The server persists Package Metadata and Release state in a relational database.

Platforms are defined using Spring Boot’s docs.spring .io/spring-boot/docs/current/reference/html/boot-features-external-config.html[Externalized Configuration] feature. See the Chapter 11, Platforms section for more information on configuring the platforms. The platforms map onto an instance of a Spring Cloud Deployer implementation which is responsible for deploying the applications.

The release workflow is currently a hard-coded blue/green workflow. The plan is to use the Spring Cloud State Machine project to orchestrate the release workflow.