ClearBlade IoT Enterprise is a development and runtime environment to run IoT applications efficient and at scale.
Purpose
ClearBlade IoT Enterprise operates as:
-
IoT application stack execution environment
-
Development environment
-
Edge orchestration platform
IoT Enterprise functional capabilities
ClearBlade IoT Enterprise operates as a full stack, middleware, or backend to an IoT application with its six core modules:
|
Module |
Features |
|---|---|
|
JavaScript engine designed for highly parallelized microservices |
|
|
A generic API for interacting with data stores, such as ClearBlade Cloud, MySQL, MongoDB, and PostgreSQL |
|
|
A fully customizable user dashboard for interacting with your IoT application |
|
|
A highly customizable configuration for pushing microservices, data, sync behavior, and portals to edge groups |
|
|
|
A scalable, lightweight MQTT broker for interacting with IoT devices |
|
A robust model for deploying software and hardware adapters to many new or existing edges |
API/Broker and IoT Enterprise/Edge integration
Development environment
Deploying an IoT solution once is simple, but a production solution will require many development iterations, new features, and security updates. ClearBlade IoT Enterprise operates as a development environment, allowing developers to modify micro-services, collections, portals, and other assets within the centralized platform. The changes are synced across all edges. This creates a simple, centralized development experience that can seamlessly sync across many edges running on different machines in many geospatially distant networks.
Edge orchestration
The Edge orchestration feature allows a single platform to
-
Administrate deployment to configure which microservices, collections, portals, and assets are deployed to edges and synced
-
Start, stop, pause, deploy, and undeploy adapters to edge groups
-
Monitor real-time system edge resource usage to evaluate appropriate hardware needs
Multi-tenanted model
Developers can use a single ClearBlade IoT Enterprise instance at once. Each developer can run many IoT applications simultaneously, and systems can be shared between developers. Each IoT application, called a system, includes the six above modules and runs completely isolated from every other platform system.
Scaling
ClearBlade IoT Enterprise is comprised of cluster nodes. Each node contains a certain number of vCPUs. Additional nodes provide additional vCPU and memory capacity to support devices. For some solutions, the following estimates can be made using nodes with eight vCPUs.
|
Number of devices |
Cluster nodes required |
Storage (GB) required per month |
|---|---|---|
|
1,000 |
1 |
1.5 |
|
10,000 |
1 |
15 |
|
25,000 |
2 |
37 |
|
100,000 |
6 |
146 |
|
250,000 |
14 |
364 |
|
500,000 |
28 |
728 |
|
1,000,000 |
56 |
1,456 |
|
10,000,000 |
556 |
14,551 |
ClearBlade
|
Name |
Value |
Details |
|---|---|---|
|
Platform messages process rate |
300 |
Per ClearBlade node per second |
|
Devices supported per ClearBlade node |
200,000 |
= msg_proc_per_node_per_sec / (msg_per_hour / 3600), = 30 / (6 / 3600) |
IoT
|
Name |
Value |
Details |
|---|---|---|
|
Device message size |
349 bytes |
MQTT publish, packet size. See appendix |
|
Device hourly message rate |
6 |
Per hour, ClearBlade best practice: Interval > 10 minutes |
|
Device data generated |
1.49 megabytes |
Per device per month = 349 * 6 * 24 * 31 / 1024 / 1024 |
|
Number of devices |
Cluster nodes required |
Storage (GB) required per month |
|---|---|---|
|
1,000 |
1 |
1.5 |
|
10,000 |
1 |
15 |
|
25,000 |
2 |
37 |
|
100,000 |
6 |
146 |
|
250,000 |
14 |
364 |
|
500,000 |
28 |
728 |
|
1,000,000 |
56 |
1,456 |
|
10,000,000 |
556 |
14,551 |
Appendix
Average MQTT publish message size
Topic:
**_monitor/_asset/D4-53-83-A0-AF-F9/location**
Contents:
{
"name": "pump",
"id": "214wsafd21-42112-1dfdsfsd-243-ddff",
"amps": 244,
"description": "some description",
"enabled": true,
"last_update": "2019-09-04T17:57:16.875586669Z",
"location": { "latitude": 12.132233, "longitude": 123.1234 }
}
|
Packet component |
Size (bytes) |
|---|---|
|
Topic |
42 |
|
Payload |
298 |
|
Control, length, and meta |
9 |
|
Total |
349 bytes |