Architecture in Brief
The Autonomous Identity architecture has a simple three-layer conceptual model that provides flexible configuration and deployment in a wide-variety of environments: single-node or multi-node configurations across on-prem, cloud, hybrid, or multi-cloud environments.
Figure 1: A Conceptual Image of the Autonomous Identity Architecture
Application Layer. Autonomous Identity implements a flexible Docker Swarm microservices architecture, where multiple applications run together in containers. The microservices component provides flexible configuration and end-user interaction to the deployment. The microservices components are the following:
Configuration Service. Autonomous Identity supports a configuration service that allows you to set parameters for your system and processes.
Autonomous Identity UI. Autonomous Identity supports a dynamic UI that displays the entitlements, confidence scores, and recommendations.
Autonomous Identity REST API. Autonomous Identity provides an API that can access endpoints using REST. This allows easy scripting and programming for your system.
Nginx. Nginx is a popular HTTP server and reverse proxy for routing HTTPS traffic.
Hashicorp Consul. Consul is a third-party system for service discovery and configuration.
Backend Repository. The backend repository stores Autonomous Identity user information. To interface with the backend repository, you can use the phpldapadmin tool to enter and manage users.
Data Layer. Autonomous Identity supports Apache Cassandra NoSQL and MongoDB databases to serve predictions, confidence scores, and prediction data to the end user. Apache Cassandra is a distributed and linearly scalable database with no single point of failure. MongoDB is a schema-free, distributed database that uses JSON-like documents as data objects.
Analytics and Administration Layer. Autonomous Identity uses a multi-source Apache Spark analytics engine to generate the predictions and confidence scores. Apache Spark is a distributed, cluster-computing framework for AI machine learning for large datasets. Autonomous Identity also uses a deployer wrapper script to launch Ansible playbooks for easy and quick deployment of the components.
For pilot deployments, we typically configure a two-server deployment with the minimum hardware and software requirements:
Figure 2: An Image of a Two-Server Autonomous Identity Pilot Architecture