Open Source at StackHPC

By default, everything we build at StackHPC is built using open source software. We regularly contribute back to a number of open source software projects. Sometimes this includes integrating with best of breed commercial, off-the-shelf solutions.

OpenInfra Silver Member

Open Infastructure Foundation

Open infrastructure will underpin the next decade of transformation for cloud infrastructure. StackHPC is proud to be a silver member of the Open Infrastructure Foundation.

StackHPC supports and adheres to the four opens. It is core to how StackHPC delivers and manages the systems we work on.

LOKI (Linux OpenStack Kubernetes Infrastructure) is an end-to-end open source infrastructure stack that helps operators identify successful patterns and combinations of technologies to build production infrastructure.

StackHPC has helped build successful patterns for those needing to run HPC, AI and similar research computing use cases

Operating OpenStack using Kayobe

The Kolla logo is a stylised cartoon koala

A founding principle of StackHPC in rationalising the inherent complexity of OpenStack is OpenStack Kayobe.

Kayobe relies on a simplified implementation of the OpenStack control plane using a containerised method, called Kolla-Ansible. This adds significant value to the automation of Kolla-Ansible and provides the necessary DevOps environment to deliver on-premise cloud capability.

The architecture of Kayobe has been heavily influenced by the HPC, HTC and AI use cases to enhance software-defined infrastructure to encompass modern cloud-native platforms and science workflows. This results in a substantial body of infrastructure-as-code strengthened by CI/CD practice which underpins a StackHPC OpenStack operation and its service offering.

For more information please read more about how StackHPC uses OpenStack Kayobe to bootstrap and maintain OpenStack clouds.

Azimuth: Self-Service LOKI

logo for the azimuth project

Azimuth allows OpenStack cloud operators to provide a self-service catalog of common compute platforms to allow HPC and AI practitioners to quickly use your cloud in the most performant way.

Moreover, these reference platforms like Slurm and JupyterHub can be customized to meet your local needs. These reference platforms can also be used standalone outside of Azimuth.

If you would like to know more about what Azimuth can do, please see the Azimuth user documentation.

Azimuth acts as an OpenStack client, similar to the CLI and Horizon. So if you have access to an OpenStack cloud that passes the RefStack conformance tests, you can try Azimuth on your own cloud.

Ansible, Packer, Terraform and Helm

The Ansible logo, a stylised letter A - white on a black background

Azimuth makes uses of many industry standard tools including Ansible, Packer, Terraform and Helm to help repeatably deploy applications on clouds. This includes packaging up Guacamole, JupyterHub, Kubeflow, repo2docker and more.

In the never ending quest to automate all the things, StackHPC have contributed back to many community Ansible roles and collections. Where there are no existing roles or collections that can meet our specific needs, we create our own. You can see these in both our GitHub org and on Ansible galaxy.

OpenStack and Kubernetes

The Kubernetes ecosystem has great support for running on clouds, including on OpenStack clouds.

StackHPC uses Azimuth and OpenStack Magnum to help our customers deliver Kubernetes as a Service on top OpenStack clouds. We do this through the OpenStack support in Kubernetes Cluster API and Cloud Provider OpenStack.

For more details, please see our helm charts that are used by both Magnum's ClusterAPI driver and Azimuth to create Kubernetes clusters on OpenStack: https://github.com/stackhpc/capi-helm-charts

OpenStack and Ceph

Ceph logo

The majority the OpenStack clouds supported by StackHPC make use of Ceph. OpenStack is Ceph's "killer app".

StackHPC uses and helps maintain how Kayobe and Kolla-Ansible integrate Ceph storage with OpenStack.

We are currently helping users transition from using Ceph-Ansible to CephAdm through the use of this Ansible collection: https://galaxy.ansible.com/stackhpc/cephadm

Automating Baremetal using Ironic

OpenStack baremetal program logo

StackHPC is a founding member of the OpenStack Baremetal SIG.

StackHPC uses OpenStack Ironic as a way to manage the full life cycle of physical compute hardware via Ansible automation using open source APIs. We make use of integration with Neutron's networking-generic-switch driver to allow us to control the physical switches.

StackHPC are supporting Cambridge University running their CSD3 supercomputer on OpenStack. This enables a single pool of hardware to be dynamically shared between Slurm and OpenStack hypervisors. Those OpenStack hypervisors also run isolated Slurm clusters that support the secure processing of sensitive data.

And much more on GitHub

The nature of our Open first policy means this page can never be fully up to date. We look forwarding to meeting you in one of the many Open Source communities where we have a presence.

Things that do not (yet) have an upstream home get put into our GitHub organisation.

We look forward to collaborating with you all soon!

Go to archives