Architecture in Brief
The Autonomous Identity architecture has a simple three-layer conceptual model:
Application Layer. Autonomous Identity implements a flexible Docker Swarm microservices architecture, where multiple applications run in containers. The microservices component provides flexible configuration and end-user interaction to the deployment. The microservices components are the following:
Autonomous Identity UI. Autonomous Identity supports a dynamic UI that displays the entitlements, confidence scores, and recommendations.
Autonomous Identity API. Autonomous Identity provides an API that can access endpoints using REST. This allows easy scripting and programming for your system.
Self-Service Tool. The self-service tool lets users reset their Autonomous Identity passwords.
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.
Configuration Service. Autonomous Identity supports a configuration service that allows you to set parameters for your system and processes.
Command-Line Interface. Autonomous Identity supports a command-line interface for easy scripting and automation.
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.
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.
Autonomous Identity also implements Open Distro for Elasticsearch and Kibana to improve search performance for its entitlement data.
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.
Figure 1: A Simple Conceptual Image of the Autonomous Identity Architecture