Living in Silicon Valley, I talk to a lot of people about computing. Frequently, the conversation focuses on workloads. But just what is a workload anyway? Simply put, a workload is a load of work. I know, that sounds like a tautology (a “duh-ism,” if you prefer). I would argue that this definition is actually very useful.
Think of computing workloads like laundry. Different loads of dirty clothes have different requirements and different rules. Whites shouldn’t be washed with colors. Some fabrics are washed in warm water, others in cold. Delicate items require special handling.
Compare this to computing. When designing IT systems, each load of work needs to be carefully assessed. One might involve sensitive data that must be specially secured. Others may require high data transfer rates, or a large amount of memory or low network latency. To meet system requirements, each load of work needs to run in the right environment.
Sorting the Laundry
Computing workloads have multiple dimensions. It’s important to understand these dimensions when determining how to service a given workload.
- Performance – What is the required time to complete a unit of work (e.g., page load, transaction, etc.)? What does this mean in terms of location, latency and bandwidth?
- Capacity – What resources (compute, memory, storage, network bandwidth) are needed to deliver a unit of work (transaction, session, etc.)?
- Read vs. Write – What is the proportion of data that is read from a data source compared with what is written? This has implications for storage design and capacity growth. It also affects where data needs to be located.
- Security – How must information be stored, transmitted and used? Considerations include compliance, data sovereignty, encryption, etc.
- Variability – How constant or variable is the workload?
- Reliability – What happens if the service is unavailable for a period of time? What does this imply for the corresponding workload? For example, how should an emergency response service be designed so that it is always reachable?
Just as washing a bright red shirt with the whites can result in pink underwear, mixing incompatible workloads can lead to embarrassment – or worse.
Finding the Right Laundromat
Cloud computing gives organizations more choices of where to run their workloads than ever before. Workloads that benefit from cloud flexibility and pay-as-you-go pricing may be great candidates for migration. Test & development workloads are often good examples. So are highly variable workloads like holiday shopping or the introduction of a new product or service. On the other hand, steady-state workloads can be significantly more expensive to run in the cloud than on dedicated systems. The “own the base, rent the spike” approach is a good way to optimize costs. Running some workloads in a public cloud and others on owned systems is often referred to as a hybrid cloud approach. Another possibility to consider is workload elimination. Instead of designing, deploying and managing all their own workloads, companies can simply rent applications and services. I’m referring to software as a service (SaaS) – further torturing my laundry analogy, this is like dry cleaning. Because SaaS providers have a specific focus and operate at scale, they’re often able to deliver a better service at a lower cost.
Avoiding Starch in your Shorts
The bottom line for developers and IT operators is you need to match environments to workloads. These are decisions that we at Equinix help our customers with every day. As host to the most network, the most cloud and the most IT services providers in the industry, we can help you match your workloads with the right environment. And that will leave you looking great.