I restore and fix classic motorcycles in my hard-to-find spare time. Since I’m a better cloud architect than motorcycle mechanic, I focus more on the design patterns for each brand, model, and type of motorcycle than another person might. Or, better put, I look at how motorcycle brands and models do the same things differently, both complex and simple, to achieve the same objectives.
I notice when one of my bikes has front-wheel brakes with 20 moving parts and others only have 5. Both systems stop the bike, but the more complex solution is more likely to break and is harder to fix. It is overengineered. It achieves the same objectives but at different levels of cost and risk. Perhaps the same is occurring in the cloud computing design and deployment space.