SkySpark

A reference for the IoT analytics platform that shows up across the CoolPlanet pages on this site.

A handful of pages on this site mention SkySpark, Axon, Folio, or Fantom in passing. Most readers won't have come across them before, so this page exists to fill in the gaps. It's a quick lay of the land: what SkySpark is, who's behind it, and the names of the various technologies you'll see referenced elsewhere on the site.

What it is

SkySpark is a software analytics platform built specifically for IoT data: collecting it, storing it as time-series, modelling it with ontology tags, and exposing it through a web interface for querying, visualisation, and reporting. CoolPlanet ran a single multi-tenant cloud SkySpark instance as the backbone of the platform, using it as a time-series database, a tag-based document store, and a host for site-by-site data integrations.

A lot of jobs you'd reach for Postgres, dbt, or a message queue for in a typical stack, CoolPlanet did inside SkySpark. That's why it shows up so often in the project pages.

SkyFoundry

The company behind SkySpark. The team is small and very experienced in the IoT domain. Its CTO, Brian Frank, has had a hand in most of the open-source projects this page mentions, and the same handful of names tend to show up across the various forums.

CoolPlanet were a SkyFoundry partner, meaning we ran our own instance as part of our stack rather than consuming SkySpark as a hosted service.

The pricing model

SkySpark is licensed by point. A point is the entity used for time-series recording: every temperature sensor, meter, or status flag on a site corresponds to a point in SkySpark. The price per point slides down with volume, with an annual maintenance cost on top of the initial purchase. Buying in bulk for a single multi-tenant instance lets you allocate points across customers as needed, which is roughly what we did. There's still an incentive to keep the count efficient.

Project Haystack

Project Haystack is an open-source effort to standardise how IoT data gets modelled: equipment types, point kinds, units, and the relationships between them. SkySpark uses Haystack throughout, so familiarity with the ontology is half the battle when ramping up on the platform.

Haxall

Haxall is an open-source software framework built around the Haystack model. SkyFoundry released it to accelerate Haystack adoption. It's effectively the foundation that SkySpark itself is built on, but available without the commercial licence for anyone who wants to build a Haystack-native system.

Folio

The database that ships with SkySpark. NoSQL, tag-based, with first-class support for the Haystack ontology. Records are dicts of tags. Folio's filter syntax (e.g. site and equipRef==@123) is the primary way you query them, and it's what shows up in the shell or any function that touches the database.

Axon

The programming language used inside SkySpark for writing functions, queries, and report logic. It's the language you'll see referenced on pages where I talk about calculation engines or data transformations on the platform. If a page mentions "running this calc in SkySpark" or "Axon-side", that's the bit doing the work.

Fantom

Fantom is a lower-level language with Java-like syntax that SkySpark is itself written in. Brian Frank wrote Fantom too, before SkyFoundry existed. Day to day at CoolPlanet we lived in Axon, and only dropped down to Fantom when a hot path needed the performance.

Going deeper

For anything beyond this overview, the canonical references are the Project Haystack site, SkyFoundry's own documentation, and the Fantom language docs. The community is small and the resources are scattered, but those three are the load-bearing ones.