How to install and run OMERO in production

Simon Li
Open Microscopy Environment
University of Dundee

OME 2020 OMERO Systems Installation and Configuration workshop

Overview

  • Server requirements
  • Current recommended deployments
  • Live demo: Ansible from scratch
  • A little bit of Docker
  • Short break
  • Questions, more demos, discussions

Aim

  • Persuade you not to install OMERO manually...

Who am I?

Software engineer and sysadmin at the OME since 2012

Where do we start?

  1. Get a server
  2. Install an operating system

Server specification?

Like most things in biology it's complicated
outreach.openmicroscopy.org
4 CPU   32 GB RAM
omero.lifesci.dundee.ac.uk
4 CPU   32 GB RAM
demo.openmicroscopy.org
8 CPU   48 GB RAM

Operating system?

Does the distribution matter?
We test several OMERO on multiple operating systems but there's no substitute for running in production

Which operating system (1)

7

Used by all our production systems, which means we've already found most of the bugs

Which operating system (2)

18.04

Popular amongst the OME community

New: omero-server support

Coming soon ....

8
20.04

How should you install OMERO?

The hard way:

  • Good for learning about OMERO
  • Or if you've got several hours and nothing to do

Configuration management

What is configuration management?

  • A systematic way to setup and configure your servers
  • "Infrastructure as code": Apply the software development process to managing servers

"Infrastructure as code"

  • Self-documenting
  • Version control
  • GitHub code reviews

Why should you consider it?

Fully automated installation, configuration and upgrades

  • Installs all dependencies
  • Manages OMERO databases including upgrades
  • Reproducible deployments
  • You can copy our infrastructure!
  • Relatively easy to setup
  • Just requires SSH access to servers
  • Everything configured with YAML

                  pip install ansible
                

Still not convinced?

Live demo!

Docker

ome/docker-example-omero

              wget https://raw.githubusercontent.com/ome/\
              docker-example-omero/master/docker-compose.yml

              docker-compose up -d
            

Even easier than Ansible, if you're happy working with containers.


                apt-get update
                apt-get install docker-compose docker.io
              

Scaling up OMERO

IDR: Behind the scenes
server
web

Infrastructure as code

  • If we can deploy one server with Ansible, we can deploy 2, or 3 ....
  • Clear separation between data and applications
read-only
public web
read-only
public web
read-only
read-only
read-write
idr.openmicroscopy.org wss://idr.openmicroscopy.org/omero-ws
68 vCPU   264 GB RAM
Storage:   760 GB ephemeral   1.7 TB block   170+ TB read-only NFS

How do you debug and test a 150+ TB system?

IDR/deployment
Production
Staging
Test-1
Test-2

Useful links

Time for a short break