Kubernetes helps orchestrate and automate tasks associated with containers - an essential need as you scale. Here's a deep dive for IT leaders on what Kubernetes can do, key terms, best practices, trends for 2020, and more.
Multi-cloud spending: 8 tips to lower costs
Are you overspending with your multi-cloud strategy? IT leaders and multi-cloud experts share their best advice on how to optimize costs – and avoid unnecessary waste when using multiple cloud providers
Companies are spending loads of money on cloud. But that doesn’t mean this money will always be spent wisely. Research firm Gartner expects global spending on public cloud infrastructure (IaaS) alone to total $39.5 billion in 2019. Meanwhile, IDC predicts public cloud spending (including IaaS, SaaS, and PaaS) to approach $500 billion in 2023.
However, cloud cost management vendor ParkMyCloud, using Gartner’s $39.5 billion IaaS figure as a starting point, estimates that companies will waste more than $14 billion on unnecessary public cloud infrastructure spending this year – and the firm thinks that figure is “probably low.”
[ Read also: Multi-cloud by the numbers: 11 interesting stats. ]
ParkMyCloud’s $14 billion-plus estimate is based on assumptions about two of the biggest culprits in cloud waste: idle resources (compute resources you’re paying for on an “as-you-go” model, such as per hour, but not actually using) and overprovisioning (buying capacity for some possible future scenario that may or may not ever materialize, but that you’ll pay for regardless). It doesn’t account for other possible causes of waste; hence the company’s claim that its figure might be on the low end.
Even if you take a different tack and assume for any reason (even plain cynicism will do) that $14 billion is too much – even double or triple the actual amount, for argument’s sake – you’re still looking at multi-billion-dollar waste.
Idle resources and overprovisioning can happen in a single public cloud. So when you consider the added operational complexity of multi-cloud and hybrid cloud environments, hawking your spending becomes all the more crucial. In fact, cost optimization might be one of the business drivers of a multi-cloud strategy in the first place; assuming cost optimization is a setup for failure.
"As multi-cloud adoption grows, teams need to be aware of the differences between clouds,” says Jeff Aden, EVP and co-founder of 2nd Watch. “From training to optimization, costs can vary widely, and as spending increases, oversight and alignment across clouds become more important.”
[ Multi-cloud strategies are becoming more intentional: Read Multi-cloud: 5 important trends to watch. ]
We tapped a variety of IT leaders and multi-cloud experts for their best advice on what to watch for in terms of cost optimization – while steering clear of the risks of unnecessary waste – as you implement and manage a multi-cloud environment. Here’s what they recommend, starting with the big one: Resource allocation and optimization is an ongoing process, not a task that you cross off your to-do list. Let’s dig in.
How to reduce multi-cloud costs
1. Get the fundamentals right
If idle resources and overprovisioning are two of the biggest sources of cloud waste, this suggests that organizations aren’t paying close enough attention to their environments – or are unhappily married to strategies that undermine the benefits of cloud.
Mor Cohen, cloud CTO at Turbonomic, notes that many companies are in the habit of overprovisioning to ensure application performance, but this means they’re typically paying for peak usage 24/7. (Turbonomic acquired ParkMyCloud earlier in 2019.)
“As a result, they eliminate one of the key value points of cloud infrastructure – that it can grow or shrink based on application demand,” Cohen says.
Some teams will need to embrace greater automation in how they manage application resources, or consider relying on outside help. (There’s also a perspective that resource optimization needs to be a full-time role unto itself, but we’ll get back to this in a bit.) Increasing complexity in multi-cloud environments doesn’t mean existing teams should just surrender. Paying closer attention to the fundamentals will help root out waste.
“[Keep] an eye on utilization, configuration, and changes to the cloud environment,” Cohen recommends. “There are some very simple things people get wrong as they configure their environment that can lead to massive waste and unnecessary spending.”
[ Read our related article: Multi-cloud vs. hybrid cloud: What’s the difference? ]
2. Look closely at non-production instances
If you copy your configurations across production and non-production instances (such as dev), for example, you should definitely double back for a closer look at your recent bills. Cohen points to snapshotting and backup configuration as a specific example. She recently spoke with a customer that had discovered that it was spending roughly $500,000 each month on old dev snapshots. Uncorrected, a “simple” mistake like this would cost $6 million per year in unnecessary cloud bills.
Another “simple” reminder: Regularly visit and reevaluate resource allocations post-deployment. These are rarely static needs.
“The big item is to watch and analyze monthly and determine a root cause for variations,” says Michael Cantor, CIO at Park Place Technologies. “There are a number of categories that are easy to forget, ignore, or not implement for convenience.”
Like Cohen, Cantor says non-production instances are a good place to review. (Running them 100 percent of the month? That’s probably not necessary.) Cantor also points to underutilized or unnecessary storage as another example. Storing idle instances is an example of the latter. On that note, Cohen says that some people make the mistake of thinking resource allocation is merely a matter of CPU and memory – don’t forget about storage, network, IO throughput, and other factors.
3. Avoid governance bottlenecks, but keep guardrails
Just the word “governance” is enough to put some people to sleep; it’s the boring side of IT. But punting on governance is like saying “I’d like to pay more than necessary” in multi-cloud environments. Remove bottlenecks, but replace them with guardrails.
“Lack of oversight and control can cause quick and painful cloud journeys,” Cohen says. “The great thing about DevOps is that it enables greater agility and lowers time to market. But in the extreme, when dev organizations get full control with no ability [for leadership] to force changes and optimization, costs quickly run rampant.”
The same can extend outside of IT. If you really want to monitor and optimize multi-cloud costs, IT needs oversight of cloud use in other departments.
“With cloud services becoming easier to deploy, identifying cloud services that are managed outside of the IT department can be key to minimizing unnecessary spending,” says Matt Dierolf, enterprise architect at Anexinet, who adds that there are various tools that can help identify “rogue” cloud services. “Once [they’re] identified, you can work with business stakeholders to bring these services under the management of IT, allowing you to apply better pricing and management that will ensure these environments are optimized.”
4. Let business goals – not the calendar – guide cloud strategy
Here’s a lesson some companies learn the hard way: If the “goal” of your cloud migration or implementation is essentially just a date on the calendar, you’re all but guaranteed to have some surprise bills later.
Deadlines are good motivators, but not at the expense of actual strategy. Multiple experts note that cost optimization is much more attainable over the long haul when it’s top of mind in the planning and architecture phase.
“I’ve seen a number of companies where the mandate is ‘get everything in the cloud by MM/DD/YYYY,’” Cantor says. “An approach like that will encourage simple transition of VMs with their current CPU/memory/storage into the cloud with no optimization thought. It does take longer to go through [in-depth planning and architectural strategy], but it’s necessary for the long-term cost optimization of the cloud environment.”