Business requirements are not static. The rate of dynamic change for new evolving business needs is increasing as you are reading this blog. The traditional software development practice for building one big honking monolithic program to provision services is not applicable to the explosion of need. This old way of thinking and deploying is not conducive to Agile. To understand a microservice let’s first start with our traditional view point. For this purpose, let’s say that you want to build a “Self Service Catalog”. To make this seemingly complex service less complex let’s break it up into many microservices. For example; one microservice might be for “Creation of Online Account” another for making a selection from the “Service Catalog”. One might be to “Select Payment Method” and yet another microservice for “Invoicing” and so on. These are many microservices or sub-services that will eventually be connected via Application Programming Interfaces. These microservices