Table of Contents
Terraform
If you are planning to run the biomodal duet software and pipeline on a cloud compute platform, you will be using the biomodal-cloud-utils
script to create the required compute environment components. The following gives a broad overview and breakdown of what each part does, using Google Cloud Platform as an example. Provider specific instructions are available in terraform/<cloud_provider>/Readme.md
.
Please note that for Microsoft Azure, we included a docs
folder with the Readme.md
and other relevant documentation files. There are a few manual steps you need to check to ensure your Azure environment is setup correctly to permit the use of Azure Batch. This also includes verifying your billing profile with Microsoft.
Container Registry
This resource is used to create a container registry on a cloud platform, which biomodal container images will be stored in. These containers are Docker images, containing open-source and proprietary software.
Storage Bucket
In Terraform, you can use a resource to create a storage bucket on a cloud platform. This bucket will be named automatically from the name you give when running ./biomodal-cloud-utils create <platform>
, for the VM. This is where you can store input files (such as FASTQ) generated from sequencing, and where the pipeline work folder and output files will be stored.
Virtual Machine
Resource to create a virtual machine (VM) on a cloud platform. This VM is where biomodal duet pipeline will run from with Nextflow acting as an orchestrator, and will allow for session persistence that a laptop doesn’t.
Service Account
A service account is an account that is used by a non-human process or application to authenticate with a cloud platform. With Terraform, you can create a service account on a cloud platform like Google Cloud or AWS, and then use that account to authenticate with other services or APIs. The service account is often used in conjunction with other services, like Google Cloud Storage or Amazon S3, to provide secure access to your resources.
Overall, using Terraform to create these resources can greatly simplify the process of provisioning and managing your infrastructure on a cloud platform. With Terraform, you can automate the creation, management, and deletion of resources, which can help you save time and reduce errors in your infrastructure management.