escapebox logo title
 
Information
Introduction
Specifications
MODUS technology
Domain registration
Prices
Billing
B2B reseller options
Consulting
Contact
About us
Imprint · Impressum
Business terms · AGB
Press room
Customer gallery
Glossary
Search


Action
Test-drive a box!
Order
· First box
· Additional box
· Domain registration
· Domain transfer
· Subdomain
· SSL certificate
· Cust. gallery entry
· Something else
Update CC info
Send auth'ed message
Get help
Talk back to us


Box Docs
Introduction
First steps
User accounts
Email/News service
Web service
Other software
Server protection
News/Changes
· Recent
· Archive


Recent Changes
· Maintenance upgrade to cURL 7.18.0
· Security patch for Fetchmail
· Maintenance upgrade to Multitail 5.2.2
· Security upgrade to PHP 5.2.6
· Security upgrade to png 1.2.27
· Maintenance upgrade to Wget 1.11
· Maintenance upgrade to Sudo 1.6.9p15
· Maintenance upgrades to Python 2.3.6, 2.4.5 & 2.5.2
· Maintenance upgrade to Rsync 3.0.2
· Maintenance upgrade to Subversion 1.4.6


Statistics
Active boxes 523  
Net I/O (30d) 329  GB
Disk space 275  GB


Latest Awards
webhostlist availability logo


modus technology logo

cauce member logo


Copyright © 2002-2008
EscapeBox Germany
     
The EscapeBox MODUS design  
The term MODUS stands for "Managed On-Demand UNIX Servers", which means that our server boxes come with management and can be generated just-in-time, at the push of a button.

These servers are based on our enhanced implementation of the FreeBSD "jail" mechanism, which adds important compatibility features like proper support of SysV IPC (for PostgreSQL etc.), raw IP sockets (ping, traceroute etc.), per box filesystem quotas and more. Also, all boxes on all machines are NTP synchronized, so time stamps in log files etc. can be compared at a sub-second granularity.

For the multilayer system architecture outlined below we developed our own version of the UNION filesystem which we would like to stress does not suffer from the stability and performance issues of FreeBSD's original (broken) implementation. The underlying filesystems that contain the actual data are plain UFS (plus soft updates), for a maximum of speed and compatibility with applications.


Filesystem voodoo  
In order to make our unique setup resource efficient, and therefore affordable to the customer, the filesystem is comprised of two sections. The actual user filesystem contains only data owned by an individual box while the major part of the UNIX system resides in a system container shared by all boxes. The user container is mounted as an overlay to this system container. Here is an illustration of how this works:

overlay diagram

From the user's perspective this separation is invisible. As long as he keeps accessing files in read-only mode (executing programs implies read-only access) he (unknowingly) shares them with all other box users. As soon as the box user opens a shared file for writing, though, the system copies it into the user container, and from thereon the user works on his personal copy of the file. This mechanism is common in UNIX and is called "lazy-copy", or just "copy-on-write". Note that timestamp, permission and ownership changes qualify as writing to the file too. This personal copy can of course be removed again at the user's discretion.

What this multilayer system architecture means with regard to maintenance and security of our server boxes is that we can do updates of the software living in the system container centrally and on the fly, making servers with application level management (incl. 'root' access!) available at a price that would not be possible with a conventional setup.


Software maintenance  
Users can customize the preinstalled software, since modified config and data files automatically become private copies, as outlined above. In order to avoid "collateral damage" when we upgrade centrally maintained software packages we employ a number of strategies:
  1. If the differences between software revisions are minor we tweak the config and data files for those users who happen to have private copies of them, in order to retain compatibility. Most of the time this is not even necessary, though.

  2. In case of more sweeping changes we install the new version in parallel, if this is possible, and make the new version the default for newly generated boxes.

  3. If installing the new version in parallel is not possible we move the entire current application into its own directory hierarchy and deploy path redirections in all affected boxes, by means of symlinks. Then we install the new revision. This way the upgraded version becomes the default for newly generated boxes, while already existing boxes keep using the old version. We provide upgrade docs and also a script that effectively removes the symlinks, so each user can upgrade at his convenience.

This methodology is key to years of undisrupted server operation, without having to compromise on software maintenance. The vast majority of upgrades takes place in the background and without noticeable downtimes.


MODUS vs. virtual servers  
We found that due to insufficient insight into the different underlying concepts, people frequently mix up our MODUS system with conventional virtual servers ("VS" for short), inadvertently comparing apples and oranges. We would therefore like to shed some light on the main differences between our solution and the majority of the VS offered elsewhere.

  • A MODUS box already comes with most of the application software preinstalled that you would need on an Internet server. This might be true for some VS boxes, too, but the majority is initially equipped with just the basic OS installation.

  • Due to its special system architecture, maintenance of all the preinstalled application software, as well as the OS utilities, is built-in in a MODUS box. Since it is an integral part of the system it does not cost extra. Still, despite this management feature you have 'root' access. For VS boxes you would have to take care of maintenance yourself, or else buy it as consulting, which is expensive if done in a proper and timely fashion (basically the same as with dedicated servers). Also, conventional server management rules out 'root' permissions for the customer. In short, with a MODUS box you get the convenience of a homepage account, combined with the flexibility of a dedicated server.

  • Not only is there a lot of software preinstalled, it is also carefully preconfigured, which means that when you move in you just need to add your domain name(s) in a single location and start using the box, right away. Try this with a conventional VS box!

  • Since the majority of customers make use of the preinstalled software in MODUS boxes and bring only a few individual add-on packages, if at all, the resource sharing in the base machine's system memory, and therefore the savings that are typically achieved, are tremendous, which means that almost all of the system memory is available for individual user data. Therefore, running relatively memory hungry applications like an SQL database, a Java virtual machine etc. is no problem in this environment. VS boxes, on the other hand, usually have a much less efficient memory management, since they do resource sharing for the OS utilities at most, which is negligible with regard to memory consumption. Therefore, there have to be stricter resource limits imposed on a VS box, which are likely to make it unsuited for professional use.

  • The precise accounting of resources each MODUS box consumes enables us to do a ranking of these boxes, showing us in time which one needs to be migrated to a less utilized base machine. VS boxes usually lack a sophisticated resource accounting, so load management is naturally less effective.

To wrap it up, about the only thing our MODUS system and conventional VS have in common is that there are several boxes running on a base server machine. Concept, implementation and also usefulness for the customer differ substantially, though. While our MODUS boxes have been developed with professional use in mind (IT outsourcing, server consolidation etc.), conventional VS more often than not are just meant as a means to offer bare-bones servers for even less than low-budget dedicated servers. Certainly quite different objectives.