When customers are buying a microservices-based solution, there is often a lack of clarity in what is a business capability, what is a microservice, and what they are buying. In this blog post, I will talk about packaged business capabilities, how they are broken down into separate microservices and provide some tangible examples for this.
First, let’s start with the definitions of business capabilities and ecommerce microservices as this will help to make a clear distinction between the two in the further discussion.
According to Gartner: “Packaged business capabilities (PBCs) are software components that represent a well-defined business capability, functionally recognizable as such by a business user.”
There are many definitions of microservices out there, but we will rely on how Amazon defines them: “Microservices are an architectural and organizational approach to software development where software is composed of small independent services that communicate over well-defined APIs.”
The difference in principle between the two is that microservices are a developer concept, which means that a stand-alone microservice does not necessarily deliver any value for a business user. While the vital aspect of PBCs is that they are designed to provide tangible value for business users. To make it transparent, let me provide you with a couple of examples:
- Customer and Account Management is a packaged business capability. It allows business users to manage accounts with complex organizational hierarchies, which include multiple divisions, departments, and buyers. It will enable them to define and configure users with different roles in the buying process, including buyers, approvers, budget owners. These capabilities provide value for business users because they enable commerce use-cases necessary for a business to sell to B2B customers efficiently.
- How it is broken in microservices is an entirely different story. This packaged business capability relies on multiple microservices, including role-based-access, address management, customer management, and some others. It is important to note that as the packaged business capability evolves, more and more microservices can be added to it if necessary. Whether new microservices will be added or new features will be added to existing microservices is an architectural decision done by vendor product development teams.
Most of the time enterprise wants to solve a particular business problem, and they will be looking for a specific packaged business capability which does it the best. How the capability is split into particular microservices is essential for the vendor as they are developing against microservices, and it impacts the overall software design. Also, often there will be many more microservices in software than packaged business capabilities; some of them can have obscure names and/or bring no tangible business value for the customer. Still, as a whole, microservices-based architecture provides significant benefits for the customer about which you can learn in this blog post.
So, if customers should not care too much about how the commerce service is split into microservices, what should they care about?
For customers, as it always was, business goals should come first. They will define what packaged business capabilities are required. Many other aspects of the commerce platform, which are impacted by microservices-based architecture such as operational costs, composability, high availability, extensibility can be understood during a solution demonstration or a Proof of Concept. In the end, most often, customers buy solutions to particular business problems rather than technology per se. So, it is all about the business value delivered by the specific architectural approaches, principles, and concepts.
An excellent example to illustrate this is the Salesforce CRM, which was not a microservices-based solution when it was launched, but it delivered enormous value as a first SaaS. It transitioned to microservices-based architecture much later and still produced the business value as a SaaS CRM, but on a new platform.
Explore how Elastic Path Commerce Cloud microservices-based architecture provides benefits for business and technical teams by enabling superior technical agility.