In my previous post titled “PaaS High Level View: PaaS, Path to the Future – Part II“, I described the Microservices layer as a capability offering layer which plays a critical role in differentiating PaaS vendors from each other. This capability layer is realized through its Microservices.
In this post, I classify the Microservices into two separate categories and I introduce a new terminology, Capability as a Service, that I call it my own.
Microservices: Capability as a Service
So what is a Microservice? A Microservice is a service that has an open architecture, loosely-coupled, designed to perform a specific, targeted task and is callable using language-neutral protocols, such as Representational State Transfer (REST).
In my perspective, I classify Microsevices into two separate categories: “Function as a Service (FaaS)” and “Capability as a Service (CaaS)”.
A “Function as a Service” Microservice carries out a specific function, such as validating a customer credit card application, producing a credit score for an applicant, or providing the GPS coordinates of a sensor. This type of Microservice provides a service to the calling application.
On the other hand a “Capability as a Service” Microservice provides business capabilities such as cognitive computing, predictive analysis or personality insight that can be leveraged and consumed by an application. This type of Microservice augments the application capability to help drive innovation.
As you can see, each Microservice category has its purpose. Applications can be created, composed or extended using both types of Microservices. Developers can consume the Microservices into their code to accelerate the development and build differentiation into their applications.
In my perspective, Platform as a Service (PaaS) providers that offer rich “Capability as a Service” Microservices differentiate themselves from their competitors.
I hope you enjoyed this post. For a deeper dive on Microservices, you maybe interested in this redbook “Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach“.
About the Author
Sami Joueidi holds a Masters degree in Electrical Engineering and an Enterprise Architecture certification from Carnegie Mellon. He has over 20 years of experience as a technical leader of complex IT projects for Fortune 500 firms, in diverse roles such as Systems Integrator, DevOps, Cloud Architecture, Enterprise Architecture and Software Development & Release Management. He guides customers on how to leverage the latest technology trends to their advantage and helps them with their Cloud adoption strategies.
© Sami Joueidi and www.cafesami.com, 2015. Excerpts and links may be used, provided that full and clear credit is given to Sami Joueidi and www.cafesami.com with appropriate and specific direction to the original content.