ENBUILD Architecture

Architecture Digram

Screenshot of ENBUILD Architecture

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.