Cloud has many advantages, and one motivating factor that caused many to make the migration is the promise of cost savings. But even though cloud can cost less than on-premises data centers, it’s easy for companies to let their cloud bill get away from them.
According to Asim Razzaq, CEO of Yotascale, there are a number of unnecessary costs associated with cloud, such as idle resources, over-provisioned services, and unneeded data management.
In order to successfully avoid those unnecessary costs, Razzaq believes IT teams should have an owner who is directly responsible for managing this, and ensuring that cloud spend can be tied to business value.
He recommends that as a first step companies look at their utilization numbers to figure out what they are actually using. “Are they 50% utilized? Are they 25% utilized? In a lot of cases, if you are below a certain utilization number, then you are wasting a lot of resources — and that could be on the memory side or that could be on the CPU side … We should be thinking about right sizing, using resources that have lower CPU load, lower memory, lower attached storage,” he said.
Utilization will be more difficult to track in newer applications, so he recommends having more headroom for newer applications until you understand them better. But for older, more stable applications, you might have a better understanding of how much headroom is needed. If you end up going below that number, that’s an indication that you’re overprovisioning.
Scaling up an application to meet increased demand can be the culprit for overprovisioning. Companies scale up their cloud resources to meet the demand of a moment in time, but often no one goes back in after that moment to clean up, so those resources are still running up your cloud bill.
Another example of how not understanding how much you’re using is from the business side of things. A SaaS provider might be charging a customer $100,000 per year for an application, but if their AWS cost to run that application is $250,000 then the pricing is way off, according to Razzaq.
“You have to look at your economics to figure out not only that you can improve on the wastage and have less of it, but also you might have to look at the business model to say the pricing is not going to work on an ongoing basis,” said Razzaq.
So when engineering teams are creating new features, part of the discussion should be how much extra that new feature will cost when it is deployed in AWS, or whatever other cloud provider they might be using.
According to Razzaq, the companies that have the most success at controlling cloud costs are the ones that focus on the entire life cycle.
He recommends this topic be covered in interviews when bringing on new IT staff as well. “As you’re talking to engineers, it’s not just about the best system that can build the best performance and reliability, but paying some more premium on engineers who’ve gone through the cycle of being cost-conscious, designing systems that are cost-effective. I think the more people like that, who have that in-the-trenches knowledge will help the company move forward,” said Razzaq.
Culture is also a big part of the equation. If you have someone who is onboard with keeping costs down, they can drive the culture towards that. But, it’s important that this comes from the mindset of trusting engineering teams. If it comes from a place of distrust, then it’s doomed to fail, said Razzaq.
“Trust your engineering teams, empower them, equip them with the right tools, and then get out of the way,” Razzaq said.