cloud

Orchestra: A cloud platform for hosting hands-on computational workshop environments

Orchestra is a cloud platform for hosting hands-on computational workshop environments. In this talk, I review the detailed use case of Bioconductor Workshops and then proceed to a shallow dive into Kubernetes infrastructure that powers Orchestra.

Build and deploy an NCBI GEO metadata fetch API

Build, containerize, and then deploy a simple serverless web API that returns json-formated metadata for any GEO accession.

The cancer data ecosystem: data and cloud resources for cancer genomic data science

In this talk, I motivate the need for cloud-based cancer data resourdces. I provide an overview of the NCI Genomic Data Commons and how to interact with it both interactively through a web portal as well as programmatically using the …

Infrastructure-as-Code: Building the Bioconductor Conference AMI With Packer

One of the main features of the annual Bioconductor Conference is the proportion of time spent working with code in the form of workshops. To support these workshops, we ask workshop presenters to supply Rmarkdown materials which we collate into workshop materials. Using literate programming approaches like Rmarkdown ensures that the workflows are self-consistent and work as expected. In addition to the Rmarkdown workshop materials, we also need a consistent computing environment that can support reasonably large computation, provide high-performance network and file system access, and is essentially unlimited in scale (we expect to have >150 participants, each with his/her own machine).

Protect Against Secrets in Git Repositories

I recently got burned by inadvertently committing secrets to a github repository. This post just outlines one potential solution to avoiding repeating that experience.

export POOL_NAME='preempt-1' export CLUSTER_NAME='cluster-1' gcloud beta container node-pools create ${POOL_NAME} --preemptible \ --cluster ${CLUSTER_NAME} --enable-autoscaling \ --min-nodes=0 --max-nodes=50 \ --machine-type=n1-standard-2 apiVersion: v1 kind: Job spec: nodeSelector: cloud.google.com/gke-preemptible: "true" template: spec: containers: - name: pyversion image: python:3.7 command: ["python", "--version"] restartPolicy: Never backoffLimit: 4