We need an Authorization (Checking) Service that is horizontally scalable and stateless, so that it can enable extracting other microservices from the Server.
Goal
We have enabled FileService to be extracted from the Alkemio Server.
Hypothesis
Having more, smaller services will improve scalability and will result in deployments of smaller changes, thus enabling quicker deployments with lesser risk in production.
Must have scope
Authorization (Engine) Library, re-used between a service and the server
Authorization Service usable in 3rd party services, e.g. FileService
Authorization Library used in the Alkemio Server
Horizontally scalable
DTOs, Typings re-used
The service should provide an endpoint isAccessGranted(authPolicyID, agentID, additionalRules)
Plus
[ ] Existing functionality for whiteboard collaboration + file serving moved out of the server
Out-of-scope for v1
Caching
Messaging bus / patterns
Stakeholders
Neil Smyth, Valentin Yanakiev, Svetoslav Petkov, Alkemio Team
Implementation Details
Authorization Service to use the existing messaging infrastructure (for its first version)
Description
We need an Authorization (Checking) Service that is horizontally scalable and stateless, so that it can enable extracting other microservices from the Server.
Goal
We have enabled
FileService
to be extracted from the Alkemio Server.Hypothesis
Having more, smaller services will improve scalability and will result in deployments of smaller changes, thus enabling quicker deployments with lesser risk in production.
Must have scope
isAccessGranted(authPolicyID, agentID, additionalRules)
Plus
Out-of-scope for v1
Stakeholders
Neil Smyth, Valentin Yanakiev, Svetoslav Petkov, Alkemio Team
Implementation Details
MessagePattern
(same asGuidance Engine
,Matrix Adapter
) https://alkem.io/building-alkemio/challenges/technicaldesigns-9455/opportunities/robustservicemic-4127/collaboration/microservicesalke-9412