Cloud complexity may be inevitable, but a few strategies can help keep the chaos contained Credit: Thinkstock Cloud complexity is the number one reason enterprises experience failures with cloud. Cloud-based platforms become complex due to an excess of heterogeneity and fewer common services. The end result is negative cloud computing value. We all wish we had a formula to plug in a few data points and have a cloud complexity ranking pop out, but it’s not that easy. Many factors come into play when ranking your cloud complexity: number of workloads, databases, platforms, storage systems, security models, governance models, management platforms—this list goes on. Many popular approaches that deal with architectural complexity tell you to practice architectural discipline so your systems won’t be complex in the first place. The assumption is that you build and migrate cloud systems in short, disconnected sprints with little regard for standard platforms such as storage, compute, security, and governance. Most migrations and net-new developments are done in silos without considering architectural commonality that would drive less complexity. More complexity becomes inevitable. Although many are surprised when they experience complexity, it’s not always bad. In most cases, we see excessive heterogeneity because those who pick different cloud services make best of breed a high priority. Complexity is the natural result. A good rule of thumb is to look at cloud operations or cloudops. If you’re staying on budget, and there are few or no outages and no breaches, then it’s likely that your complexity is under control. Revisit these metrics every quarter or so. If all continues to be well, you’re fine. You are one of the lucky few who deal with a less complex cloud implementation—for now. The majority of enterprises have a complexity issue right now, or they will have one by the end of 2020, thanks to disconnected cloud builds or migration teams, and focus on best-of-breed and multicloud architectures. Typically, the drawbacks to this approach are, first, insufficient skills, tools, and budgets to keep a complex cloud deployment running. Later you’ll see outages, perhaps a breach, and high turnover in the cloudops team. The first step to address your complexity is to examine all the data, services, workloads, and platforms. Look for ways they can be managed using tools that support abstraction and automation. It’s not simple, but it makes sense that a process to solve complexity will be complex in itself. Watch this space for more steps and details in the near future. Related content feature 14 great preprocessors for developers who love to code Sometimes it seems like the rules of programming are designed to make coding a chore. Here are 14 ways preprocessors can help make software development fun again. By Peter Wayner Nov 18, 2024 10 mins Development Tools Software Development feature Designing the APIs that accidentally power businesses Well-designed APIs, even those often-neglected internal APIs, make developers more productive and businesses more agile. By Jean Yang Nov 18, 2024 6 mins APIs Software Development news Spin 3.0 supports polyglot development using Wasm components Fermyon’s open source framework for building server-side WebAssembly apps allows developers to compose apps from components created with different languages. By Paul Krill Nov 18, 2024 2 mins Microservices Serverless Computing Development Libraries and Frameworks news Go language evolving for future hardware, AI workloads The Go team is working to adapt Go to large multicore systems, the latest hardware instructions, and the needs of developers of large-scale AI systems. By Paul Krill Nov 15, 2024 3 mins Google Go Generative AI Programming Languages Resources Videos