Ampersand

A privacy sensitive platform that aggregates data from popular APIs and enables us to connect with custom services. Ampersand is easily scalable and does not introduce a bias on the data collected.

What it does

Ampersand enables us to authenticate, collect, store and retrieve data from different sources. It allows for customisation based on specific needs. For example, it can use custom subscription webhooks to trigger the collection of data, or it can use custom code to store data in a Graph database.

 

When you want to get data from a standard API source, you need to write custom code for the following steps:

 

  • Authentication - prove your identity to the API you're calling

  • Authorisation - prove you have the right to access this API

  • Collect data - make a fetch, subscription, or other requests to get the data

  • Storage - store the data and make it available again for internal services

  • Retrieve - get your data from storage for further processing

​Ampersand implements all of these functions in a distributed way and defines the interfaces between different microservice applications.

This image shows an overview of Ampersand's microservice software architecture. You can use Ampersand as a unified system, but since it is formulated in a microservice structure, you can also choose to implement only the parts you need. Ampersand can run as a server-less application which keeps the running costs at a minimum. 

 

We currently use Ampersand to collect data from Fitbit in the Flex RCT. Previously Ampersand has been used to collect data from Garmin as well. 

Why we developed it

Services and code of our previous aggregation and distribution system were tied to the infrastructure (VM). Ampersand advances beyond that by decoupling the application logic from the infrastructure management using (Kubernetes) containers. This enables us to scale up quickly and infinitely.

 

The responsibilities for the services are redefined and restricted to their simplest forms. This increases the number of services, but services have a considerable overlap in the code to facilitate similar functionalities. This overlap can be considered as a service template to write services consistently.

Want to use Ampersand to safely and easily collect or distribute data?

© 2020 by Onmi B.V.

  • Black Twitter Icon