Why we adopted Microservices Architecture?

Updated: Oct 26, 2021

# A quick ORM

Matteroom was first born with a different programming framework -a quick ORM application framework that leveraged View to quickly script out the frontend piece.

It was also unscalable and would have been disastrous if processing millions of bytes of data in the future.

# I decided to re-build it

I was never a good businessman; most CEOs in the LegalTech industry may not have taken that route. What I wanted to build was a “Swiss Mechanical Watch”, reliable & powerful, never a cheap plastic Swatch.

After carefully studying the most popular multi-tenant SaaS and other social network platforms, micro-service architecture became the key to make our new Matteroom v2 a winner with following key capabilities.

# New Matteroom v2 features
1. Docker (container) - ready to scale easily and ensure DevOps can be implemented;

2. Open Standard - guarantees the easy integration and avoids perpetual license cost plus large development community to ensure the maturity of the technology stack;

3. Unix basedversus a Windows Server which is way too expensive to host and v increases the T.C.O. , Total Cost of Ownership.

# With Micro-Services, we are able to achieve......
1. Restful API - provided by our Business Logic component for our Apps or any 3rd party applications to integrate & easily communicate each other internally through all components/microservices*.

2. Easy to scale - by adding new microservice containers and turned on in seconds. Any different size customers can benefit from it. Our newly implemented Kubernetes service ensures all services are running and new pods can be auto replicated and added in real-time if the computing resource is drained from any node.

3. Re-usable microservices components - enabled our R&D team to build our second MATTERLINQ product faster. We re-used many of the components like License Controller, Notification, File Utility, Connector Framework, Rules E/nine and Process Engine.

# Most LegalTech Software today still use 3-layer architecture relying on Middleware to provide the RESTFUL API to support various Apps.

This 30-year-old architecture reduces the software performance significantly as you only have one “elephant” to do the work. But with microservices, you are able to have multiple “mules” to distribute the workload and also avoid “single point failure”.

Last, after Kubernetes getting popular, its self-monitoring and container-based service management ensures failed Docker based service can be restarted immediately to ensure 999999 system availability. We are excited about adopting this technology and racing against the clock to enable it to our offerings in couple weeks.

*Eg: File Utility, Policy Engine, License Controller, Process Engine, Connector Framework Indexer and Notification Service)