Logical and Technical Architecture

DivvyCloud is comprised of three primary tiers: Web Server, Workers, Data. These tiers stack onto a communications layer with Public & Private Clouds and can be represented graphically as follows:

../_images/logical-main.png

These tiers can be interpreted logically and technically.

Logical Architecture

Logically, the different tiers correspond to different functions and capabilities as follows:

Tier Function/Capability
User Interface Visualization, Management, and Reporting
Actions-Rules-Instructions Modular Actions, Rules, and Instruction Sets
API Accessible RESTful API
Automation Engine DivvyCloud
Change Detection Event Engine
Data Aggregation and Unification Distributed Data Harvesting and Unification

In addition, the middle tier, i.e., API through Data Aggregation and Unification, can be represented as follows:

../_images/logical-workers.png

Where the different Workers, i.e., On-Demand, Scheduler, Processors, and Harvestors, are interacting with the DivvyCloud database layer.

Technical Architecture

Technically, the different tiers correspond to different components as follows:

Tier Components
User Interface HTTP server (supports Apache, Nginx, proxy configurations)
Actions-Rules-Instructions DivvyCloud Platform, Python 2.7.9, MySQL 5.7x, Redis 3.x
API DivvyCloud Platform, Python 2.7.9, MySQL 5.7x, Redis 3.x
Automation Engine DivvyCloud Platform, Python 2.7.9, MySQL 5.7x, Redis 3.x
Change Detection DivvyCloud Platform, Python 2.7.9, MySQL 5.7x, Redis 3.x
Data Aggregation and Unification DivvyCloud Platform, Python 2.7.9, MySQL 5.7x, Redis 3.x
Public/Private Cloud Communication over libcloud & cloud APIs (port 443)

In addition, the tier comprised by the DivvyCloud Platform interacts with the Database Layer, which can be represented as follows:

../_images/technical-workers.png

For more information on these components, please see our documentation on Server and Network Recommendations.