hosting4devs architecture is divided, in summary form, into four parts or layers:
- H4D Platform
- Metrics harvester
- REST API
- Data Store
- Secure Transport (RabbitMQ + SSL)
- Your server (H4D Agent)
- Orders processor
- Metrics publisher
- H4D Control Panel
- H4D CLI
- Custom H4D API client
The H4D Platform has a lot of components, but the most relevant are:
The REST API Server: You can check the API docs here: https://docs.hosting4devs.com
The Metrics Harvester: Is responsible for processing the monitoring events published by your servers and persist the metrics data into the data store.
Data Store: We store some data about your server’s status and metrics history, but our Data Store is only accessible by our main servers. Any other server has no access to this data. You can check this data in the H4D Control Panel.
H4D uses a Message Bus to communicate with your server. Technically we do not communicate directly with your servers, only with the Message Bus. The same is applied to your servers, they never establish a direct connection with H4D servers, only talk with the Message Bus.
We use RabbitMQ through a Secure Socket Layer (SSL) as the Message Bus and all the messages sent are encoded to add an extra security layer.
Your server (H4D Agent)
The H4D Agent reads order messages from the Messages Bus and publish response messages and differents kinds of event messages. It has two main components:
The Orders Processor: An execution platform for running the commands required by the orders messages. There are two types of commands: synchronous or orders and asynchronous or task.
The Metrics Publisher: A local checks execution scheduler that publish the status of your server periodically.
How it works
H4D monitoring flow
- The H4D Agent executes the monitoring routines.
- The Agent publish monitoring data to the transport (Message Bus).
- The Metrics Harvester process the monitoring data and persist it into the Data Store.
H4D orders flow
- The H4D Agent is waiting for orders permanently.
- The user send an order to the server via H4D Control Panel, H4D CLI or custom H4D API client.
- The H4D REST API server receives the request, validate the order and publish an encoded order message to the Message Bus.
- The message arrives to your server who executes the required commands to perform the required action.
- Your server publish the results of the executions to the Message Bus as a response message.
- Response message is received by the H4D API Server, decoded and sent to the client.
This efficient platform is supported by an easy-to-use self-management control panel, CLI and REST API that provides a comprehensive set of tools to simplify the deployment and control of your cloud applications and infrastructure.
hosting4devs provides an ideal platform for independent bloggers, designers, developers, web agencies and small businesses to host their websites.