{% extends "prose.html" %} {% block title %}Bioregistry Deployment and Sustainability{% endblock %} {% block styles %} {{ super() }} {% endblock %} {% block scripts %} {{ super() }} {% endblock %} {% block content %}

Sustainability

Deployment in the Cloud

There are several aspects to the way the Bioregistry web application is deployed listed in this section.

Domain Name

The bioregistry.io domain is registered with Namecheap. It is managed and supported by the INDRA Lab, a part of the Laboratory of Systems Pharmacology and Harvard Program in Therapeutic Science (HiTS) at Harvard Medical School.

Hardware

The Bioregistry is hosted on an Amazon Elastic Compute Cloud (EC2) via a load balancing service to stay secure and highly available. It is managed and supported by the INDRA Lab, a part of the Laboratory of Systems Pharmacology and Harvard Program in Therapeutic Science (HiTS) at Harvard Medical School.

Software

Bioregistry Version
{{ software_version }}
{% if software_git_hash %}
Git Hash
{{ software_git_hash }}
{% endif %}
Python
{{ python_version }}
Platform
{{ platform }}
Platform Version
{{ platform_version }}

Deployment

A docker image is automatically built on a cron job in the bioregistry/bioregistry-docker GitHub repository and pushed to the bioregistry/bioregistry DockerHub repository.

The Bioregistry's EC2 instance runs the following script on a cron job that stops the current running instance, pulls the latest image from this DockerHub repository and starts it back up. The whole process only takes a few seconds.

#!/bin/bash

# store the bioregistry id
BIOREGISTRY_CONTAINER_ID=$(docker ps --filter "name=bioregistry" -q)

# Stop and remove the old container taking advantage
#   of the fact that it's named specifically
docker stop $BIOREGISTRY_CONTAINER_ID
docker rm $BIOREGISTRY_CONTAINER_ID

# Pull the latest
docker pull bioregistry/bioregistry:latest

# Run the start script
docker run -id --name bioregistry -p 8766:8766 bioregistry/bioregistry:latest

SSL/TLS

The SSL/TLS certificate for bioregistry.io so it can be served with HTTPS is managed through the AWS Certificate Manager.

Data Maintenance, Interoperability with other Projects, and Project Governance

So far, the Bioregistry (both the data and web application) have been curated and developed within a small team and used by a limited audience. This means we have been able to address issues very quickly. However, this attitude is not scalable to larger audiences, where changes have higher potential for disruption of users' usages. With that being said, there are many things we are looking to discuss with potential stakeholders including (but not limited to):

These questions do not have easy answers and apply to most databases, software, and web applications in the life sciences. If you would like to be part of this discussion, please join us on the OBO Community Slack workspace's #ontotools channel.

{% endblock %}