ap-nimbus-azure-durable-functions

This was a test activity to determine the viability of using Azure Durable Functions as a solution to enabling high-concurrency cardiac simulations.

Whereas with the orchestrated container option, e.g. Kubernetes, which managed the legacy client-direct (superceded by cardiacmodelling/ap-nimbus-client-direct), cardiacmodelling/ap-nimbus-app-manager and legacy “ap-nimbus-datastore” container deployment and intercommunication on an “always-on” basis, the Azure Durable Functions are supposed to rapidly spin up and down containers “on demand”.

For our purposes therefore we were only investigating the ability of Azure Durable Functions to rapidly scale up and down cardiacmodelling/ap-nimbus-app-manager. The expectation being that by using the Async HTTP API technique we would have an “always on” HTTP endpoint that listened to simulation requests (e.g. as per simulationInput.json) and would spin up the corresponding number of cardiacmodelling/ap-nimbus-app-managers and return the generated results.

  • Azure Durable Functions is available in the ap-nimbus git repository via the ap-nimbus-azure-durable-functions submodule

Developers may be interested to read about some of the issues faced :