Over the past decade, there has been a race to migrate workloads to the cloud. However, companies on the leading edge of this adoption have found that, along with a multitude of benefits, there are a number of important considerations (read: drawbacks). Each feature is a double-edged sword:
Moving CAPEX to OPEX: This enables startups and established businesses alike to move quickly by deploying new functionality, and by reducing the initial investment in infrastructure. However, systems that were previously depreciated over a fixed period, and became cheaper due to inflation, are now an ongoing monthly expense in perpetuity. The other considerations include a reliance on DevOps, FinOps, and SRE capabilities within the team to take advantage of the advanced functionality facilitated by each cloud, and the Cloud-specific training your team will need to undergo (or you’ll need to acquire). Bear in mind, though, that this Cloud-specific training isnt always transferrable, meaning that a migration from one provider to another will present significant costs.
Scalability and Flexibility: This enables businesses to scale workloads (website, applications, etc) ’elastically’ - i.e. the systems expand and contract in line with demand. The obvious benefit is that a ‘spike’ in traffic (Black November, anyone?) should be gracefully handled rather than causing outages and poor customer experience. It also facilitates the deployment of workloads in a multitude of regions quickly and efficiently, and potentially with the benefit of using ‘managed services’ which simplify adoption and ongoing support of those services. The downside? Inadequate capacity planning and training will mean your business spends more on resource (often multiples of what might otherwise be spent!), while the ability for all engineers to provision equipment without proper safeguards often leads to overspend (We often find virtual servers running for months which had been left unused and forgotten). Uncle Ben (superman) said it best: “With great power comes great responsibility”
Faster time to market: Arguably, this is one of the main benefits of cloud, and we are hard-pressed to find drawbacks to this. However, for completeness, we should highlight that the ‘Project Management Triangle’ states that maximising cost, speed, and quality at the same time is impossible - generally its ‘cost’ that suffers, as highlighted above.
Managed Products/Services: We’re referring to the cloud-provider-specific managed products available within their offering. At first, AWS and its competitors offered basic services which included virtual servers, a variety of database products, and storage. This soon grew to include managed message queues, log aggregation and analysis tools, SSO products, IoT tools, etc. On the one hand, these tools enable companies to move more rapidly by not having to build in-house systems and capabilities. On the other, these services are often the single biggest reason for companies being ‘stuck’ in AWS, Azure, or otherwise. Moving away from them requires too much re-architecting, re-engineering, and re-training.
In summary, its difficult to say with certainty whether the benefits outweigh the drawbacks for all companies, but for those companies wishing to pursue a ‘cloud-native’ approach, the challenges should be well-understood, and the expertise - especially in Cloud Cost Optimisation - should be available to your team, before pursuing this route.