production

Galaxy Production Deployment

Learning Questions

Learning Objectives

.pull-left[

Default

SQLite

gunicorn all-in-one

Single process

Single host

Local jobs

]

.pull-right[

Production

PostgreSQL

gunicorn for web process + webless workers + nginx proxy

Multiple processes

Multiple hosts

Jobs across many clusters

https://usegalaxy.org/production ]

PostgreSQL

nginx (or Apache)

Webless

Multi-processes

Threads in Python are limited by the GIL.

Running multiple processes of Galaxy and separate processes for web handling and job processing works around this.

This used to be an important detail - but gravity + gunicorn make things a lot easier.

Cluster Support

Cluster Support

Galaxy can submit jobs to various cluster managers (Slurm, PBS, SGE, etc.)

https://docs.galaxyproject.org/en/master/admin/cluster.html

https://training.galaxyproject.org/training-material/topics/admin/tutorials/connect-to-compute-cluster/tutorial.html

usegalaxy.org Web Architecture

usegalaxy.org web servers

Complete usegalaxy.org Infrastructure

usegalaxy.org servers

Multiple web servers, job handlers, and compute clusters working together

Key Production Considerations

Production Deployment Resources

Key Takeaways