ENBUILD Architecture
Architecture Digram
Frontend Service
The ENBUILD frontend service provides the ENBUILD User Interface (UI) to the end user.
Backend Service
The ENBUILD backend service is responsible for integration with the CI/CD Provider.
User Service
The ENBUILD user service manages the end-user’s state, such as authentication, access, API access and role-based access control.
ML Service
The ENBUILD ML (Machine Learning) service enables data scientists to quickly create feature sets and deploy models. An instance of Jupyter Notebook can also be created and accessed from this service. (This is a placeholder service for demo purposes for now and will be implemented in the future)
RabbitMQ Consumer Service
The ENBUILD RabbitMQ consumer service processes jobs in the work queue as well as integrates with the CI/CD Provider APIs.
NoSQL Database
ENBUILD utilizes a NoSQL database to manage the application’s state across all microservices. ENBUILD provides a MongoDB instance out-of-the-box, but also can integrate with Cloud Service Provider NoSQL Databases such as Azure’s CosmosDB and AWS’ DocumentDB.
Identity and Access Management
ENBUILD supports integration with Okta and Keycloak. Keycloak can act as an Identity Broker for other IdAM products such as Active Directory.