At Captain Dash we love to fail!
Why, you ask? Because, failure, is the best way to succeed. And our choice of architecture reflects that.
In any service there are bound to be glitches and a service can fail at any given time, be it Monolithic or Micro Services based. As the service provider it is our job to detect those failures quickly and to repair them.
In a typical Monolithic structure, due to the complex layers, it is often difficult to detect the source of failure easily and then to keep in mind all the internal dependencies to make sure that something else is not affected in the repair process. Finally the actual testing and deployment takes a long time.
Micro Services on the other hand are built for this kind of failure. The idea behind the multiple decoupled services is that when one goes down the others are not affected. Further, given the emphasis on coordination and event collaboration there is a tendency to monitor the structure constantly. This results in purposefully crashing the applications just to see what they can withstand and how they can be bettered. An example of this is the Netflix’s Simian Army that we talked about in our post about anti-fragility.
Given the size of the code involved along with the speed of deployment the ability to fix and change each application individually provides us the flexibility to innovate regularly and test as often as we please. This flexibility to innovate is what gives us the confidence to fail and thus create at a rate fast enough to be agile and cause disruption.
Ultimately it is the confidence to fail that gives a team the confidence to push the limits of the accepted industry norms, to seek out what is deemed impossible. This freedom to create that Micro Services allow us is what makes us love failure.
Written By: Meghna Verma Meghna Verma is the Content Manager at Captain Dash. You can reach her on Twitter @M3GV3RMa .