Difference between revisions of "Introduction to AMI"

From 3forge Documentation
Jump to navigation Jump to search
Line 24: Line 24:
  
 
===Components===
 
===Components===
 +
 +
AMI has 5 key components:
 +
 +
* '''Webserver''' - AMI's self-contained webserver is used for hosting the dashboard builder tool as well as the dashboards themselves. The webserver is specially designed for supporting real-time AJAX enabling fast and efficient data visualization and interaction.
 +
* '''In-Memory Database''' - The in-memory relational database stores system configurations and custom data. It is a full-featured SQL-based database with specialized features for data analysis, machine learning and event processing. All data is accessible from dashboards in real-time - meaning that changes to the data can be viewed in real-time from the front-end without refreshing or re-running queries. External applications can also use the JDBC interface for querying and mutating the database.
 +
* '''Event Processing System''' - AMI supports real-time high-speed streaming of data into its core in-memory database. As data streams in, it can be processed by filters, triggers, timed jobs and more. The resulting data can be viewed in real-time through the dashboard. Additional events can be generated when event sequences are processed accordingly.
 +
* '''Data Virtualization''' - Any number of databases, remote file systems and custom processes can be passively attached to AMI. These attached "datasources" can then be queried by AMI. Queries are invoked either via the event processing system, scheduled timers and/or user solicited actions such as mouse clicking on a row or button. Queries can be executed across multiple datasources simultaneously with results being blended. This virtualization layer can also be used to upload data.
 +
* '''Plugin Management''' - AMI supports a variety of plugins at various touch points throughout the platform. Plugins are loaded into the JVM at startup by referencing the plugins' class names in the appropriate properties.
  
 
===3forge Release Management===
 
===3forge Release Management===

Revision as of 19:42, 1 March 2021

An Introduction to AMI

Overview

The AMI platform is a comprehensive suite of components designed to provide a consolidated view across all the various applications and IT resources within large information technology environments. It has interfaces and adapters for interacting with the most expansive technology environments.

Architecture

The AMI architecture is designed for easy installation with the ability to easily scale as needed. For getting started with lower capacity needs, AMI can be installed and run as a single process. For additional capacity, AMI supports vertical scaling such that the interaction with front end and backend applications can be broken out into separate processes. Beyond that, even more capacity can be achieved through horizontally scaling additional AMI processes.

Single Process

AMI will scale as the processing needs scale. For use cases where all processing can be done through a single instance, only a single AMI One process is necessary. This process contains all the components and interfaces discussed above. The architecture is quite simple:

NOTE: AMI One simply bundles all the functionality of the AMI Relay, AMI Center and AMI Web in a single process (the Relay, Center and Web are discussed later in this document).

Vertical Scaling

Vertical and Horizontal Scaling

AMI Relay Diagram

AMI Center Diagram

AMI Web Diagram

Components

AMI has 5 key components:

  • Webserver - AMI's self-contained webserver is used for hosting the dashboard builder tool as well as the dashboards themselves. The webserver is specially designed for supporting real-time AJAX enabling fast and efficient data visualization and interaction.
  • In-Memory Database - The in-memory relational database stores system configurations and custom data. It is a full-featured SQL-based database with specialized features for data analysis, machine learning and event processing. All data is accessible from dashboards in real-time - meaning that changes to the data can be viewed in real-time from the front-end without refreshing or re-running queries. External applications can also use the JDBC interface for querying and mutating the database.
  • Event Processing System - AMI supports real-time high-speed streaming of data into its core in-memory database. As data streams in, it can be processed by filters, triggers, timed jobs and more. The resulting data can be viewed in real-time through the dashboard. Additional events can be generated when event sequences are processed accordingly.
  • Data Virtualization - Any number of databases, remote file systems and custom processes can be passively attached to AMI. These attached "datasources" can then be queried by AMI. Queries are invoked either via the event processing system, scheduled timers and/or user solicited actions such as mouse clicking on a row or button. Queries can be executed across multiple datasources simultaneously with results being blended. This virtualization layer can also be used to upload data.
  • Plugin Management - AMI supports a variety of plugins at various touch points throughout the platform. Plugins are loaded into the JVM at startup by referencing the plugins' class names in the appropriate properties.

3forge Release Management