Questions regarding a three-tier Omero setup on GCP

Good afternoon,

Over the past few months, we’ve been actively using Omero for displaying interactive slides on a university testing platform and it has been amazing! I wanted to thank you all for the prompt and helpful support with the platform, I wouldn’t have been able to use Omero without it.

We’ve slowly been adding more and more slides to Omero, reaching over 100GB of slides recently. At this point, we’re in a position where we feel that a one-tier Omero setup might not be ideal in the long term. With this in mind, I began looking into a three-tier infrastructure for Omero.

I attached a picture of our proposed setup below but had a few questions and would love some feedback on it if possible.

Here is what was on my mind:

  1. Has this type of installation been implemented with Omero before? If so, is there an improvement in performance over a one-tier setup?

  2. If we were to add auto-scaling on one tier, which should it be? In other words, which requires more compute power, Omero-Web or Omero-Server?

  3. Is there a way to move data between an existing Omero database and new database such that you can retain the URL slugs of specific slides?

Are there any additional recommendations you have for this type of setup? If there are better methods for achieving a multi-tier setup I’d love to know as well.

Thanks so much for your help, I truly appreciate it!



I’d love to hear from others who have done this as well. My primary experience is via the Image Data Resource (IDR). You can find more details under IDR: Deployment we use read-only copies of both OMERO.web and OMERO.server to scale out. And certainly, without that, we wouldn’t be able to handle the load.

OMERO.server is very likely the place to start, though scaling up OMERO.web is quite straight-forward. Investing in the database layer is also worthwhile.

I feel like I’m missing something. Can you explain more? I’d imagine after the migration all URLs would be identical.

It’ll be important to understand where your bottlenecks are. If metadata loading is your issue, then at the moment, read-only copies of OMERO.server and PostgreSQL are likely a good starting point. If you are having problems with loading binary data (thumbnails, image planes, etc.), then you almost certainly want to look into adding micro-services from Glencoe.


cc: @Emil_Rozbicki

Thanks so much for your response! I’ll start by scaling out Omero Server and conducting load tests.

In regard to the question about migrating databases, currently the Cloud SQL service through google doesn’t officially support PostgreSQL migration so I would have to repopulate the server myself presumably. However, I’ll cross that road when I get there haha.