The traditional monolithic IT architecture (as seen below) is becoming costly not only to maintain, but also to enhance and to apply cutting-edge technologies. On the other hand, microservices, an architectural style that structures an application as a collection of services, arises as a solution to address those concerns, bringing flexibility to quickly deliver stable products or features.
In the Supply Chain procurement processes, users of a software platform that adopts microservices will enjoy several significant benefits.
As the systems are now split into smaller services or modules, the time for deploying updates would be considerably reduced, resulting in less server or maintenance downtime. In any instance when one microservice (e.g. Invoice Management) is in downtime, the other services (e.g. User Management, Purchase Requisition Manager, etc.) can still operate, with the exception of some components that run on information from the undeployed service. This capability enables businesses to operate with a minimum interruption.
With microservices, it will also be easier to integrate with other processes in the eco-system as well as to implement customisations for business needs as the changes can be modularised, well-tested and well-maintained.
Microservice provides an insight into the frequency of service usage and allows it to make necessary changes to handle the workload. For instance, if the server for one service (e.g. Purchase Requisition) is used more frequently and its response time is higher compared to the other services, one only needs to upgrade the hardware infrastructure required for this service and keep the same hardware configuration for the other remaining services. This action is impossible to make with the monolith systems. Therefore, with the new architecture, the service is well catered at lower latency to the end-user.
Thanks to the loose coupling between different services in the whole system, the platform can be developed by separate teams with separate technologies. New technology can be easily adopted when building a new module/feature, and modules can be assigned to small teams that make it nimbler and easier to manage. Another consideration is high maintainability and testability that enables the system to be developed robustly and deployed rapidly. The reductions in the time taken to deliver the products will mean a reduction in required resources, and customers will benefit from these cost-savings. Seeing the benefits of microservices, doxa has deployed this architecture to build our SaaS (Software as a Service) platform. We believe that this service-oriented approach not only allows us to build a strong back-end service, but also bring many benefits to our doxa customers.