Microservices is becoming an increasingly popular approach to application development. With a microservices architecture, a large application is assembled from a number of small independent composable services, which intercommunicate through a published external protocol.
With this approach, enterprises can be more agile. Each microservice focuses on a specific business capability so that the scope of functionality is minimized and independent of other microservices. Because of these attributes, each microservice can be deployed, scaled, and managed without any impact on others in the application.
Microservices provides many advantages over the traditional monolithic approach. Companies can use small focused teams; each with the freedom to use the languages/tools best suited for the job In addition, each service can be updated independently, no longer requiring the entire application to be redeployed.
While there is great interest in implementing this architecture, there are many challenges associated with microservices. For example, microservices distribute the complexity throughout the network. Instead of your application residing in one container, as it would with a traditional approach, your microservices may be running in several containers each with their own configuration specifications.
For organizations looking to adopt a microservices architecture, Platform-as-a-Service (PaaS) is a supporting technology that is considered essential. A PaaS solution, such as Stackato by ActiveState, helps standardize environments and significantly reduce complexity. Additionally, it enables logging, monitoring, service discovery, as well as abstracting away the plumbing that hampers the development flow. PaaS provides the foundation required to successfully implement microservices in your organization.
Image courtesy of Willi Heidelbach, under the Creative Commons license.

Comments have been disabled for this post