Ever since subroutines appeared in early attempts at computer programming, developers have tried to modularize their code. If only we could treat software as Lego blocks, the reasoning goes, we could mix and match various bits and pieces, building flexible applications by simply snapping their components together.
The notion of web services from the early 2000s was an important milestone in the Lego-ization of enterprise software. Web services were a set of XML-based standards that gave existing software an easily integrable interface—at least in theory. In other words, web services were the bumps on the building blocks—all following the same set of rules, so that regardless of the underlying software, you’d get the benefits of plug-and-play modularity.
However, web services were plagued by a host of issues. Vendors couldn’t agree on the specifics, which led to incompatibilities. XML proved too verbose and inflexible. And worst of all, web services suffered from complex spaghetti code with an interface that was every bit as messy as before.
Beyond the buzzword: Reinventing ‘service’
Cut to 2015. We are now comfortable with JSON as a more flexible alternative to XML. We understand the principles of cloud architecture, including horizontal scalability, elasticity, and automated recovery from failure. And we’re getting up to speed on containers as well. It’s time to reinvent the notion of service for this new level of understanding.
Read the entire article at http://techbeacon.com/think-big-microservices-lego-software-development-takes-shape.