Micro-Services are not for startups

dharmvir singh
Aug 31, 2018 · 3 min read

If you are either going to start or already having an startup and considering to use micro-services to deliver your software/services then please do consider below points:

Time to market: For any startup, going live ASAP is of extreme importance as resources are most of the time, limited and pressure is high from investors (or probably your own income is being invested). Micro-Services need time and more investment as compared to monolith. Technical expertise on micro-services is limited and costly

Why is it needed? Micro-Services offers certain benefits as compared to Monolith model but it comes at much more extra cost. Extra costs comes in terms of delivery infrastructure, diagnosing issues (Figuring out a problem in one place is much easier then trying to figure that out when single request hops across multiple network calls across services), cost of maintaining so many machines and hiring expertise, etc. You should be asking is it worth taking the risk of investing so much in it for now.

Too many Unknowns: When someone starts any business there are already too many unknowns to deal with, dealing with few more is not unnecessary. For monolith, we know you need front-end (can be written using HTML/JavaScript/CSS), business logic can be in PHP/Java/.Net/… and my data store is MySQL/other options and then I just need to put it either in cloud or deploy my own server and it should work. But Micro-Services need much more infrastructure support and expertise. Expertise and infra both come at premium cost

How much Scale you are expecting in next 2 Years: If you think that you have an revolutionary idea and it will not fly without micro-services then go ahead but if there is any doubt, avoid it. If your software/service can handle customers with monolith for next 2–4 years then I believe investment in micro-services is not worth the business risk. You will have world of time when your business has started making money and you can afford it.

Everyone running behind it because no one wants to left behind: Micro-Services getting too much love from technology enthusiasts(including me) but remember

“More complex a machine is and better an expert needed to fix it”

Entrepreneurs do not have to run behind technology, they should run behind creating business. Most of the startups fail for one reason:

“Entrepreneurs spend too much time in technology instead of working on figuring our business”

If you creating an app to order food online, fantastic app but if your delivery guy doesn’t turn up on time for the customer, Your app will not help the business.

Conclusion: Micro-Services is a great architecture for delivering services at unimaginable scale but cost it incurs is much higher. Startups should avoid micro-services in start to make their business running and till they start making some money. Technical teams will always push for Micro-Services because it is beneficial for their careers. As an entrepreneur,It should be evaluated that if investing in micro-services is beneficial for getting the wheel of business moving. Startups MUST focus on only one thing that is “Customer Happiness”

I am a developer who works on enterprise security software and have previously worked on cloud projects as well. All the thoughts mentioned here are my own.

If you feel differently on the topic, please share your thoughts in comments below.