Controlling Cloud Costs

The Challenge of Controlling Cloud Costs and Consumption as Applications Evolve

Moving development and testing from traditional IT systems to the cloud has produced tremendous productivity gains for many organizations. Processes that were once constrained by limited hardware and software resources are now supported by remotely hosted services that supply compute, networking and storage on-demand. Moreover, developers and testers who work with cloud infrastructure are able to spend more time fine-tuning and debugging applications and less time waiting for instances to be provisioned or the operations department to provide additional guidance.

Entire organizational structures have been changed by the emergence of the cloud. Practices such as DevOps, which brings programmers and operations teams under the same umbrella to facilitate more agile, rapid software deployment, have picked up steam. They have placed companies in a better position to rapidly test, deploy and support Web-scale applications. However, these gains haven't been without their drawbacks. Along the way, some organizations have lost control over processes, costs and data.

There is a common belief that achieving better productivity and getting more mileage out of each dollar spent is as simple as completely ditching their data centers and migrating to Infrastructure as a Service (IaaS) platforms.

There is plenty of discourse about how the public cloud enables easy savings for businesses, and while there is a kernel of truth in this sentiment, the claim merits closer scrutiny. For small and midsize companies, starting up operations on a platform such as Amazon Web Services means that the steep CAPEX of buying dedicated hardware and proprietary software licenses, is eliminated and replaced with a more manageable, pure OPEX model. The compelling logic is that companies only pay for what they use and need, when they need it. They tap additional resources only as the demand arises.

As organizations become more comfortable with cloud computing and gain additional insight into how they are utilizing cloud platforms, teams may skirt the IT department and use public cloud for line-of-business processes. Tracking this "underground" usage of public cloud services further complicates the economic, operational and compliance considerations that go into controlling cloud costs for a growing company.

While cloud services can initially give relief from the mundane number-crunching associated with managing IT budgets and dealing with local infrastructure, with time they can become problematic. Contracts (and prices) may change, operations may scale suddenly and hidden costs may pile up.

A 2013 Symantec report Avoiding the Hidden Costs of the Cloud chronicled some of these expenses, which range from avoidable over-provisioning to lapses in compliance.

"Often, IT has their hands full with simply provisioning and maintaining cloud," stated the report. "A common refrain is that 'second order' issues such as compliance can wait. This is a mistake. In fact, 23 percent of organizations have been fined for privacy violations in the cloud within the past 12 months."

Left unchecked, cloud costs certainly become more than a financial issue. They also jeopardize development and communications processes, with teams potentially becoming disconnected from other parts of the organization that may have different ideas of what is feasible.

Solving this issue, and making expenses less opaque, more predictable and increasingly in line with dev/test team needs starts at the technical level.

There's a tipping point at which the economic gains of outsourcing all infrastructure can begin to dry up. Once an organization needs many instances to support its workloads, the variable pricing model of the public cloud can become an issue, putting pressure on dev/test teams and finance departments to monitor and pay for substantial pools of resources, respectively.

At this juncture, it almost always make sense to consider running particular workloads on internal systems, in a private cloud, to support more efficient development, testing and deployment. In the long run, owning is almost always cheaper than renting, especially since public cloud prices have not dropped in line with Moore's Law.

The private cloud provides superior control, security and customization, while the public cloud offers capacity and scalability. An approach that draws upon both makes hybrid cloud an increasingly viable, economical way forward.

To this end, Eucalyptus offers open source software that teams can use to create a high-performance private cloud with a path to hybrid services via AWS. At a high level, selecting Eucalyptus means that organizations can obtain both scalability for high-growth applications and superior management of cloud costs and data. The variable expenses of public cloud are replaced with the one-time CAPEX of procuring top-shelf hardware, along with fixed software licensing costs. As development, testing and production workloads scale dramatically, expenses don't have to. As an added benefit, private cloud users get more granular control over operations, setting themselves up to grow and respond to emerging challenges.

The Private Cloud's Role in Regaining Control, Streamlining Processes and Lowering Costs

Companies are drawn to the public cloud in part because using it requires minimal machine management. Stewardship of infrastructure is handled by the service provider, removing the IT burden that may have otherwise set these organizations back. Services such as AWS give some of these companies scalability that they could not obtain easily if they had to manage their own hardware procurement and configuration. Still, the variable costs of public infrastructure add up quickly up, especially when operations scale.

Businesses eventually face the prospect of running numerous workloads on machines that they don't own. Since dev/test teams only get a sliver of the IaaS provider's resources, they have to account for potential performance issues as well as protracted testing cycles that may necessitate extended use of an instance. They may choose to secure high-performance virtual machines from the provider in order to ensure that tasks get the compute, storage and networking resources needed, but doing so comes at a cost.

Moreover, managing processes that rely heavily on public infrastructure becomes increasingly difficult as technical requirements evolve and become more demanding, largely due to the high level of variance in performance on public platforms.

Benchmark testing on IaaS speeds, conducted by InfoWorld in February 2014, underscored this issue, showing that the same IaaS machines often achieve different results on each instance of a common performance test. Performance changes depending on who else is using the same shared resources, what type of hardware is being used and how much bandwidth is available at a given time. Many organizations have rethought their approaches to public cloud computing after realizing that they couldn't get access to the bleeding-edge hardware and dedicated CPU performance offered by dedicated private clouds.

Given that the customer has limited say over what type of hardware is usable on a public platform, one of the most apparent reasons for moving operations to a private cloud is to regain control over servers and appliances.

Doing so provides the immediate benefits of predictable performance and greater choice, and drives the organization toward larger financial gains in the long term. The multi-year replacement cycles for hardware, in tandem with the fixed pricing model of private cloud and related software such as Eucalyptus, means that organizations can continually trim spending. The one-time cost of even a high-end server is less than or equal to a typical monthly public cloud bill. With this approach, companies can have the best of both worlds as public services remain available through APIs.

When organizations need a lot of instances to support basic everyday workflows, the variable costs of public cloud infrastructure can pile up as additional bandwidth, compute and storage are required. Compared to that level of spending, the upfront expense of premium hardware on which teams can run a multitude of VMs, with greater insight into costs is minimal. For example, buying a top-of-the-line Dell server that can be utilized for several years can be a more sound investment than dealing with potentially steep expenses each month with the public cloud.

For Web apps, e-commerce portals and other memory-hungry applications, the elastic pricing, limited controls and unpredictable performance of the public cloud can be obstacles to growth and business sustainability. Addressing this issue by moving operations to a private cloud is not a light undertaking. It requires investment in updated equipment, migration of large amounts of data, selection of new software and acclimation to additional APIs. Eucalyptus streamlines the process of setting up an AWS-compatible private cloud and provides significant cost savings compared to both public cloud and do-it-yourself private cloud projects such as OpenStack.

AWS Hybrid Cloud: Private Cloud Cost Controls and Hardware Flexibility with the Scalability of Public Infrastructure

Controlling cloud costs is often a matter of minimizing hourly compute expenses and leveraging automation and dedicated resources to achieve reliable performance. A Eucalyptus private cloud facilitates this type of agile, cost-effective environment. It also adds compatibility with public cloud APIs that lets users support Web-scale applications even as they attain better control over infrastructure and spending.

While some organizations completely move off the public cloud in order to gain full control over equipment, data and costs, the considerable scale of many applications and the dev/test and deployment processes that accompany them usually necessitates a hybrid approach.

Demonstrating this state of affairs, a March 2014 Gartner report found that 50 percent of enterprises around the world would likely emulate Web-scale IT practices by 2017 as they try to scale out their businesses. Many of them are likely to use open source solutions that enable high flexibility in hardware usage and provide options to draw upon both private and public infrastructure.

In this context, a key cloud use case is cloud bursting, the practice of running an application on-site or in a data center until demand spikes to a level beyond what the facility can accommodate. At that time, the workload is shifted over to a public cloud, in which it benefits from virtually limitless capacity. Having these extra resources is critical for supporting applications that have increasingly dynamic requirements. As an added benefit, costs are precisely controlled because public clouds are utilized only when needed and not on an indefinite, ongoing basis.

Cloud bursting turns public cloud infrastructure such as AWS into a spillover resource for private clouds running Eucalyptus. This is one of many cost-effective use cases for Eucalyptus. Organizations can also work on software from within the safety and control of a private cloud and then shift the application, unchanged, to AWS when the time is right. This use case relies on AWS as a production cloud instead of a development cloud.

This hybrid arrangement of a Eucalyptus-powered private cloud in conjunction with AWS is an ideal way to fully utilize internal IT capacity, while keeping expenses under control. For organizations that once depended entirely on the public cloud, shifting to a cloud-bursting model makes it practical to focus resources on software development rather than cost-conscious number crunching.

"We frequently work with companies and lines of business that grew up on a public cloud now. They are now beginning to see their spend grow faster than expected," observed Eucalyptus vice president Greg DeKoenigsberg. "It eats into their margins and distracts development teams who now have to consider the economics of running tests rather than focusing on innovation."

While public cloud prices have been dramatically slashed in 2014 by vendors such as AWS and Google, there is more than the nominal price tag to consider when picking a platform. As the InfoWorld benchmarking tests demonstrated, performance is variable on public cloud. Moreover, the erratic trajectories of high-growth applications and the amount of public cloud resources required to support them can combine for surprisingly high monthly bills. Closer comparison of public infrastructure with internal systems is merited, since workloads that initially seem like ideal candidates for public IaaS may be more efficiently run on dedicated hardware.

"[I]n some instances there may be substantial differences in the performance of virtualized instances within public clouds - both within different jobs, and even in the context of the same job - introducing a variability that must be taken into consideration when comparing execution economics," wrote Carlo Daffara in his report Cloud Computing Economics: An evidence-based approach for Research Applications.

"A common error, in this sense, is comparing a generic CPU/hour cost per core between an internally provisioned hardware system and an external public cloud: The comparison is in many instances biased by a factor 2 to 10."

Interest in Private Deployments Accelerates as Organizations Consider Cloud Costs, Performance

There are many options for controlling cloud spend, and private cloud adoption as a whole is gathering momentum. Software such as Eucalyptus putting organizations in position to save money and reap substantial operational benefits for agile dev/test environments.

TechTarget's Data Center and Readers' Choice Survey 2013 found major year-over-year growth in the number of enterprises expressed in setting up a private cloud - the figure jumped from roughly 8 percent in 2012 to 15.5 percent in 2013 (roughly 100 percent growth). Cost was a leading concern for respondents, some of whom noted the financial difficulty of relying on large numbers of remotely hosted instances in the public cloud.

Organizations now have the tools they need to establish secure, scalable cloud infrastructure that bridges internal systems and public services. The modern private cloud furthers the benefits that many companies have received from virtualization, while creating a path to hybrid cloud. For example, using tools such as VMware for virtualization remains a predominantly manual process that consumes the IT department's time and exacts additional costs on top of other infrastructure expenses.

With Eucalyptus, virtualization is handled more efficiently, automatically and better coordinated with the needs of agile teams who require resources quickly. On Eucalyptus, developers and testers can work with the same rich APIs, functionality and environment afforded to them by the public cloud. More broadly, deep support for AWS APIs means that advances in AWS are de facto contributions to Eucalyptus (because of API compatibility), giving users access to new features that provide versatile services at an affordable rate.

"There is a common perception that controlling your IT destiny is complicated and expensive," says Eucalyptus CEO MÃ¥rten Mickos. "It certainly has been so. But today with highly evolved hardware and highly automated cloud platforms, operation of your own infrastructure is becoming easier and less expensive by the day."

The high number of code commits per contributor to the open source Eucalyptus product underscores the robust community activity that has made Eucalyptus a uniquely powerful, economical way to contain costs and improve infrastructure utilization. Users may opt for a fully private approach or take advantage of AWS compatibility for hybrid arrangements that facilitate the seamless, cost-effective migration of workloads.

Organizations have many options for controlling cloud costs. However, achieving long-term savings requires solutions that empower teams to efficiently develop, test and deploy software and get more out of existing infrastructure. Moving off the public cloud can lower expenses to some extent, but companies need alternatives that offer similar levels of convenience and flexibility through support for automation, powerful hardware and public APIs.

Eucalyptus provides support for fast application lifecycles, while also keeping costs down. It enables greater control over IT budget, performance and infrastructure, and gives users the ability to connect environments to an AWS-like ecosystem via API compatibility. Ultimately, organizations no longer have to choose between expensive on-premises IT and the variability of public IaaS - they can get the features of the private and public cloud that are best for software development and the bottom line.

Get Started with Eucalyptus

Use FastStart to easily deploy a private cloud on your own machine from a single command!