In the early years of cloud computing, cost savings were the major driver of adoption. These days, however, organizations are increasingly faced with spiraling expenditures, waste and a lack of control. As cloud usage bills and inefficiencies start to balloon, these challenges are beginning to undermine the benefits of migrating in the first place.
The truth is that optimizing costs in the cloud is more taxing than many organizations first expect. Identifying cost savings that can be made isn’t generally the hard part; effectively implementing those savings is where the real challenge lies.
A lack of control over infrastructure means that many organizations are failing to make the changes needed to truly realize these gains. So common are these challenges that there is even a word for the process to deal with them: FinOps. FinOps, at its core, is the culture and practice of creating visibility and accountability to manage cloud penetration throughout an organization, and it’s an area that is growing rapidly.
This is the second article in my series that looks at what needs to change so that organizations can really start embracing the opportunities provided by hybrid cloud and DevOps. In this installment, I’m going to take a look at the areas of FinOps, cloud waste and automation. In doing so, I hope to show that there is indeed life in the hybrid cloud and DevOps fast lane if handled the right way.
Get Ready for FinOps
If you think hybrid cloud and the topics of FinOps and, more specifically, cloud waste, haven’t come up during discussions, you’ve probably been living under a rock.
It naturally follows that the more agile an organization becomes the harder it needs to work to keep track of waste. Exponential growth is great, but without the right controls a cloud budget will disappear before there has been a chance to see any returns; there are even examples of companies migrating and then deciding to roll back—such are the concerns around lack of control and rising costs.
Based on survey responses from over 750 cloud decision-makers, Flexera found earlier this year in its 2022 State of the Cloud Report that organizations continue to waste significant amounts of money in the cloud. A full 66% of respondents said that cloud usage is “higher than initially planned this year”, and they estimated that they are wasting 32% of their overall cloud spend. A good five years into full cloud migration and most organizations still haven’t got a handle on costs.
The tricky part is that waste can rear its head at many stages over the course of a project, which is why it’s so important to maintain control from day one.
Establishing a baseline of an environment that is deemed to be the known state means that what is versioned can become a source of trust and the desired state of an organization’s cloud infrastructure. How is this possible? Simple: By creating a culture and practice of visibility and accountability throughout an organization.
How do you do that? Yes, you guessed it: FinOps.
Tackling Cloud Waste Head-On
The ideal time and place to start establishing robust FinOps policies and reducing waste come when the move has been made to start embracing a dual DevOps/hybrid cloud approach. The good news is that the principles of FinOps are easy to follow and can be applied at various stages of an application management life cycle and DevOps and hybrid cloud journey.
First, teams need to estimate financial and environmental costs ahead of deployment, something which can be particularly challenging when infrastructure-as-code (IaC) tools such as Terraform, Ansible or Puppet are being used, but which is essential to successful FinOps. Once a team has decided which cloud provider they will be using, how much they plan to spend and, more generally, what criteria will be governing these decisions, effective tag management comes in.
Tagging is the basis for achieving a structured cloud infrastructure, especially in multi-cloud environments that feature different resources being used for different purposes. Tagging means that users can add descriptive metadata (tags) to cloud infrastructure to identify key resources or values such as staging, development or production.
In a rapidly growing cloud environment, consistent and comprehensive tag management helps to keep track of what is happening in terms of cost, usage, availability, performance and security across a constantly transforming cloud infrastructure. Once a project has been deployed, these tags need to be managed and maintained across all cloud providers, something which is critical for the management of waste, but is often a huge and messy task.
Good tags help drive good decision-making and the more options there are for categorizing data, the better. To truly get a handle on tag management, finding a platform that can enable users to visualize and study multi-cloud costs in a central place makes it possible to establish that all-important baseline and start to reverse engineer invoices, optimize monthly costs and tackle waste head-on.
One Cloud, One Strategy
There was a time a few years ago that we used to hear people say this a lot: “I’ll migrate all my assets to a single cloud provider.” Cloud providers were pushing migration to a one-cloud strategy; considered completely normal at the time, but which has since been shown to be flawed, especially in the world of enterprise.
Segregation of responsibility is perhaps the best example of why—there are simply too many responsibilities that keep a modern business afloat to risk putting all your eggs in one (cloud) basket. Consider on-premises legacy apps, sensitive data, critical workloads, the production life cycle, ongoing applications without too many peaks and even backend apps. Then consider the cloud providers, new cloud-first applications, public data, non-critical workloads, the development life cycle and frontend applications dealing with high traffic.
Now imagine all of that suddenly disappears.
Hybrid cloud means eggs in multiple baskets. Yes, it adds a layer of complexity, but when so much is at stake, it’s worth it. And when you have defined where you want to host everything for each application, it becomes much easier to gain clarity. The challenge is that all cloud providers have their own ecosystem, which will either be private or public.
These ecosystems make it possible for everything to be integrated, but what is often not immediately obvious is that even though they are integrated, they are not always aligned. It’s in the interests of the cloud provider to provide the best tools to use their platform but not necessarily the best user or developer experience which is something that requires specialist expertise. That usually leads to a certain degree of lock-in as you generally cannot use their tools for managing other applications that aren’t part of the infrastructure.
This lack of transparency and visibility into other cloud providers can get in the way and impact the ability to get the most out of a dual DevOps and hybrid cloud strategy. However, by adopting a hybrid cloud approach, teams can choose the best cloud provider for each application, putting the team in the best position possible to provide the best services possible.
And finally, Always Consider the DevX Factor
For DevOps to thrive, it is important for companies to stay independent both for their own sovereignty and for creating the best developer experience, or DevX (a topic I have explored in a previous article for DevOps.com).
It’s easy to fall into the trap of using all the automation capabilities available from each cloud provider, but that locks an organization into a situation where it needs deep expertise across a wide variety of technologies. Adopting a one-cloud, one-automation strategy means that it would never be possible to migrate automation or reuse it in different application deployment processes across various clouds.
This is where automation of configuration management, IaC, CI/CD pipelines and the DevOps and hybrid cloud platform has a significant role to play. Automation on an organization’s own terms is arguably the most critical element in the race to reduce time to market and improve quality where concepts such as shift left are adding complexity and increasing the responsibilities piled on top of developers.
Using automation technologies to maintain autonomy and favor cross-subject expertise and team mobility gives organizations the freedom and flexibility to save time, money and roll out better DevX. Ultimately, it also helps to create the best possible environment for organizations to truly start enjoying a DevOps and hybrid cloud life in the fast lane.