Microservices

I’ve been involved in a range of microservice pursuits, going back to when before it was a buzzword. Not surprisingly the only particularly healthy and productive such efforts were those that were largely bottom-up and the resulting microservices were largely emergent rather than being a goal in and of itself.

Far more often I’ve witnessed organizations pursue microservices with at best questionable benefit…and far more likely detriment. Often the organizations are not equipped to deal with some of the additional operational challenges nor do they appropriately adjust the designs; typically such organizations are also unlikely to be able to subtantiate very vague purported returns on investment as they don’t account for initial increased overhead that would need to be amortized. Most glaringly, microservices are often viewed as a somewhat mechanical solution to what are often communication challenges which rather than resolve those issues tends to make them far less obvious, deeper into the process/further right, and often far more costly…they may effectively push issues that may have surfaced at buld time to manifest at run time.

I fairly recently reference Adrian Cockroft after attending one of his talks shortly after he left Netflix. In a more recent interview he also touches on what I’ve also been discovering lately in that many of the fairly early problems remain underserved. I’ve been repeatedly coming across generic concerns that I worked through many years ago and expect there to be readily usable, mature solutions but instead find that many of them feel as though they haven’t moved or are only now catching up. While we’ve adopted increasingly sophisticated platforms upon which we run our applications, the last mile to value delivery still seems as long as ever; it seems as though there may be somewhat of a competition between taming the sophisticated technical aspects and delivering on user requirements.

I certainly recognize that many of these tools enable functionality that may otherwise be unfeasible for many companies, but I’d also posit that most companies don’t need that functionality and few would be able to realize net value in their adoption (probably along the Pareto lines of the 20% of organizations that provide the 80% of impact).