When you're building out a cost forecast, the go-to will always be to use financial data to drive your model. This response is no different when building a cloud cost forecast, especially since cost data is made so rich and readily available by CSPs. However, creating a cloud cost forecast with just cost data leaves a lot to be desired - but it’s hard to collect all the other useful infrastructure data we might need, and keep track of how our costs are expected to look in a fast-paced environment of continual development.
This is where DevOps come in to save the day, ensuring that you get the right data, at the right time. DevOps processes are centered around 3 things: people, process, and technology. In this blog, we'll be focussing on how DevOps processes promote standardisation and automation from the beginning to end (including during testing!), which is essential getting the right data to build a more accurate cloud cost forecast.
The following are 3 ways DevOps practices can help improve your cloud cost forecasting capability…
1. DevOps can enable you to collect the right data and have it easily available
Data collection is one of the biggest considerations you need to make when looking to build out your cloud cost forecast. The better our data, the better inputs we have for our forecasting model. However, the challenge to getting our data collection process right is that there is so much data available, from so many different sources. How do we make sure we're collecting all the data we need, and make sure it is available to us in one place?
Automation of data collection: DevOps pushes for automation to help speed up and remove human error from the data collection process. Since we want to enrich our cloud cost forecasting model which data from numerous sources – business, costs and utilization, we can use automation to ensure we’re collecting everything in an automated, timely manner.
Centralised data repository: Once we have all the data collected, we need to be able to access it. One big facet DevOps provides is the process of making all the data we’ve collected centralised, and available via dashboards. This can be implemented so that we can see all the collect and utilisation data in one place, consolidating various data sources together, and making it easy for us to forecast.
2. DevOps can ensure you to proactively consider forecasting needs from the beginning
A common reason you can struggle with getting an accurate cloud cost forecast is because you haven’t planned for needing to do it earlier down the road. DevOps pushes for continual consideration of all necessary requirements, from beginning to end, which ensures that you continually consider your needs for cloud cost forecasting. There are numerous ways DevOps practices can help:
Implementing DevOps best practices: DevOps already has plenty of established best practices concerning cost management and monitoring, such as its focus on monitoring and observability, which encapsulates costs, and its focus on people – bringing together DevOps with other important teams such as Finance and FinOps. This focus on costs and getting the right people involved makes it overall easier to conduct initiatives like cloud cost forecasting.
Cost NFRs: It’s great to have a forecast for the future, but you also need a budget for now. Cost NFRs should be implemented and checked at each step, and DevOps practices allow for these to be put in place alongside all the other typical NFRs you might expect for a solution. These NFRs can also be adjusted over time as your forecast changes.
Standardised tagging policy for all deployments: Using infrastructure-as-code solutions makes it extremely easy to ensure that all deployed resources are well-tagged. This is crucial, as these tags will be picked up in your data collection process, and can be used to improve your cost forecast. For example, you can ensure that all resources are tagged to the correct platforms. When you’re forecasting based on this data, this tag will make it easier to understand cost and utilisation associated to each platform, adding another dimension you can analyse your forecast with.
3. DevOps can use test environments to prevent expensive surprises in production.
DevOps has a well-defined process for testing, which ensures that rigorous testing is done frequently, before anything is pushed into production. This means that our tests are a window of knowledge into how production will look, not just for capacity and performance, but also for costs.
Cost as a test metric: We can use all the testing that’s happening to our advantage and push cost as another factor we should be considering when reviewing the results. For example, if you’re testing out new architecture, you can use your test environment to understand how much it costs, and if that aligns with your budget – which should be defined prior to testing. Testing can also be done to check that things we expect to not affect our costs at all, don’t!
Test that demands and costs scale as expected: Now that cost is a factor in our testing, we can consider how our costs scale with demand in our performance testing, especially in autoscaling solutions. Awareness of costs during testing means it should be easy to spot when cost out scales demand, and where wastage within the infrastructure appears. Using all this information gleaned from our testing, we can fix it before it is pushed to production, saving time and money in the long run.
It is important to leverage what you might already have. Lots of organisations already have DevOps processes which just need to be tweaked a little in order to get additional benefit, such as better cloud cost forecasting.
If you would like to find out more about how DevOps can help improve your cloud cost forecast please just send me a D.M at sarahhurley@capacitas.co.uk and I will be happy to schedule a call.