Operation Center is built using a microservice architecture.
Why is OC leveraging a microservice architecture?
In order to scale services independently.
Different teams can be responsible for their services.
In order to enforce feature/service boundaries better.
Use best technologies for the task per service.
REST & OData
Most services accessible via REST API for pushing changes or removing changes. OData is used for listing/querying entities. Other services are internal and listen to changes.
Examples of services are:
Authorization service - for getting allowed tenants.
User service - for getting user information / creating users etc.
Work item change service - for pushing change events for work items.
Services are allowed to cache their own data, and cache data from the change events for their needs.Services can publish changes to the block chain, but might have internal data storage that they own.
Currently all OC back-end services are written in ASP.NET Core. The OC front-end web app is powered by Angular. Services are available outside the cluster via an API gateway.
Operations Center is Currently running in a Kubernetes cluster in Microsoft Azure.