By: Phillip Rosenthal, vice president of product and engineering, DataBank
Aligning your workloads to the right infrastructure environments gives you the ability to balance application performance, scalability, control and costs. But oftentimes, CIOs and other IT leaders feel the pressure to move all workloads to the public cloud, thinking it will deliver these attributes. More often than not, the ideal approach is a hybrid infrastructure that spans not only the public cloud, but also private cloud, on-premises, and colocation data centers.
The key is to determine the right hybrid mix for each application workload, which starts with asking the right questions. It also helps to put your situation into context—by considering scenario use-cases encountered by other businesses that have taken on the same challenge.
Here’s a rundown of several situations that outline primary alignment issues and the approach to address those concerns:
- Consistent Workloads—If your application workload requires roughly the same compute resource capacity every day, then the cost to run it in the public cloud vs. a data center will be significantly more expensive. You may also run into issues if you expect consistent performance from servers in the cloud. Conversely, dedicated servers in an on-premises or colocation data center that you control will deliver more predictable performance. A related scenario involves static workloads, such as databases and back-office systems, that run all day long. From a cost standpoint, they are best served in a colocation data center. Compared to the public cloud, it’s less expensive to buy and deploy gear in a colocation rack, let it run for three to five years, and then replace it with new technology.
- Noisy Neighbors—When sharing servers in the public cloud, the performance of virtual machines can change drastically, depending on whether you have co-tenant “noisy neighbors” that use up extra network bandwidth and storage I/O, or memory and CPU resources on the same server. This means the resources you have access to will decrease. It’s also difficult to know in advance that such resources are not available until your users (or your customers) try to access the servers. Performance could suddenly decrease by 50% or more.
- High Throughput Requirements—The big public cloud providers charge high fees to push bandwidth out to the Internet. In some cases, they charge you when transferring data from one of their data centers to another. So if your application requires high throughput at a consistent and predictable level, an on-premises or colocation data center is your least-expensive option. You might also consider a Content Delivery Network provider, which focuses on throughput delivery and costs much less than a public cloud platform.
- Application Scalability vs. Resource Efficiency—If scalability is the primary driver for your workloads, you may head down a path of applications that run inefficiently. That’s because developers tend to write code for cloud applications as though there will always be unlimited compute resources. They sometimes build inefficient software that automatically scales the workload demand without considering the required resources. If the application is used heavily, the resources will continue to scale, and costs will spin out of control. As an alternative, if the application is built under the premise of eventually moving to a data center, the compute resources can scale…but only if IT makes the conscious decision to buy and deploy another server. This approach forces developers to build applications to run more efficiently so they consume only available compute resources.
- Development Costs—When developing an application, a colocation data center can be expensive. The compute resources might cost $500K to stand up the infrastructure and then develop and test the application. It’s less expensive to rent the workload from a public cloud provider where development and testing environments can connect more easily, and there’s someone in the middle to orchestrate the development lifecycle.
- Security and Compliance—Mission-critical systems and sensitive data are not always appropriate to run in the public cloud. At the same time, from a cost standpoint, a company may not want to build a data center where it needs to own the gear and provide resources to manage the data center. The best alternative is a private cloud managed by a partner with expertise across the entire technology stack—including the operating system, disaster recovery, security, and compliance. For developing the software that runs in a private cloud, be sure to connect to a public cloud that can seamlessly upload updates to the private cloud.
- Misconfigured Environment—If one of your applications does not perform at expected levels, it’s critical to diagnose the cause before you migrate to a new environment and add compute resources, which will increase costs dramatically. You may discover you do not need a new environment but rather a reconfiguration of your environment. Sometimes, companies using a public cloud provider keep adding CPUs and memory because their application is not working. After the compute costs skyrocket, they take a step back and realize the infrastructure was not configured properly. If the issue is load balancing, for example, this can be remedied with properly managed services.
- Cost Optimization vs. Peace-of-Mind—If your application is subject to unexpected and sudden spikes in activity, worrying whether your servers will crash can keep you up at night. This is especially true if the application is used by customers to purchase products and services. In cases like these, where cost is a secondary consideration, the public cloud or a private cloud are usually the best options. Access to additional compute resources is virtually unlimited, and infrastructures can be designed to scale and balance workloads automatically.
The Benefits of the Hybrid Approach
Using the public cloud as your only infrastructure environment may simplify your infrastructure operations. But it also decreases your control, and while it may generate cost savings, it could also actually increase costs.
As the use-cases above illustrate, a hybrid infrastructure approach is often best for creating the optimal environment for your application workloads. Hybrid environments that include private cloud and colocation infrastructures give you the convenience of auto-scaling and the cost savings of better-utilized resources by sharing different workloads on the same infrastructure.
Private clouds and colocation data centers also give you the ability to cost-optimize for consistent performance by avoiding “noisy neighbors” entirely. And if your workload is relatively consistent, you will reduce your long-term infrastructure costs.
To learn more about the benefits of hybrid IT environments and how to avoid the pressure to move all workloads to the public cloud, check out our white paper, How to Align Your Applications to the Optimal Infrastructure Environments.
About the Author: Phil Rosenthal is a veteran entrepreneur in the Internet Infrastructure sector with twenty years of experience weaving network, hosting and software assets together into profitable businesses. His pioneering ventures at NuCDN, BelugaCDN and ISPrime are among the industry’s most notable high-performance, low-latency, high-availability content delivery networks and managed hosting services.