Case Study: ARTEMIS

ARTEMIS uses Hasura to implement a real-time GUI to fetch data from a Postgres database.

Photo by Chris Barbalis on Unsplash

ARTEMIS is a tool that monitors BGP for potential hijacking attempts against a network's own prefixes. It is an open source project by the INSPIRE group, FORTH, Greece and the Center for Applied Internet Data Analysis, University of California San Diego, USA.

The system detects such attacks within seconds, enabling immediate mitigation. ARTEMIS has been tested at a major greek ISP, a dual-homed edge academic network, and a major US R&E backbone network.

ARTEMIS is built as a multi-container docker application. The code is divided into backend and frontend sections. The ARTEMIS team needed a middle layer to implement a real-time GUI to fetch data from their Postgres database. They considered several solutions until they came across Hasura on a few discussion sites. After doing a dry run on Hasura’s console and deploying a working demo, the team decided to migrate to Hasura.

Hasura is now used as the main API to access the Postgres database on the frontend. Adopting Hasura lets ARTEMIS take full advantage of GraphQL’s features, and drop REST when not needed.

This blog post was prepared basis a discussion with Vasileios Kotronis, a Postdoctoral Researcher at Foundation for Research & Technology – Hellas (FORTH) and a member of the INSPIRE Group

Hasura is an open-source engine that gives you realtime GraphQL APIs on new or existing Postgres databases, with built-in support for stitching custom GraphQL APIs and triggering webhooks on database changes.