Cloud is cheap, but cloud is expensive
20 Apr 2025
Chateau D'Urspelt, Luxembourg, July 2024 @babafemio
In the realm of technology, cloud computing presents a unique paradox: it offers significant cost advantages through its pay-as-you-go model, but there are potential pitfalls that can lead to increased expenses if not managed properly. This dual nature makes it essential for businesses to understand and manage cloud costs to leverage this technology effectively.
The paradox of cloud computing costs
One of the most appealing aspects of cloud computing is its affordability. Traditional IT infrastructure requires substantial upfront investments in hardware, which can be a barrier for startups and small companies. In contrast, the pay-as-you-go model allows businesses to start small and scale their resources up or down based on demand without the financial burden of unused capacity. This flexibility makes cloud computing an attractive option for businesses looking to minimise costs while maximising efficiency.
One compelling argument for using cloud services is that traditional IT often overprovisions resources. Typically, organisations must size their infrastructure based on capacity requirements for the next five to ten years, depending on their needs and the effort required for upgrades. However, overprovisioning can also occur in the cloud, albeit on a smaller scale, and we may not always recognise it. The cost dynamics are not straightforward. Overprovisioning can lead to underutilised resources and unnecessary expenses. For instance, a company that overestimates its future resource needs might pay for unused capacity, resulting in additional costs.
Exploring cloud service models: VMs, Containers, PaaS, and Serverless
Understanding the cost structures of different cloud service models is essential for making informed decisions. Virtual Machines (VMs) offer flexibility and control but can be more complex and costly to manage. Containers provide a lightweight alternative that is ideal for microservices architectures but may require additional management overhead. Platform-as-a-Service (PaaS) abstracts infrastructure details, simplifying deployment but with potential limitations in customisation. This ease of use comes with a premium; hence, the PaaS is more expensive than VMs or Containers. For example, using Azure Spring Apps (formally Azure Spring Cloud), a managed service is more costly than running the same code in your own Azure Kubernetes Service (AKS) cluster.
To quantify this premium, let’s use a simple service from one of the most simple cloud computing providers, Digital Ocean. A 1vCPU, 2GB RAM Droplet or (Virtual Machine) per month costs $12. You can then choose to deploy a database such as open-source PostgreSQL in your VM (for free). However, if you go with their managed PostgreSQL service for the exact server specification, it will cost you $30.45 (Please note that these prices are as of the 19th of April 2025). This is a whopping 154% premium for the extra features you get. The features include automated provisioning, automated backups and failover, and easier upgrades and updates, and they are very compelling. But you would have to balance the cost with the ‘cost’ of doing it yourself, especially when you have the skills and, of course, with your time!
Serverless computing is particularly interesting as it allows developers to focus on code without worrying about the underlying infrastructure. However, it may not be suitable for all applications. For example, the Amazon engineering team wrote a blog post about how they moved away from serverless due to its cost and performance challenges. Although it seems the original post from the team is no longer available, the content was thought-provoking and presented a specific case study that was very helpful to engineers in understanding the cost and performance impact of service model choices.
Adjusting cloud strategies and striking a balance
A practical example illustrating these cost considerations is Amazon’s decision, mentioned earlier, to move some Prime Video services back to EC2 and ECS from serverless environments to improve performance and save costs. This adjustment highlights the importance of periodically reassessing cloud strategies based on financial analysis and business needs. Such real-world applications underscore the dynamic nature of cloud computing and the necessity of adaptability in cost management.
Cloud providers can also provide options to reserve resources over a couple of years for prices cheaper than the regular pay-as-you-go because they understand this thinking. The pitch is that if you can commit to some consumption, they will match your potential CAPEX investment in these resources (plus or minus) and take away the challenges of managing your computing resources. Good deal, right? However, the terms require that you are a wizard and can predict how much resources you would need during the period, as any overage or they take you back to classic pay-as-you-go, and your cost can easily escalate 3-fold if not managed properly. In some cases, if you don’t fully consume our reserved resources, you will also lose savings!
Another critical balance to strike is between reserved instances and pay-as-you-go rates. Committing to reserved resources for a set period can offer discounted rates, but accurate forecasting is essential. Overcommitting or undercommitting can lead to inefficiencies and additional costs. This emphasises the need for businesses to assess their resource needs and adjust accordingly carefully.
Financial planning in cloud decisions
Cloud decisions are not only technology decisions. They need to be rooted in sound financial decisions as well. Beyond technology selection, financial planning plays a pivotal role in cloud cost management. Aligning cloud strategies with company financial goals requires a nuanced approach, considering factors like industry-specific demands and business size. Different industries may prioritise scalability, security, or cost efficiency differently, influencing their cloud adoption strategies.
Another factor to consider is the distinction between Operating Expenses (OPEX) and Capital Expenses (CAPEX). Cloud computing typically falls under OPEX, meaning businesses pay for resources as they use them. While this avoids tying up cash in physical infrastructure, it also means continuous expenses that require careful budgeting. This contrasts with the traditional CAPEX model, where investments are made upfront and depreciated over time.
The choice between OPEX and CAPEX in cloud computing depends on the business’s specific needs, financial situation, and growth projections. Startups or businesses with limited capital may prefer the flexibility and cash flow benefits of OPEX. Conversely, established companies with predictable demand might find CAPEX advantageous for upfront savings and infrastructure control. Understanding these cost implications helps make informed decisions aligning with strategic goals and financial health.
In conclusion, while cloud computing provides significant benefits in terms of flexibility and scalability, it requires careful management to avoid unnecessary expenses. Businesses can optimise their cloud usage by understanding the dual nature of its costs and adopting a balanced approach that considers both cost-saving measures and financial responsibility. Emphasising this balance will help organisations navigate the complexities of cloud computing, ensuring they maximise value while maintaining cost efficiency.
As you embark on your cloud journey or assess your current cloud deployments, keep these key points in mind:
- Remember the dual nature: Cloud decisions must balance both technical capabilities and financial implications
- Understand the cost dynamics: Understand that cloud services can be both cost-effective and expensive depending on your use case
- Choose service model wisely: Different cloud service models (IaaS, PaaS, SaaS) have varying cost implications - choose based on your specific needs and budget