Are you overengineering your cloud apps?

Just because you can does not mean you should. Think twice before making solutions more complex than they need to be

Are you overengineering your cloud apps?
Thinkstock

Those of us who owned motorcycles over the years know that a “bone stock” bike won’t be stock for long. It’s common to replace the exhaust system with aftermarket, much louder pipes. Also, the seat is often swapped out for something more comfortable and stylish. Don’t forget a windshield, fuel management systems, and upgraded handlebars.

With that you’ve spent about one-fourth of the cost of the motorcycle on a bunch of stuff that does not add anything to the core functionality of the motorcycle. We do it because we can, not because we should.

The same can be said about cloud applications for many enterprises. Much like the motorcycle, apps are being tricked out with all kinds of features that really don’t do anything for the core purpose of the applications except make things more complex.

Core to this issue: People building applications on public clouds have a multitude of cloud services that can be integrated into that application with little time and very little money. AI services, such as deep learning and machine learning, are often leveraged from applications just because of the ease of doing so. In many cases, the use of AI within a specific application is actually contraindicated.

Other tempting services include containers and container orchestration systems. Although these are a great addition for a good many apps, I’m seeing them more and more force-fit these days. Developers are being lured by their hype.

The trade-off here is that overengineered cloud apps are more costly to build, overly complex, and thus harder to operate over time. Indeed, they may double the cost of cloudops after deployment, as well as double the cloud bill you’ll get monthly. 

Cloud app designers and developers need to focus on the minimum viable features that the cloud applications need to solve the core problems. An inventory control application perhaps does not need a machine learning system bolted on, but a fraud detection system does. You need to draw a distinction between what meets the requirements and what’s cool. You’ll have a much easier time after the app goes into operations.  

Copyright © 2020 IDG Communications, Inc.