In 2023, a leading genetic testing company chose Oracle Cloud Infrastructure (OCI) as its primary cloud service provider and began migrating from Amazon Web Services (AWS) to OCI. As a part of their migration program, they decided to rearchitect their bioinformatics pipelines using the Nextflow pipelines and wanted to implement Seqera on OCI. This blog post outlines the use case of running the Seqera platform on Oracle Container Engine for Kubernetes (OKE).

About Seqera and the Seqera Platform

Seqera is the driving force behind Nextflow, MultiQC, and the Seqera Platform – the modern biotech stack. Seqera empowers scientists to solve today’s most complex and essential challenges; from pioneering innovative therapeutics to unveiling the secrets of our universe.
Seqera Platform is the centralized command post for the management of Nextflow data pipelines. It offers monitoring, logging, and observability for distributed workflows and simplifies the deployment of pipelines on any cloud, cluster, or laptop. Seqera Platform Enterprise is a web application with a microservice-oriented architecture. Seqera provides these modules as Docker container images that are securely hosted on a private container registry.

Architecture diagram of the Seqera Enterprise Platform.
Seqera Enterprise Platform

The Seqera Enterprise Platform consists of the following components:

Platform Components

Seqera Platform on OCI OKE

Using the Kubernetes deployment guide from Seqera, the installation on OKE is relatively straightforward. In summary, the following components are used:

  1. OKE cluster with multiple node pools
    • System node pool: A set of nodes to run all pods from the kube-system namespace and cluster autoscaler.
    • Redis node pool: A set of nodes to run Redis
    • Seqera node pool: A set of nodes to run Seqera components
    • Seqera Compute node pool: A set of nodes to run Nextflow workers
  2. MySQL highly-available database system: Online transaction processing (OLTP) database. It doesn’t require a Heatwave cluster.
  3. Flexible loadbalancers: OKE creates them using kubernetes services of type “Loadbalancer”.
  4. Filesystem Storage through PersistentVolumeClaim(PVC) in OKE for worker storage and block volumes for node storage.
  5. OCI Email Delivery: Configured for your domain on OCI or a Simple Mail Transfer Protocol (SMTP) setup that you own.
  6. OCI Object Storage through S3-compatible Fusion file system (currently under testing).

Reference architecture of a sample deployment.

Seqera Compute Environment on OCI OKE

A Seqera Compute Environment is where workflows are executed. A “compute environment” consists of the credentials, configuration settings, and storage options related to the compute platform. Seqera supports multiple different types of compute platforms including Kubernetes. For OCI, the “Kubernetes” platform type is used in the Seqera Tower. We apply the following considerations in the design of various compute node pools to run our Nextflow pipelines.

  • Kubernetes node selectors are used to specify where your workers should run. The node selectors determine the compute environment head pod, service pod and the pipeline worker pods run.

  • The Kubernetes cluster auto-scaler is used for the scale-out and in of the various node pools.

  • We recommend using your own Redis on OKE instead of OCI Cache.

  • Per Seqera’s recommendation, HTTPS termination is done at the load balancer-as-a-service (LBaaS) layer.

  • All the Kubernetes worker nodes used in our test setup, were private worker nodes with restricted access to outbound internet.

  • You can use OpenID Connect (OIDC) configuration for integration with existing authN providers. While we didn’t run this task in our test setup, our customer integrated using their Key Cloak setup in OKE.

Conclusion

With these steps, you can package the manifests that Seqera provides into a helm chart and use it to customize the installation of the Seqera platform on OKE. With the Seqera Platform on OKE, you can now run your bioinformatics pipelines using Nextflow and run them on OKE and Slurm on OCI.

Acknowledgements

We want to thank Graham Wright and Rob Lalonde from Seqera for their help and guidance in deploying Seqera on Oracle Cloud Infrastructure. While we continue to work with Seqera, we plan to publish more artifacts like reference architectures and best practices in the future. For more information, see Seqera’s website.