The system architecture is designed to be completely distributed and scalable, capable of executing in both private and public clouds and using Kubernetes for clustering.
Development and Operation APIs
There are three different user interfaces:
- Desktop, available both as a local client or in a browser, which is designed to be used by the solution designer; See Desktop Overview (3.0)
- Web Interface, is designed to be used by for execution, scaling, monitoring,, logging, and troubleshooting, see Web Interface(3.0)
- Command Line Tool, see Command Line Interface, mzcli and mzsh
Architecturally, Usage Engine is comprised of three Zones.
- Control Zone, also called Platform
- Execution Zone
- Access Zone
The Zones are used for different purposes. The Control Zone is used to control the platform and is intended for Administrators. The Execution Zone is where the various configured workflows are executed according to what has been configured by the end users (via the Access zone). The Control Zone contains the Platform and the Database.
The container orchestration is done through Kubernetes using the REST interface.
The Kubernetes operator enables you to setup a dynamic cluster that can scale up or down automatically by using:
- Configurable monitoring and triggers
- Configurable conditions
- Configurable commands
This is done using Execution Context Deployments (ECDs) (3.0).
Container HTTP API
A HTTP API is provided for transferring files between containers.
Profile that allows you to use configuration values that originate from property files or exported environment variables.
The architecture uses best-of-breed industry standards for non-core functions like logging, monitoring, and alarming.
The APIs are standardized; JSON for logs and events, and REST or JMX for metrics.
The Events are filtered in the Event Manager, and apart from sending them to a database, or as a mail or SNMP Trap, you can also send them to System Log.
In order to provide for Life Cycle Management that ensures repeatability and minimizes human errors and downtime for operational procedures like; deploying and updating use cases, scaling and upgrading, the following is included: