How You Know a Workload Has Outgrown the Cloud
Cloud costs can get out of control, often driven by business growth. Some cloud workloads have much to gain from an infrastructure rethink.
The cloud is popular for many good reasons, most of them having to do with getting things done faster and easier. It makes it easier to turn an idea for a software product into a product that’s out in the market. It makes it easier to scale as the product takes off. It makes it easier to take it to international markets. If the product doesn’t resonate, you aren’t left with a bunch of expensive idle computing gear and a data center lease. Plus, the variety of powerful tools accessible in the cloud never stops growing.
Those are all great reasons for a company of any size to think hard before deciding against deploying a workload in the cloud or moving a cloud workload on premises. But, like any other infrastructure option out there, public cloud services have their challenges, which, depending on the nature of the workload at hand, may or may not be worth dealing with. In this article we’ll take a look at some of the biggest signals a workload running in the cloud may be ripe for an infrastructure rethink.
Business Growth and Cloud Workloads
More often than not, the need to rethink arises as a result of growth. As businesses grow, so do their computing workloads, driving up their cloud bills and cloud management costs.
At some point, things that used to be easy to do in the cloud become less so. The more employees, applications and data a business has, the more resources they must allocate for cloud management tools and the labor required to operate their cloud computing environments.
Cloud outages and performance issues are another cost driver as business growth drives greater application complexity, making configuration errors more likely and avoiding them more resource heavy.
Security at scale is also expensive, regardless of the type of infrastructure a workload runs on. Cloud providers use a shared responsibility model when it comes to security, meaning they are responsible for securing only a portion of the infrastructure stack and expect customers to assume the responsibility for securing the rest of their application.
If a cloud workload has become difficult and costly to manage and maintain while driving skyrocketing cloud bills, it’s a good idea to reconsider the infrastructure underneath.
The Cloud Bill
Numerous factors can impact the cloud bill and they change over time, making what seemed like a cost-effective way to run an application become less and less sustainable.
Raw Capacity
As an application gains users, it requires more and more compute, network and storage resources. This is where the cloud’s pay-as-you-go model, while convenient, can be pernicious, because the further you go, the more you pay. If you observe your cloud workload growing at a stable and fairly predictable manner, you may want to look at lower-cost alternatives. Some of them may take longer to add capacity than the few seconds it takes to spin up a cloud VMs, but if you know when and how much additional capacity you will need, you can plan to deploy it just in time and save money. (Not all alternatives take much longer to scale than cloud VMs, by the way, but more on that later.)
You can, as an insurance policy against unexpected demand spikes, retain the ability to burst capacity using cloud VMs by setting up a hybrid-cloud architecture. You just won’t have the bulk of your workload that you know will be there consistently running on pricey cloud infrastructure.
Cloud Data Egress
Movement of data is a necessary characteristic of modern business, and moving data requires network bandwidth, which can be expensive.
For cloud users, this expense comes in the form of data egress charges, which occur whenever an application transfers data across regions or even across data centers within a single region. Sometimes a cloud service being used will transfer customer data and incur egress costs that aren’t always understood upfront.
For organizations with significant outbound data traffic, egress costs can easily mount and constitute a substantial portion of their total cloud spend.
Flexibility Is Costly
Modern businesses are dynamic in nature, which is what makes the flexibility of traditional cloud services so attractive in the first place. Adapting to changing business requirements often means adjusting capacity of existing cloud workloads or adding new services. All these changes are ultimately reflected in the cloud bill, but their actual cost isn’t always crystal clear during deployment time.
Data egress charges are one example. For a more use case-specific example take a cloud database service. A database instance comes with a set amount of compute and storage at first, which can make the pricing look very attractive. As more workloads are migrated to the cloud and as they grow, that database instance will require more compute and storage and be billed for accordingly. Coming back to data egress, as the database connects to other application components, it may unexpectedly drive up costs by accessing data across different data centers or regions. This scenario is especially common in highly available architectures, where components are replicated in multiple locations for redundancy.
Understanding the exact reasons behind a growing cloud bill is crucial to determining whether or not the advantages a workload gains from running in the cloud are worth the cost.
Cost of Labor
Discussions comparing the cost of running workloads in the cloud versus running them on premises often overlook the fact that while cloud customers don’t pay for workers racking, stacking and maintaining hardware (at least directly), administering a cloud environment at scale is labor intensive.
Operations teams play a vital role in managing and maintaining cloud workloads. They need to understand not only the underlying cloud infrastructure but also the architecture of the applications deployed. Cloud computing can be challenging operationally, especially without the right tools in place. Meanwhile, the great cloud-management point solutions out there can quickly drive up cost.
Cloud marketplaces offer many cloud-native tools that are simple to access and deploy, but it’s critical to understand what exactly managing a cloud deployment will require and use the minimum amount of tools necessary in order to control licensing and operating costs.
Every change in tooling will carry costs beyond the immediate cost of the tools themselves. Let’s take the tasks of data protection and security as an example. Whether an organization’s workload is running in the cloud or not, it is responsible for managing backup and protection of its critical data. Operations staff have to be proficient in using whatever tools are chosen to do that. Whenever a new tool is introduced, be it a backup and DR management tool, an SIEM tool, or something else, it must be extensively tested, and staff have to get trained in using it to ensure they can meet their objectives. Changing tools means changing operating processes, which carries significant costs.
A cloud workload starting to feel difficult and expensive to manage is another good sign that it’s time to reconsider whether it should be a cloud workload.
Outages and Performance Issues
Related to management difficulties is the issue of availability. If a workload starts to experience outages and performance issues on a regular basis, it may be time to look at an alternative hosting solution.
Both outages and performance degradation can be disruptive to business and carry significant costs, which come in the form of lost business, lost reputation, lost staff productivity and the cost of mitigation and recovery.
Key factors to consider here are the duration and frequency of the outages and performance issues. If they are short and infrequent, you can likely address them within the existing cloud environment and move on. But if you’re dealing with regular and prolonged incidents, your workload may have outgrown the cloud.
Architecture Considerations
As some cloud workloads grow, they may at some point bump up against architectural limitations of the cloud platform. Those limitations are sometimes difficult to foresee or appear insignificant early on, when the workload is relatively small.
There could be any number of such limitations, such as configuration options, capacity maximums, varied availability of services from region to region, networking options and so on. Maybe a particular database service isn’t available in a market you suddenly need to expand to. Maybe the cloud provider has set up their network in a way that isn’t optimal for your particular workload as it scales.
Whatever the issue, it usually results in a workaround being implemented, which adds to management complexity. At this point, it’s worth considering whether a different type of infrastructure may be simpler and cheaper for the workload at hand.
Security
There are unique security challenges to operating in a public cloud. Like the internet itself, cloud infrastructure is accessible by anyone. By using a cloud provider, you’re also entrusting your sensitive data to a massive organization, with its own inefficiencies, shortcomings, insider threats and threats from outside bad actors who are out to hurt the cloud provider or another one of their customers if not your organization specifically.
Shared cloud infrastructure introduces exposure to lateral attacks via potentially insecure APIs to some of the myriad of cloud services or other types of cloud system vulnerabilities, advanced persistent threats, account hijacking, data breaches and so on.
Protecting against cloud security risks is a complex and costly task when operating at scale, and a solid understanding of those risks and the cost of managing them is important in determining whether a workload should run in a single-tenant environment instead of a shared one.
If Not Cloud, Then What?
Playing a big role in considering whether or not a workload has outgrown the cloud is of course whether a reasonable alternative exists. It’s hard to match the scale and agility you get from a public cloud with your own data centers. Colocation as a potential direction to explore. You don’t have to build and operate your own data centers. If you use a global data center provider, you can place your data and workloads where you need them to be.
Dedicated hardware that’s optimally specced and configured for your workload and placed strategically near high concentrations of end users can be very attractive from performance, security and cost perspectives. But you have to account for the cost of buying, maintaining and managing the equipment, the cost of leasing data center space and network connectivity expenses (data transfer costs don’t entirely go away when you’re not operating in the cloud, although you can set up your network to reduce them substantially).
Another option is to use a dedicated cloud provider. Equinix, for example, offers dedicated cloud services where you can provision fully managed bare metal servers and networking on demand across 27 global metropolitan areas and connect it privately to any of the major public cloud providers, so you can still take advantage of cloud services if and when you need to. The infrastructure can be configured and deployed remotely via a web console or API and scaled up or down, while you get billed for the capacity you have provisioned. You can use the same automation tools you use to manage traditional cloud infrastructure, be it Terraform, Ansible, Puppet or Chef.
A dedicated cloud gives you the control, performance and cost advantages of single-tenant hardware without the trouble of owning, managing and hosting it.
More Than One Option
There’s a lot of value in using public cloud platforms, and they will continue to be the go-to option for workloads that need a lot of flexibility and the ability to get up and running quickly without deep infrastructure expertise on the team.
Like with any technology, however, not every workload will get the same amount of value out of running in a traditional public cloud. For some applications, it’s clear upfront that a multitenant cloud platform isn’t a good fit, and for some problems arise as they grow, mature and scale. It’s important to be aware that there are a variety of compelling options for hosting your workloads and re-evaluate your organization’s infrastructure strategy regularly.