Overloaded and overcomplicated cloud solutions are 2021’s silent epidemic. Credit: ronit shaked Overengineering is the process of designing a product with more features than necessary. When deployed for its intended use, the product is unnecessarily complex, inefficient, or both. The increased costs, risks, and/or complexities of the system will eventually result in its failure. Here are three signs of an overengineered cloud solution: Sign #1: The lack of centralized command and control. The core problem for most enterprises is a lack of centralized planning. The pandemic sped up the use of cloud-based resources, and that caused many enterprises to rush through implementing their cloud solutions without proper planning or centralized command and control. When it comes to common services, operations, security, etc., too many choices and a lack of governance quickly lead to a hot mess that teams could make work in the narrow, but not in the wide. For example, a public cloud is added to a multicloud deployment because a single development team said they needed a specific database that runs on a specific cloud. The addition happened without examining the cost, ops, and complexity of managing a public cloud that provides one service to one team. Many cloud projects have subprojects that are decoupled from each other. Independent solution planning often results in different approaches and technologies. A lack of coordination between development and migration teams will not magically lead to a fully optimized meta-architecture for your cloud solution. Instead, the lack of central control and coordination will most often result in a solution with too many moving parts. Sign #2: No single source of truth for enterprise data. The idea: Moving to cloud will finally provide us with the ability to centralize our data within a single go-to database (physical or abstract) to store important data such as customer, sales, or inventory. The reality: With no centralized coordination around common database services, teams will stand up too many different types of databases during the move to cloud. You will never get to a single source of truth. The development or migration teams often choose more databases with more differences than necessary. This just means more silos. On an individual basis, the teams’ decisions are often made for good reasons. However, the impact on the enterprise’s cloud deployment is too much complexity, thus increasing cost and risk. Trekkies might recall Mr. Spock’s statement: “Logic clearly dictates that the needs of the many outweigh the needs of the few.” Someone with centralized authority needs to apply Spock’s logic to enterprise data and databases as they move to cloud. Sign #3: The cloud solution costs much more than the status quo. Much like doctors take an oath to “do no harm,” those charged with selecting and configuring cloud and non-cloud technology should never end up with a cloud architecture that costs significantly more than the architecture’s prior state. Although it’s common to spend more on a cloud solution than on its starting point, you must also factor in its many advantages to the business. A good rule of thumb for acceptable cost increase would be perhaps 10% to 15% more than its starting point, at most. However, I see end states that are 30% to 50% more costly, with no clear business benefits to justify the extra costs to build new in the cloud. There is no one way to do cloud architecture, but the most successful cloud architects keep a close eye on centralized efficiency and cost optimization. Overengineering happens when we add too many unnecessary features just because we can. These features drive up the costs without a counterbalancing ROI. Value-added cloud architecture typically happens when the least amount of overengineering takes place. Related content analysis Strategies to navigate the pitfalls of cloud costs Cloud providers waste a lot of their customers’ cloud dollars, but enterprises can take action. By David Linthicum Nov 15, 2024 6 mins Cloud Architecture Cloud Management Cloud Computing analysis Understanding Hyperlight, Microsoft’s minimal VM manager Microsoft is making its Rust-based, functions-focused VM tool available on Azure at last, ready to help event-driven applications at scale. By Simon Bisson Nov 14, 2024 8 mins Microsoft Azure Rust Serverless Computing how-to Docker tutorial: Get started with Docker volumes Learn the ins, outs, and limits of Docker's native technology for integrating containers with local file systems. By Serdar Yegulalp Nov 13, 2024 8 mins Devops Cloud Computing Software Development news Red Hat OpenShift AI unveils model registry, data drift detection Cloud-based AI and machine learning platform also adds support for Nvidia NIM, AMD GPUs, the vLLM runtime for KServe, KServe Modelcars, and LoRA fine-tuning. By Paul Krill Nov 12, 2024 3 mins Generative AI PaaS Artificial Intelligence Resources Videos