S3OnTheGo (advanced backup system)

The “S3OnTheGo” system is a secure off-site backup solution for Microsoft Windows, based on the Amazon S3 Web Service. The aim of S3OnTheGo is to provide an organisation with the ability to allow its employees to backup and synchronise a selection of their files, from any internet-connected location.

Current backup solutions generally rely on separate pieces of hardware, such as tapes, hard drives, REVTM drives, CD/DVDs, and NASs (Network-Attached Storage). In the event of a server crash or other disaster, files and system state can be restored from the backup media. These conventional solutions can be costly, always entail the deployment and maintenance of extra hardware and can often over-complicate a simple set-up. These restraints can preclude their use by the “small-time” operator, such as a small business.

S3OnTheGo removes these extra layers of complication to provide a robust and secure backup solution, which also acts as a type of “revision control”, whereby users can rollback to an older “snapshot” of a particular backup, if necessary. On top of that, it provides the ability for users to retrieve and restore backups from any internet-connected location, thus allowing greater flexibility for the travelling user.

The system is intended for use by small-to-medium sized businesses as an alternative or reinforcement to conventional backup systems, and also as a tool to increase accessibility amongst its employees/users.

S3OnTheGo is huge and is probably the most complex system I have single-handedly coded, and is best explained by the documentation (particularly the Technical Manual), for anyone interested.


S3OnTheGo Functional Spec

  • written before system was developed
  • roughly explains how system will work

S3OnTheGo Technical Manual

  • how to install and setup all aspects of the system
  • detailed low-level explanation of the inner workings of the system, ideal for anyone developing S3OnTheGo

S3OnTheGo User Manual

  • aimed at a novice user
  • how to install and use the user application
  • troubleshooting

S3OnTheGo Code Samples

  • sample code from core areas of the system


  • Microsoft .NET 2.0 Framework or later
  • SQL Server 2000/SQL Server 2005 or later
  • IIS 5.0 or later
  • Certificate Server (for SSL authentication — production environment only)


Although I consider S3OnTheGo to be open source to anyone who wants it, I currently only provide the source code on request.