aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • Design
  • Engineering
  • Practices

Why We Advocate For Workload-Centric Over Infrastructure-Centric Development

  • aster.cloud
  • January 15, 2023
  • 5 minute read

Score envisions a developer and workload-centric approach to improve developer productivity and experience. In this article, we take a deeper look at the “why” and see this as a starting point to discuss and shape a product vision we can work towards as a community.


Partner with aster.cloud
for your next big idea.
Let us know here.



From our partners:

CITI.IO :: Business. Institutions. Society. Global Political Economy.
CYBERPOGO.COM :: For the Arts, Sciences, and Technology.
DADAHACKS.COM :: Parenting For The Rest Of Us.
ZEDISTA.COM :: Entertainment. Sports. Culture. Escape.
TAKUMAKU.COM :: For The Hearth And Home.
ASTER.CLOUD :: From The Cloud And Beyond.
LIWAIWAI.COM :: Intelligence, Inside and Outside.
GLOBALCLOUDPLATFORMS.COM :: For The World's Computing Needs.
FIREGULAMAN.COM :: For The Fire In The Belly Of The Coder.
ASTERCASTER.COM :: Supra Astra. Beyond The Stars.
BARTDAY.COM :: Prosperity For Everyone.

This article is meant to be a starting point for sharing observations, experiences and ideas to begin and build a conversation, exchange experiences, discuss and shape a product vision we can work towards as a community.

Our initial product vision and definition reads as follows:

“Score is an open source project that provides a developer-centric and platform-agnostic workload specification to improve developer productivity and experience. It eliminates configuration inconsistencies between local and remote environments.”

A lot of words, I know – stick with me now as we take a step back to understand why and how we got here. We’ll keep referring to the terms I just mentioned, so that at the end you’ll be able to pain the full picture and we can understand what Score stands for together.

Infrastructure centric development: the enemy is complexity

Above we talk about “configuration inconsistencies between local and remote environments”. To understand what we mean by that do we have to understand infrastructure centric development – The source of all evil.

In an infrastructure centric workflow, developers are concerned with the platforms and tooling their workloads run on. Locally, this will be a light weight tool such as Docker Compose. So far so good. Remotely however, you’ll likely be confronted with tooling such as Helm, Kustomize, Terraform, Argo CD or similar. Developers having to promote their workload from their local set up to production environments that rely on a different set of tech and tools will run into issues surrounding:

  • Environment specific configuration: your workload might have many environment variables configured – some of which are environment specific, others or which should remain unchanged. For complex applications it is often not clear if CPX_API_KEY or SRD_MEM_CAP should be updated for the test environment. What if you miss the update of DBURL and it is pointing at the development database?
  • Platform specific configuration: a workload with a dependency on a database might point to a postgres Docker image or mock server in lower environments. On its way to production however, a database has to be provisioned and allocated via Terraform. How to you ensure that everything is configured and provisioned correctly?
Read More  Cloud CISO Perspectives: November 2021

The fact that production environments require specialised knowledge and operational expertise increases the risk of wrongly specified or inconsistent configuration. The question of how things are reflected appropriately between environments is answered differently in teams: There might be a few super helpful people that end up being the “go-to people” for helping others get unstuck. There might be a page on the internal wiki site explaining how to get help or a full blown ticketing system to track and route requests. The course of action also depends on the complexity of the task at hand. A variable change is easier to manage than satisfying a dependency on a database across various environments.

Workload centric development: compartmentalizing complexity

Above we say that Score attempts to “improve developer productivity and experience.” To understand what we mean by that do we have to understand workload centric development – The solution to all of your problems.

By embracing a workload centric approach to software development, developers no longer have to worry about environment specific implementation details when promoting their workloads towards production. In a workload centric world, developers declare what their workload requires to run successfully, independently of platform or environment. For example: “My workload has one container, should be made available on a TCP port and relies on a postgres database”. The image pull secret? The TCP port number? The exact number of replicas? The provisioning and allocation of the database? The platform in the target environment is responsible for answering these questions and ensuring that everything is configured and injected accordingly. This offers the potential of a reality in which developers can focus on local development without having to worry about different configuration constructs, rules and values in remote environments.

Read More  5 Ways Platform Engineers Can Help Developers Create Winning APIs

Workload centric development allows developers to focus on their workload’s architecture rather than the tech stack in the target environment. It establishes a clear contract between dev and ops: The operations team is provided with a comprehensive set of configurational requirements, which – if met – ensure that the workload runs as intended. Code is passed through the fence, rather than being thrown over it.

Score principles

Quick recap. So far, we talked about the issue of developers struggling with “configuration inconsistencies between local and remote environments.” and how “to improve developer productivity and experience” in this context. We’ll now look at how Score attempts to put this into practice by providing “a developer-centric and platform-agnostic workload specification”.

A while ago, the team behind Score sat together and formulated a set of workload centric development principles based on which the Score specification was eventually developed:

  • Establish a single source of truth for workload configuration that served as a main point of reference for development teams when wanting to understand a workloads runtime requirement and allows to apply changes in a one directional and standardised manner. To qualify as a SSOT, it has to be platform agnostic – meaning it’s not tied to an orchestrator, platform, tool such as Kubernetes, Google Cloud Run or Nomad – and environment agnostic – meaning it captures the configuration that should be the same across environments.
  • Provide a tightly scoped workload spec that shields developers from the configurational complexity of container orchestrators and tooling. Container orchestration systems such as Kubernetes provide a massive number of options that can be configured just for a workload. Developers may find it challenging to understand which properties are needed, optional or can be disregarded. By keeping a tightly scoped workload spec that only exposes core application constructs developers can keep their focus.
  • Implement a declarative approach for infrastructure management that allows 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.
Read More  Kubernetes Storage Is Complex, But It’s Getting Better

The Score specification was directly derived from these principles. Looking at our opening statement of it being “developer-centric” and “platform-agnostic” we can now even add to the list of words without sounding overwhelming: “environment-agnostic”, “declarative”, “tightly scoped”. A less wordy explanation offers the name itself. The Score specification, just like the musical notation, makes developers the conductor of their workload, which is deployed across an orchestra of tech and tools.

How is it implemented?

Our story doesn’t end with the Score specification. Its counterpart is the Score implementation, a CLI tool which the Score specification file (score.yaml) is executed against. It is tied to a platform such as Docker Compose (score-compose) or Helm (score-helm) and allows to generate a platform-specific configuration file such as docker-compose.yaml or a helm values.yaml file.

With Score, the developers workflow stays largely uninterrupted. The score.yaml file is saved alongside the source code and generates the required configuration with a single command.

In the example below, the developer simply executes score-compose to generate a compose.yaml file and spins up the container locally via Docker Compose. Hello World!

The same score.yaml file is then used to generate a helm values.yaml file for a remote development environment running on Kubernetes.

Check out our current suite of available CLI tools here.

Spread the word

Score wants to make developers lives easier by allowing them focus on developing features instead of fighting with infrastructure. It simplifies the promotion of workloads from local to remote development environments by automating repetitive configuration work.

We’re curious to hear: What experienced did you make working with complex microservice applications? Do you have an idea on how to improve the Score specification? Or would you like to support us in building the next generation of Score implementations? Get involved here and join the Score community!

By Susa Tünker
Source: CNCF Blog


For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!

Our humans need coffee too! Your support is highly appreciated, thank you!

aster.cloud

Related Topics
  • Cloud Native Computing Foundation
  • Developer
You May Also Like
View Post
  • Engineering

Just make it scale: An Aurora DSQL story

  • May 29, 2025
View Post
  • Engineering
  • Technology

Guide: Our top four AI Hypercomputer use cases, reference architectures and tutorials

  • March 9, 2025
View Post
  • Computing
  • Engineering

Why a decades old architecture decision is impeding the power of AI computing

  • February 19, 2025
View Post
  • Engineering
  • Software Engineering

This Month in Julia World

  • January 17, 2025
View Post
  • Engineering
  • Software Engineering

Google Summer of Code 2025 is here!

  • January 17, 2025
View Post
  • Data
  • Engineering

Hiding in Plain Site: Attackers Sneaking Malware into Images on Websites

  • January 16, 2025
View Post
  • Computing
  • Design
  • Engineering
  • Technology

Here’s why it’s important to build long-term cryptographic resilience

  • December 24, 2024
IBM and Ferrari Premium Partner
View Post
  • Data
  • Engineering

IBM Selected as Official Fan Engagement and Data Analytics Partner for Scuderia Ferrari HP

  • November 7, 2024

Stay Connected!
LATEST
  • 1
    Just make it scale: An Aurora DSQL story
    • May 29, 2025
  • 2
    Reliance on US tech providers is making IT leaders skittish
    • May 28, 2025
  • Examine the 4 types of edge computing, with examples
    • May 28, 2025
  • AI and private cloud: 2 lessons from Dell Tech World 2025
    • May 28, 2025
  • 5
    TD Synnex named as UK distributor for Cohesity
    • May 28, 2025
  • Weigh these 6 enterprise advantages of storage as a service
    • May 28, 2025
  • 7
    Broadcom’s ‘harsh’ VMware contracts are costing customers up to 1,500% more
    • May 28, 2025
  • 8
    Pulsant targets partner diversity with new IaaS solution
    • May 23, 2025
  • 9
    Growing AI workloads are causing hybrid cloud headaches
    • May 23, 2025
  • Gemma 3n 10
    Announcing Gemma 3n preview: powerful, efficient, mobile-first AI
    • May 22, 2025
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • Understand how Windows Server 2025 PAYG licensing works
    • May 20, 2025
  • By the numbers: How upskilling fills the IT skills gap
    • May 21, 2025
  • 3
    Cloud adoption isn’t all it’s cut out to be as enterprises report growing dissatisfaction
    • May 15, 2025
  • 4
    Hybrid cloud is complicated – Red Hat’s new AI assistant wants to solve that
    • May 20, 2025
  • 5
    Google is getting serious on cloud sovereignty
    • May 22, 2025
  • /
  • Technology
  • Tools
  • About
  • Contact Us

Input your search keywords and press Enter.