It sometimes seems like guidance about cloud computing architectures and strategies can be summed up as follows: the harder, the better.
After all, most articles (including some that I've written) that you'll find about designing and deploying cloud workloads advocate for complex architectures and approaches. Multiple clouds are better than one, we're told. Microservices apps beat monoliths. Running your apps in containers is better than using virtual machines.
- What Is a Simple Cloud Architecture?
- The Temptation of Complex Cloud Architectures
- Why Simpler Clouds Are Better
- The Case for a Simpler Cloud Strategy
What Is a Simple Cloud Architecture?
When I talk about simple cloud architectures, I'm referring to ones characterized by the following:
- The use of just one cloud, instead of multiple clouds or a hybrid cloud model.
- The adoption of cloud services — such as virtual machine instances — that require minimal effort to deploy and manage workloads.
- Management practices that meet, but don't exceed, basic requirements. For example, rather than deploying workloads on multiple cloud regions to enhance availability, you stick with a single-region approach because you don't require the added availability that comes with multiple regions.
In other words, a simple cloud architecture is one where all aspects of your cloud computing strategy are as simple as possible.
The Temptation of Complex Cloud Architectures
Most people can appreciate the benefits of keeping things sweet and simple. Yet, if you look around, few organizations stick to a simple approach to cloud architectures. Or if they do, they tend to do so reluctantly, due to the belief that they can't handle more complex cloud strategies — as opposed to the belief that simple cloud strategies are actually better.
It's not hard to understand why the typical organization today is attracted to cloud architectures that are more complex than necessary. Continuous improvement and endless optimization have become key mantras of the IT industry. If you were to suggest that a simple cloud architecture meets your organization's requirements and that there's no need to invest in more complex cloud setups or services, you'd probably sound unimaginative at best, or lazy and out of touch at worst.
There's always more efficiency to be had, or more resilience to build, if only we try harder to improve cloud strategies — or so the typical IT team is told today.
Why Simpler Clouds Are Better
In some cases, that might be true. If your current cloud strategy is falling objectively short of meeting your needs, then you probably should consider changing it — a move that may entail adopting more complex cloud architectures or services.
But for everyone else, there's no shame in sticking with simpler cloud architectures as long as they get the job done. Indeed, simpler clouds can deliver better outcomes in a variety of ways:
- Easier monitoring and management: Problems are typically easier to detect and mitigate when you have a simple cloud architecture because there are fewer components to monitor and fewer potential root causes to sort through.
- Better cost management: Although more complex cloud technologies may save you money in some cases because they can operate more efficiently, the added complication of managing those technologies — not to mention the complexity of cloud billing models — may mean that you end up overpaying when your cloud architecture grows more complex.
- Protection against lock-in: It tends to be easier to migrate workloads between simple cloud services. For example, a VM-based app on AWS can be migrated to an Azure VM with minimal time and effort. The same is not true of, say, a serverless function.
- Resilience against turnover: Generally speaking, it's easier for new team members to master simpler technology. Thus, keeping your cloud architecture simple can keep your team operating smoothly as engineers come and go.
- Less time chasing diminishing returns: Diminishing returns are a thing, especially in the cloud. Migrating to a more complex cloud service so you can go from 99.8% availability to 99.9% availability may not be worth it if your engineers can spend their time and effort on other, more fruitful endeavors.
Conclusion: The Case for a Simpler Cloud Strategy
So, before you dismiss a simpler cloud strategy as a wasted opportunity or a form of compromise, consider the possibility that simpler is intrinsically better in many cases. Unless you will actually benefit from more complex cloud architectures or services, don't shy away from simpler approaches that result in greater overall value.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.