Don’t Overpay for Cloud: Six Mistakes To Avoid When Moving to the Cloud
Six common mistakes can lead to a high cloud bill and stress for CIOs, including paying for unused resources and over-provisioning compute instances.
Join the DZone community and get the full member experience.Join For Free
The public cloud is here to stay. Analyst surveys estimate that total public cloud spending will reach US$1T by 2025. The promise of reduced cost, on-demand provisioning, and innovative financial models are key drivers of this growth. However, as with any new technology, there are teething challenges. A pervasive CIO concern has been the seemingly out-of-control and opaque cloud bill and the associated lack of organizational governance around cloud costs. Unfortunately, by the time the CIO intervenes, it’s too late, as the money has already been spent.
While optimizing cloud spend requires a hands-on approach to governance and forecasting, it does not require perfect knowledge of the future. The graph below illustrates that reservation-based discounts can deliver cost savings even when you can’t fully predict your upcoming cloud needs.
Here are six common mistakes that contribute to a runaway cloud bill (and the resultant CIO stress):
Mistake #1: Paying For Unused Resources
According to analysts and industry surveys, approximately 30% of cloud bills are spent on unused resources. Contrary to what cloud providers say, you do not pay for what you use. Rather, you pay for what you provision. Resources provisioned for transient experiments are often not decommissioned and contribute towards inflating the cloud bill. Recommended optimizations include the proactive deletion of unused resources like compute instances, unattached storage volumes, and aged snapshots. Turn off resources when they are idle. Switching off development environments after office hours can reduce consumption by as much as 60%.
Mistake #2: Overprovisioning Compute Instances
Compute resources are generally the largest contributor to a cloud bill – approximately 50%. Teams responsible for choosing the instance configurations are often not the ones responsible for paying the bill. Hence, more than a third of cloud instances are habitual — and cautiously — grossly oversized. Moreover, long on-prem procurement cycles have contributed to the practice of overprovisioning to play it safe. Developers are not incentivized to rightsize their deployments.
We recommend that resource consumption be tracked and continuously analyzed. Instances running below 40% are good candidates for rightsizing. Sizing instances smaller and leveraging the elastic scaling of the cloud is the best way to dynamically balance capacity and demand, yielding minimal residual waste. Beyond rightsizing for capacity, you should also explore ways to leverage the global scale and differential pricing model of the cloud. Identical instances can vary in price by geographical location. A team in Brazil, for example, can deploy long-running, time-insensitive workloads (e.g., simulations) to an identical instance family in US East, where costs are much cheaper.
Mistake #3: Allocating the Wrong Storage Type
Every workload is different. Whereas transactional workloads will benefit from low-latency, expensive solid-state drives, batch workloads like log processing will run fine on cheaper magnetic volumes. Analyze and understand your workload data access patterns to make cost-efficient tradeoffs on underlying storage choices, including storage type, capacity, and IOPS. Not all data needs to be immediately available. Financial institutions, for example, store statements of the last two years on easily accessible block storage while relegating older documents to much cheaper object storage.
Mistake #4: Ignoring Cloud-Based Networking and Data Transfer Costs
Networking-related costs can be a silent killer! Unlike on-prem, you pay for each of the networking services provisioned by the application (e.g., elastic load balancers, IPs). Depending on how your application is deployed, data transfer costs can rack up quickly. Understand how application deployment choices impact the bottom line. Configure just enough resources to support the qualities of service expected by the application and nothing more.
Mistake #5: Not Leveraging Reservation-Based Discounts
All cloud providers offer discounts — up to 70% — in exchange for commitments of usage. Many organizations do not take advantage of this major savings opportunity due to a lack of awareness or planning. Strive to run steady-state workloads under highly discounted reservation-based pricing. It is equally important to be aware that unused pre-paid capacity, if not consumed within the contractual period, is lost. Hence, investing in pre-paid capacity requires continuous monitoring of reserved capacity inventory levels. Beyond reservations, explore alternative models like auction-based pricing and enterprise discounts to determine the best-fit pricing model for your workloads. Also, consolidated billing provides the best chance to negotiate discounts based on bulk usage.
Mistake #6: Not Knowing Who Is Consuming What Resources
It’s hard to get off the ground with any cost optimization initiative if you cannot easily track consumption to a specific person, project, or team. Traceability enables chargeback/show-back reporting and helps identify any shadow IT accounts that may exist. A well-defined tagging architecture is foundational to building a culture of accountability. A good understanding of your usage patterns will help you proactively plan purchases of highly discounted prepaid capacity.
Wrapping It Up
Cloud optimization is a continuous process. However, as always, it ultimately boils down to people and culture. Nurturing a cost-aware organizational culture based on well-enforced governance procedures that steer clear of the above mistakes will help avoid unnecessary surprises in your cloud adoption initiatives.
Published at DZone with permission of Benedict Fernandes. See the original article here.
Opinions expressed by DZone contributors are their own.
Hiding Data in Cassandra
Alpha Testing Tutorial: A Comprehensive Guide With Best Practices
Comparing Cloud Hosting vs. Self Hosting
Tactics and Strategies on Software Development: How To Reach Successful Software [Video]