<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Olate Blog</title>
	<link>http://www.olate.co.uk/blog</link>
	<description>Developing software for developers</description>
	<pubDate>Fri, 16 Nov 2007 14:51:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Backup Systems</title>
		<link>http://www.olate.co.uk/blog/backup-systems-2/</link>
		<comments>http://www.olate.co.uk/blog/backup-systems-2/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 14:51:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
		
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.olate.co.uk/blog/backup-systems-2/</guid>
		<description><![CDATA[Welcome to the newly launched Olate Blog! A long time ago we used to have a company blog and we have decided that now is a good time to revive that effort. However, with every company in the world now blogging, we don&#8217;t just want to talk about Olate but want to provide interesting posts [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the newly launched Olate Blog! A long time ago we used to have a company blog and we have decided that now is a good time to revive that effort. However, with every company in the world now blogging, we don&#8217;t just want to talk about Olate but want to provide interesting posts that are relevant to the running a company involved in software development.</p>
<p>As such, every week one member of staff will post an entry covering a specific issue, in depth. This might range from the discussion of effective server backups, as we&#8217;ll move onto in this post to creating a form builder in PHP, from working with a specific payment processor to promotion techniques. We hope to cover topics that we are involved with on a daily basis and not just use the blog as a tool for promotion.</p>
<p>So, hello and welcome. My name is David and I&#8217;m the Managing Director of Olate. In the past I have been directly involved with the actual development of our products but I now focus on management of the company and its infrastructure. Olate is a web based company and as such we rely on our servers and network to sell our products, as well as offering hosted services to customers. A small, but extremely important part of that is the setting up and maintenance of effective backups.</p>
<p><strong>Local Backups</strong><br />
When you start off, the quickest and cheapest method of installing backups is to have them implemented locally, usually to a secondary hard disk on the server. You set up a script to dump the database at a specific interval and copy files to the secondary disk. In the event of a primary disk failure, you can add a new disk, reinstall the OS and copy the backed up files to their original locatation. This takes time and the obvious flaw is that the backup is stored inside the server - if the server burns up or even gets stolen, you lose the original data and the backup. This kind of backup is more useful for individual file or database restores in the event of an error - you can immediately restore the data very fast from the attached disk.</p>
<p>Our company servers all make use of this backup technique to copy files and dump the database every 4 hours with hourly, daily and weekly retention. Should a table be accidentally dropped or a mistake be made during a software upgrade, we can very quickly restore the database from the backup disk.</p>
<p>The tool we use to handle this is called rsnapshot and is a free and very easy to configure backup script. It allows a lot of control over what is backed up and can handle remote backups should you wish to do so. It can be found at <a href="http://www.rsnapshot.org/">www.rsnapshot.org</a>.</p>
<p><strong>Remote Backups</strong><br />
The next stage of backing up is to copy the data off the server and onto another device. If you have a lot of data then you will want this device to be stored on the same local network as the server being backed up otherwise you will find that transfers take a long time due to transfer speed limitations; that is if you are doing a full backup every time. You could instead make use of rsync to run incremental backups that only copy files that have changed, which is a much more efficient way to do backups. rsync comes with Linux as standard and is also <a href="http://itefix.no/cwrsync/">available for Windows</a>.</p>
<p>A good tool for running network backups is the free <a href="http://www.bacula.org/">Bacula</a>. This is a much more advanced tool than rsnapshot as it works in a client/server manner with a control server and storage server (they can be on the same physical server) taking backups from many devices.</p>
<p>That said, for a more easy to use system, you may wish to consider the backup application from <a href="http://www.r1soft.com/">R1Soft</a>. We use this on our servers as it offers a central control panel that allows you to manage a lot of the administration of backups. It is designed as a continuous backup platform so you can make many backups or have changes continually copied to the backup device as they are made.</p>
<p>Onsite backups are probably the second line of defence after the local backups. In most situations when you will need a backup restored, you will be able to do so from within the local network. The advantage is that the high speed data centre network can be utilised to transfer the backup to the server so you can get back online as quickly as possible. Offsite backups will be subject to delay whilst large amounts of data are transferred across the internet.</p>
<p>Of course, if the data centre is on fire then onsite backups because useless and so you have to have an effective offsite backup in place for full peace of mind. You can generally use the same tools for offsite backups as you do with onsite backups - it&#8217;s a case of changing the network location.</p>
<p><strong>Other Considerations</strong><br />
There are several other things that need to be thought of when implementing a backup system:</p>
<ul>
<li>Encryption - When transferring and storing the backups, are they encrypted? You know how secure the live server is but can the data be intercepted as it transfers across the local or wide area network? Once stored on the backup device, is it protected there as well? The R1Soft solution mentioned above offers encryption options to cover all of these situations.</li>
<li>Backing up the backup - The whole point of backups is to cover yourself in the event of a major incident involving data loss. What happens if both your live server and backup device happen to develop a fault at the same time? A certain level of common sense should be applied here - it is obviously silly to have backups of backups of backups of backups but such a situation does need to be contemplated.</li>
<li>Testing the backup - It&#8217;s all very well to install the best backup software in the world but does it actually work? You should simulate a situation where you need to restore the backup to make sure that the files copied are sufficient and that the copying process works as it should be doing. This is not a one time test either, it needs to be done regularly.</li>
<li>Confidentiality - This kind of thing is more relevant when actually buying a server but does your server provider provide a gaurantee that they will not look at your data and if they do, that you have an appropriate confidentiality agreement in place with them?</li>
</ul>
<p>When Olate started, we had very simple backup systems in place. Over time, as the importance of the data we hold increased and as more customers relied on us to provide a reliable and secure service, our backup systems evolved. We now have MySQL replication in place for real time backups of our customer database, offsite retention hourly, daily, weekly and monthly in addition to the original local backups and on and offsite storage. </p>
<p>It does not make business sense to set up elaborate systems when they are not necessary but it is important to always keep backup policies under review to ensure that sufficient backups are carried out in a cost effective manner.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.olate.co.uk/blog/backup-systems-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
