Right behind clouds, agile technologies and the Netflix phenomenon comes the obsession with Micro Services. Like any new practice it has found a lot of supporters and a lot of opponents.
In our post about the dark side of Micro Services we have listed out a few of the negatives. Having worked with this kind of architecture for some time now we have had to tackle a lot of these negatives in practice.
To begin with, yes Micro Services do increase the complexity of the architecture and it is difficult to manage the asynchrony that they come with for work that requires a synchronous way of working.
Even the way a team working on Micro Services functions is not for everybody. It is not very easy to create a DevOps team that is capable of being focused on operational and delivery fronts. There is increased responsibility and very short response times.
Add to all of the above the very substantial overhead costs if poorly handled and the relative newness you have plenty of people doubting the long-term sustainability of this architecture.
While agreeing that there is definitely a certain complexity in practice, the team at Captain Dash believes that it is also an opportunity for us to build better software.
The challenges presented to us coupled with the advantages give us the window to make mistakes and make bigger leaps of imagination. We have become habitual to thinking out of the box to tackle the issues that come with packaging for deployment or with synchronization or with testability for that matter. A lot of the problems that teams face can be negated by good design and the others, by a systematic approach to architecture adoption.
So if you think you have a great team and that your team, like us, wants to build better software then we believe that you should take a chance of Micro Services.
Written By: Meghna Verma Meghna Verma is the CMO at Captain Dash. You can reach her on Twitter @M3GV3RMa .