A system of cogs working

What is Undifferentiated Heavy Lifting?

Jeremy Bower
CTO and Consultant

Werner Vogels, chief technology officer of Amazon.com, used the term "undifferentiated heavy lifting" in a 2006 post to describe all the hard technology work commonly done by businesses that don't add value to the business or its customers, but are a necessary step to add value.

For example, consider setting up a physical server in a data center to run a web application. The web application is differentiated from others to create unique value for customers and the business. The physical server, on the other hand, is common to all businesses who want to run web applications. Buying and maintaining physical servers consumes significant time and money — especially for businesses that need a lot of servers. It is an undifferentiated heavy lift.

Solutions like Amazon Web Services (AWS) and Google Cloud Platform (GCP) started by eliminating traditional technology tasks like buying and setting up physical servers, connecting them to the internet, and managing the inevitable hardware failures. Instead, businesses rent servers in the cloud that are setup and managed by cloud providers, billed by the minute, and ready to go at a moment's notice.

Cloud computing has worked out fantastically well for many organizations — from startups to enterprises — who prefer to focus on solving problems that deliver value to customers rather than undifferentiated technology problems.

Vogels suggests that businesses should “stop spending money on undifferentiated heavy lifting" and instead "acquire resources on demand, pay for what you use, leverage each other’s competencies, turn fixed costs into variable.” These ideas have been revolutionary for many businesses that leverage cloud services.

Initially, the benefits were limited to infrastructure teams (who no longer need to manage physical servers) and finance teams (who can turn capital expenditures into operating expenses). Software teams realized limited benefits. It takes just as much effort to build, deploy and maintain a traditional software solution on a cloud server as it does with a server in a data center.

Today, modern cloud services deliver a lot of value for software developers. In a podcast, Eric Brewer, VP of infrastructure at Google, describes it as the "new cloud" and points out that the way we use cloud computing has changed. Instead of talking about managing servers, we're talking about managing services — a subtle but significant shift.

For example, Kubernetes (an open-source system for automating deployment, scaling, and management of applications) allows software teams to focus on the services that make up a larger application. With Kubernetes running on cloud servers, teams no longer needed to predict the number of servers they need and in what configuration. Instead, they can adapt and grow as the team discovers the right solution for customers.

However, setting up and maintaining Kubernetes also comes with undifferentiated heavy lifting. Whether it's fine-tuning the system, troubleshooting problems or applying security patches, there is significant time that could otherwise be used to deliver value to customers.

Managed services like GKE, Google's managed Kubernetes offering, remove that undifferentiated heavy lifting so that software teams can focus on building products that delight customers. The cloud provider manages Kubernetes and the underlying servers so that software teams can focus on services. Google even offers a competing product called Cloud Run, which allows software teams to deploy services without configuring Kubernetes at all.

Cloud providers aren't the only ones removing toil for software developers. The concept of undifferentiated heavy lifting can be applied to any number of software development tasks. AI assistants like GitHub's Copilot can write a lot of necessary, but undifferentiated, code and allow developers to focus on solving problems that create value for customers and the business. While GitHub Actions automates common integration and deployment tasks.

CTOs need to be aware of the implications to best align solutions that support business goals. Cloud native architectures designed for managed services have replaced traditional architectures were designed for physical servers. Workflow automation and AI tools have replaced many traditional software development tasks. These modern approaches deliver more security, more quality and reliability, and greater efficiencies than traditional approaches.

Happy and innovative software teams that delight customers don't just happen…
it takes years of experience.

Get in touch today to learn more.