Decentralization is about more than just improving Political Economy.
Monolithic client-server software architecture is analogous with socialism itself. For any typical networked computer program from the late 20th Century, a control freak such as
int main(); initialized a core set of server functionality which in turn conscripted routines within the same runtime instance to perform auxiliary duties. At no time did the algorithmic tyrant permit autonomy, and problems within even one auxiliary unit often caused the entire binary society to crash domino-style into operational ruin — even if users were not experiencing problems with the client app on their end, no user would be able to access the monolithic service experiencing downtime on the server.
Like a great escape from a German prison camp, microservices offer the software equipment your employer needs to guarantee that its net-enabled application’s Tom tunnel will stay operational even if both Dick and Harry experience digital cave ins. The decentralization of business logic duties among numerous separate-but-interconnected software services facilitates robust development and deployment opportunities, at the expense of some additional processing overhead from the APIs which allow such microservices to speak to one another. Advantages include:
- Scalability — a microservices architecture allows development teams to pick and choose which services will receive the most runtime attention from clients and will therefore need more processing power to cope with the demand of ever-increasing numbers of users
- Enhanced bug hunting — this is simple math: a large, monolithic arthitecture will be a bigger haystack to hide bug-needles than an architecture of microservices within which a process of this-one-is-still-running elimination minimizes the overall amount of hay that needs to be searched
- Distributed development teams — this one evokes memories of legitimate Political Economy: segregation of duties and comparative advantage increase profitable efficiency (note that initial investments of additional resources might not be cost-effective for smaller organizations)
Some software vendors are approaching microservices architecture with the same dismissal of open standards as so many of them did previously at the monolithic expense of consumers. They market themselves as a special brand providing exclusive products, but they are in actuality trying to lock in repeat business by offering only a my-way-or-the-highway set of options.
Don’t work for one of those companies. Each consumer is at all times in the driver’s seat of production amid any healthy economy. Remember always that the vast majority of everyone’s life, even while at work producing things for market, entails consuming things which are already available from various markets — kind of like the way that microservices improve the algorithmic markets of networked computing.