Computing stuff tied to the physical world

Great visibility, no cloud in sight

Here is some wonderful art called “Nimbus-Probe” by Berndnaut Smilde, a Dutch artist:

FullSizeRender

A cloud, captured inside a house – how very appropriate for this article!

With the completion of the recent server migration, and some related changes, JeeLabs is now officially no longer “in” the cloud, i.e. there is no internet server “out there”, involved in serving the JeeLabs.org and JeeLabs.net websites.

Well, up to a point, of course: there is still an ISP in the equation, providing connectivity, the routing of all traffic, and the DNS service. These are public internet sites, after all!

The weblog is a static site. There are no trackers, there is no JavaScript involved, it’s just what it’s supposed to be: pure content, from yours truly to anyone interested in this. As you should be able to verify yourself, the site also loads very quickly. And it scales very nicely – the average CPU load is 1%, on an 8-core ARM CPU. Site searches are forwarded to Google.

Other than possible security holes in nginx, or some silly oversight in its configuration, this setup has no meaningful way to “find a way in”. It’s outbound, and since all the information it serves is public and intended to be visible, there’s really no point in closing any parts off.

The community site is driven by Redmine, a well-maintained open-source software project, based on Ruby on Rails. The JeeLabs.net setup uses Nginx as web front-end (same instance as for the rest), Thin as Ruby application server (using four instances for load balancing), and good old (yawn…) MySQL as database layer underneath it all.

While it would be great to have a design based on this idea – there is not (yet?) an existing implementation which could make that happen. So JeeLabs.net will just have to make do with this more traditional database-backed web site approach. Luckily, both the load and the resource consumption are well within the current hardware’s capabilities. RAM use of the entire server tends to hover around 60% of the available 2 GB.

Gone are the VM’s, WordPress, Apache layers, and extra copies of Linux. Good riddance. The ≈ 20W lower power consumption translates to a 175 KWh savings per year, about 6% of the total yearly electricity consumption here at JeeLabs. Nothing stellar, but still nice.

There’s a simple rolling backup schedule and server to recover in case of serious trouble.

No data centres. No web-based admin panels. No remote logins. No VPNs or infinite layers of security. Just a little box drawing around 4W and a Fritz!Box router w/ NAT, sitting on the end of a fast FTTH internet connection. And no hemorrhaging fees at every corner.

If power fails, JeeLabs will be down. If the fiber link is down, then so is JeeLabs. So be it.

Time will tell whether this simplicity will also lead to robustness and reliability. In the past year, the JeeLabs sites have been online 99% of the time – the goal for 2016 is > 99.9%:

Screen Shot 2015 12 22 at 00 50 28

One closing note, for the record: access logs at JeeLabs are only kept for a limited time (i.e. days), and only to be able to pinpoint problems. If you want to be tracked, go elsewhere…

If you like (parts of) this approach, then please spread the word. Information sharing does not have to imply information gathering – nor riding along with every new “service” out there. A decentralised internet is perfectly capable of connecting people as it is, thank you.