Workload Specification
Developer Control Plane
The Score Specification provides a developer-centric and platform-agnostic workload specification to improve developer productivity and experience. It eliminates configuration inconsistencies between environments.
What is Score?
Score is a developer-centric and platform-agnostic workload specification. It ensures consistent configuration between local and remote environments. And it's open source.
Profile
Score is an open source, platform-agnostic, container-based workload specification. This means you can define your workload once with the Score Specification and then use a Score Implementation CLI to translate it to multiple platforms, such as Helm, Docker Compose, or Google Cloud Run.
This project aims to reduce developer toil and cognitive load, by only having to define a single yaml file that works across multiple platforms.
Score helps to improve the developer experience when combined with other workflows, and is not meant to replace yaml. Infrastructure and development teams can use this specification to improve workflows throughout their organisation.
Focus
The Score Specification provides a developer-centric and platform-agnostic workload specification to improve developer productivity and experience. It eliminates configuration inconsistencies between environments.
Background
Cloud-native developers often struggle with configuration inconsistencies between environments. This gets even more complicated when the technology stack in each environment differs. For example, what if you use Docker Compose for local development, but Helm Charts to deploy to the Kubernetes based development environment? Not only do you have to figure out Docker Compose and Helm, you need to keep them in sync.
Taking an infrastructure-centric approach to development means developers need to stay on top of the tech and tools in every environment their applications run in. This often results in bottlenecks across the delivery cycle. Ensuring that a locally made configuration change is reflected appropriately in a remote environment, and vice versa, could result in an intricate, multi-stakeholder endeavour.
Score advocates for a workload centric approach to software development. This means that the platform or tools of the target environment are responsible for satisfying the workload runtime requirements, rather than the other way around.
Score main features
A single source of truth for workload configuration
Score establishes a single source of truth for workload configuration that serves as the main point of reference on how to run a workload, independently of target platform and environment. This allows the generation of one directional configuration, and combines it with environment specific parameters in the target environment.
Shields developer from complexity
Score provides a tightly scoped workload spec that shields developers from the configurational complexity of container orchestrators and tooling. By exposing only core workload construct, developers can keep their focus.
Declarative approach to resource dependencies
Score enables a declarative approach for infrastructure management. This enables developers to describe a workload’s resource dependencies without having to worry by whom, when, and how it will be provisioned in the target environment.