Architecture

The ClearBlade Platform can be installed in a variety of configurations. This allows for creating a range of implementations from

  • Enterprise - highly secure environment where all data is safely kept behind a firewall
  • Hybrid - some assets are connected to internal systems via VPN while others are publically available
  • Public - data is available publically to internet end users mobile devices.
  • Single - support several smaller internal enterprise apps
  • Cluster - support many apps with broad public use

Additionally these environments can include mixtures of the configurations to get the correct environment for the enterprise.

Overview

The simplest installation is a single machine that is hosting all ClearBlade components via docker containers. The architecture is represented below

ClearBlade Overview

  • NGinx - In a simple environment NGinx represents a basic http router and SSL layer for encryption
  • ClearBlade - This is the primary process executing on the instance to handle all application logic, security, and routing
  • Web Console - A set of html5 and javascript that is served by NGinx for presenting a simple developer UI
  • SuperVisor - A recommended linux process for managing and ensuring the ClearBlade dependencies are appropriately started and running
  • Postgres - An open source database that stores all data related to the ClearBlade Platform and its systems

The ClearBlade process makes data available via three primary protocols.

  1. REST - over HTTP (80) or HTTPS (443)
  2. MQTT - over TCP via ports 1883 and 1884 (includes TLS)
  3. WebSockets - on port 8906

Cluster Configurations

The ClearBlade Platform can be easily scaled horizontally. The following considerations are in effect

  1. Database sharding techniques. The Postgres database running the ClearBlade platform can be sharded to split and and expand the allowed disk across many machines
  2. The ClearBlade REST endpoints. The ClearBlade process serving REST endpoints is stateless, as such requests routed through NGinx can be sent to the ClearBlade process that is running on multiple machines, in a round robin fashion.
  3. The ClearBlade messaging. Messaging connections are held open and devices must connect to dedicated endpoints. ClearBlade provides a relay broker to allow for horizontal scaling of this connection process. The basic steps are
    • Client connects to a single relay broker
    • Client sends credential information
    • Relay broker sends a valid token and messaging url for broker
    • Client disconnects from relay broker
    • Client connects to broker with token
    • Client performs all messaging against broker

Integrations

Many integrations are available via the ClearBlade Platform. They include but are not limited to

  • HTTP
  • SOAP
  • Sockets
  • File I/O
  • Cloud based
  • Java
  • RPG
  • DB2
  • SQL Server
  • MySQL
  • PostGres
  • OPC
  • Oracle
  • Infobright ….

For each of the integrations, basic platform considerations must be made to ensure security and access.

Environment Requirements

ClearBlade runs on linux AMD 64 bit Operating Systems. ClearBlade recommends the following distrobutions Like much of the available cloud architectures the ClearBlade platform is built on a AMD64 linux architecture with a minimum supported kernal of 2.6.23.
Below are the available releases and their minimum version requirements

  • Ubuntu 10.10+ (2.6.35.4)
  • Red Hat 6+ (2.6.32-71)
  • CentOS 6+ (2.6.32-71)
  • Debian 6+ ()
  • ARCH
  • Fedora 13+ ( 2.6.33)
  • Gentoo
  • SLES 11 (2.6.27.19-5)