You know when you get that feeling that you have experienced the same situation in the past. You can’t put your finger on it but you know you have been here before. Well that is how I feel when I think about the emerging world of containers and microservices. I actually think this feeling of déjà vu is a good thing — containers and microservices are beginning to see the glimmers of the commercialization of a service oriented approach to computing.
In 2007, I co-authored my first book called Service Oriented Architectures for Dummies. For the next few years, I imagined a world where companies would stop creating applications where process, logic, data and graphical design were interdependent. I imaged a time when a company could create modular services that would encapsulate business process – the tested and sanctioned technique for how a company wanted to operate. For example, there would be a reusable encapsulated service that would codify how a sales transaction should be executed – check inventory, check credit, and remove product from inventory. These three tasks would be a set of services approved by both the technical and management teams. The three services would be combined within a reusable container. This containerized service would be available as an open API to development teams that needed to include the process in an application. These encapsulated services would eliminate isolated complex code that no one besides its creator could understand. There would no longer be code that was too complicated and too intermingled to update and change when business conditions changed.
OK, maybe we didn’t talk exactly in those terms in the mid-2000s but this was indeed the expectation. As with all visions, it took us almost 10 years to see the emergence of a new set of technology options to address the challenge in the form of microservices and containers.
The commercialization of service orientation is so important because of the other changes that are on the horizon. Successful cloud services implementations demand containers and microservices. You can’t achieve the type of speed and predictability we need in emerging opportunities like the Internet of Things (IoT) without modular containers and microservices. The world is changing but it is built on the shoulders of the technology legacy of decades of work. (Smart or Luck: How Technology Leader Turn Chance into Success).
In the next part of this blog, I will talk more specifically about the aspects of microservices and containers that are important for this new disruptive business era.