A BixServer cluster installs into a data center, creating a multi-tenant self-service Systems Management service offering. It is a time-series database and ingest engine, and offers the ability to collect metrics from BixAgents that are installed on colocated servers, or that are embedded within swarming IoT devices outside of the data center.
BixServer clusters orchestrate BixAgents, which are a breakthrough in systems management.
A BixAgent is an optimized Stuart runtime, which is our open source Lua-based Embedded Spark, capable of running concurrent Spark Streaming control loops and able to publish synthetic metrics derived from raw metrics using maching learning algorithithms such as k-means clustering. This makes BixAgent the first truly "edge analytics" capable systems management agent.
A BixAgent might be installed on servers co-located in a data center, such as each machine of a given OpenStack or Kubernetes cluster. But a BixAgent is also designed to be autonomic and to run untethered, so it swarms equally well within IoT devices such as drones or refrigerators.
Together, BixServer+BixAgent enable an elegant and unified Lua+Spark programming model that works with models exported from any Spark PaaS, enabling orchestration of edge insights and remediation+control on radically diverse hardware. There's never been an easier way to leverage and deploy the richness and power of Spark.
Devices with as little as 32k of RAM are able to run agent-less Spark, Spark ML, and Spark SQL Lua jobs based on Stuart. BixServer orchestration produces a downloadable eLua image for provisioning. Features include:
- eLua (a C-based Lua 5.1 VM)
- Concurrent Spark Streaming control loops using Stuart's coroutine-based cooperative multitasking
- Easy Spark programming model unifies ML-capable embedded development across all hardware classes
Casually Connected Edge
Devices capable of running a Go binary and have 20+ MB of RAM to spare can run our BixAgent, which supports:
- Digitally signed over-the-air firmware updates (Lua jobs + their model files)
- Embedded WebHDFS for model storage
- Embedded Kafka for queuing metrics
- Send ML insights back to BixServer for alerting
- Send raw metrics samples back to BixServer for model refinement
Devices with Linux and Docker, such as colo servers, Kubernetes nodes, or high-end embedded controllers, are able to augment BixAgent with access to LuaJIT, allowing jobs to make use of Torch deep learning libraries.
- LuaJIT-based access to GPUs
- Digitally signed over-the-air Docker image updates
- Stuart-based Spark, Spark Streaming, Spark ML
- Torch-based deep learning, facial recognition, etc. Even call Torch libs from your Spark Streaming control loops.