/hydra-cloud-scale

hydus and hydra-agent as a cloud system

MIT LicenseMIT

hydra-cloud-scale

Blueprint

As APIs developers may want to deploy a Hydra-based servers/agents system on the cloud, it is provided here a tool to easily structure the content of Hydra specification documentation (ApiDoc) as a distributed cluster using a Docker stack.

Briefly, it should be possible to create a cluster from any compliant ApiDoc and deploy a docker container for each HydraClass in the document, so to create a "microservices-like" environment on which to plug a compliant agent (like hydra-python-agent). The agent would act as the tool to query the relationships among classes at scale. One agent, many hydrus servers that represent the data model; to query this distributed model, every agent connected stores the graph and runs query on its graph store.

Practically:

  • the ApiDoc is destructured into its HydraClasses and for each of them a hydrus instance is spawned
  • every authorised agent (hydra-python-agent) can connect to the cluster, build its own data graph and run queries and receive data updates.

Local test implementation

Proposed implementation is to use Apache OpenWhisk. OpenWhisk is a portable serverless framework that works on top of popular technologies like Docker (i.e. Docker-On-Docker) and Kubernetes.

Prerequisites

Create a local environment