How to run your browser in the cloud

Posted on 2019-11-18 by Nico Schottelius

So I have this problem: no matter which notebook I buy, some applications are always to "heavy" for it. Notably running two browsers has so far exhausted the available RAM on my notebook.

The Pros and Cons of the cloud

For many years I have the strict policy to be able to work autonomously with my notebook. So moving parts of what I use to the cloud was rarely an option. I want to be able to work offline.

However this comes with a drawback that switching the notebook can be a bit cumbersome. So I migrated to a git + nextcloud + imap based setup in which all "small files" (notes, source code, etc.) reside in git repositories and "big files" (photos, videos, etc.) reside in Nextcloud.

One thing I always want to have locally, are my emails, which I read in emacs (using mu4e). Using mbsync / isync this problem has also been solved - my mails are local and remote.

The browser

While you can make a joke about emacs consuming all my memory (it stands for Eight Megabytes And Constantly Swapping, doesn't it?), the real problem are actually browsers. It was a problem on my 256MB RAM notebook in 1998 with Netscape Navigator, it is still a problem with firefox and chromium and 16GB RAM in 2019.

Even if you are crazy and upgrade to a 32GB RAM notebook, like I did, you finally become CPU bound! Yes, indeed, the tabs of my browser consume all CPU cores - while it is idling.

There is an important discussion around why browsers use so many resources and how to optimise this, however this is not the focus of this post...

The browser in the cloud

Working at ungleich, literally less than 50 meters away from the Data Center Light, I was wondering whether or not I can actually use one of our VMs to outsource my browser.

First check: does it make sense? I use the browser, to browse the web and it is rarely of use in an offline scenario. So it is a possible candidate for moving out of my notebook.

Second check: how would I access it? I potentially want to be able to access it from anywhere, even without my notebook. Luckily we have recently gained some knowledge about Apache Guacamole, which lets me access VNC, RDP and even SSH via the web. Guacamole also supports 2FA, which is a nice add-on.

Sanity check: So... I can use a browser to access my browser in the cloud. Does that actually make sense? And the answer for me is yes, because instead of running many tabs, I only have to run 1 tab locally and can outsource the rest.

More in the cloud

Actually, what happens behind the scenes is that the VM is running VNC (we are also experimenting with XRDP), so I have actually full access to a remote Linux desktop via browser and can even run applications like libreoffice, blender or gimp remotely.

Because I think it's a cool thing to have, our team at ungleich added it as an offer to our Black IPv6 Friday Crowdfunding.

Below you can actually see how it looks like:

Desktop in the cloud