Introduction

What is ZetaPush?

ZetaPush is a Back-end-as-a-Service (BaaS) : it provides out of the box authentications and services to replace your servers.

Authentications

  • The local authentication is a login/password authentication.
  • The weak authentication allows pseudo-anonymous authentication.
  • The delegating authentication delegates authentication to an external authentication provider.

Services

  • Generic Data Access Service : NoSQL storage
  • ElasticSearch service, to index and search data.
  • File storage with S3-backed or local HDFS storage
  • Macro-command service: macros can sequentially call any number of other api verbs, loop on collections of data, make decisions, etc… and lots more
  • Push notifications for iOS and Android devices
  • Data aggregation for numerical values

Client support

Zetapush supports a wide range of clients, from web pages and smartphones to IoT devices. Communications between clients and servers are bidirectional and use a JSON-based protocol over long-polling, websocket or MQTT.
SDKs are made available to provide an abstract and simple means to connect to a Zetapush sandbox.

  • Android
  • iOS (Swift) ... coming very soon
  • Javascript (supported on modern browsers, no guarantees on older IE releases)
  • Go
  • Java (for JDK 1.8+)
  • Arduino under development

Sandbox Id

Every authentication or service you choose will run in a Zetapush sandbox. Think of a sandbox as a sort of VM that you can instantly deploy on a ZetaPush cluster. Sandboxes are perfectly isolated from one another, but services running inside a sandbox can talk to one another. Most developers will deploy only one application per sandbox, but this is not mandatory : you may deploy whatever services you want in a given sandbox and use them as you see fit.

Your sandbox is defined by a unique id: the SandboxId.
For compatibility reasons, you may still found mentions to its old name : businessId.

Deployment Id

Every authentication and service you deploy into one of your sandboxes will get a unique id: the DeploymentId. The admin web UI creates random IDs, but you can specify arbitrary IDs when developing recipes with the Macro Editor . The SandboxId and DeploymentId uniquely define your authentications or services within the ZetaPush clusters.