The cost of cloud: What should be included and how to manage it?
With more and more complex computing workloads shifting towards the cloud, the question everyone will be asking themselves is “how much will this cost me?”
At the start of a cloud journey, organisations start with designing a small-scale concept based on how they might approach running their cloud-native applications. Considerations include the use of virtual machines, containers, and serverless applications, or combinations of all three. Further expanding this line of thinking, many will ask how scalability, security and high-availability should be designed, before finalising the approach for monitoring, continuous delivery and load testing.
The first stage of the technical design process for cloud is to analyse all associated cost considerations; every major public cloud provider offers a budget calculator for estimating the cost of utilising their services.
You should already have a first-stage technical design in-place, and this will inform the different application environments that are required for the solution. However, before releasing any new or updated application to the public, there has to be an internal environment running the updated version for the development team to test against. Whilst development environments tend to be smaller scale compared to the final ‘live’ production environment, they help organisations begin to understand their budgeting needs from an infrastructure perspective.
Once the first-stage technical overview is in place, the next stage is to understand how large the engineering team must be. Assembling an engineering team that is large enough and has the right skills to assist with project delivery in the agreed timescale is very important. As the engineering team grows, the required budget to support the project will also increase. The general aim of gathering a focused engineering team is not to overwhelm them with a large amount of work, but for them to take on a consistent and balanced workload. It is also vital to set aside a dedicated budget for training the team, in order to provide team members the time and space to develop their technical abilities. In today’s rapidly evolving and expanding technology environment, this is now even more important than ever.
Don’t forget outsourcing…
The final step in gathering a project’s budgeting needs is outsourcing. Alongside the internal application development team, in some cases, reaching out to a trusted and experienced third party may be required to provide guidance and support. This support may vary, from on-going application development, cloud infrastructure, or security verification. In most projects, the core engineering team does not have all the skillsets required to develop, deploy and maintain a cloud application.
The most common problem faced by many organisations is keeping their data secure. It is of critical importance for all major organisations (whether in banking, insurance, or any industry dealing with sensitive data), that their infrastructure and public web-facing applications are properly secured. In most cases, an in-house development team may not have access to a security team with the right skills to verify the application protection standards. This is a good opportunity to reach out to an experienced third party, who can support the project with web application security, and can sign off on the security standards before going public. Not building the correct engineering team, or not getting the right third party expertise will quickly expose any flaws in the agreed cloud budget forecast.
Reviewing the cloud cost journey
We have now analysed what should be included in your cloud journey. It begins with the creation of an initial small-scale concept of the infrastructure needs for the application. Then reviewing the different environments for the application, to allow the development team to freely test the updated application versions before making them live for the public or end-users.
The next step is building the right engineering team, and finding the best approach for your business. This may well include the possibility of utilising third parties for assistance, depending on the required application development, skills and timescales.
We have seen that the cloud journey cost considerations are split into two distinct elements; paying for the infrastructure used by the application, and budgeting for the engineering team. It is important to split out the management of these two elements to the right people.
Your responsibility to get it right
The person leading and managing how the budget is being spent on cloud infrastructure has to be someone in regular contact with the accounting team, such as a Project Manager or Product Owner. Those operating in such a role are able to share regular feedback on how the budget is being utilised and identify if the project is over-spending in any area.
The other side of the budgeting process is for ensuring the project has an engineering team of the right size and with the appropriate skills. This comes down to the right hiring processes, ensuring that engineers brought on to a project have the right skillset and are the right ‘cultural fit’ in order to create a motivated and effective team. Finally, outsourcing should be considered, where brining in experienced talent can help accelerate the project, particularly where the time to hire a technical skillset might otherwise delay the agreed project delivery date.
We recognise that the journey to the cloud is complex and should be considered as a strategic transformation. It will always have a cost to change, so organisations need to plan accordingly to make sure it does not exceed the allocated budget, or run into costly delays!