13.09.2016 Views

PHP and MySQL Web Development 4th Ed-tqw-_darksiderg

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Disaster Planning<br />

389<br />

hosted burned down or was instantly destroyed in a massive earthquake. An alarming<br />

percentage of them will have no answer at all.<br />

Disaster (recovery) planning is a critical <strong>and</strong> frequently overlooked part of running a<br />

service, whether it is a web application or anything else (including the day-to-day operations<br />

of your business). It is usually a collection of documents or procedures that have<br />

been rehearsed for dealing with the questions that arise when one of the following happens<br />

(among many):<br />

n Parts of or our entire data center is destroyed in some catastrophic event.<br />

n Our development team goes out for lunch <strong>and</strong> all are hit by a bus <strong>and</strong> seriously<br />

injured (or killed).<br />

n Our corporate headquarters burns down.<br />

n A network attacker or disgruntled employee manages to destroy all the data on the<br />

servers for our web applications.<br />

Although many people do not like to even talk about disasters <strong>and</strong> attacks for various<br />

reasons, the hard reality is that such things actually do occur—fortunately, only rarely.<br />

Businesses, however, usually cannot afford the downtime that an event of such magnitude<br />

would cause if they were completely unprepared. A business that does millions of dollars<br />

a day in business would be devastated if its web applications were shut down for over a<br />

week while people not 100% familiar with the setup worked to get the systems up <strong>and</strong><br />

running again.<br />

By preparing for these events, anticipating them with clear plans of action, <strong>and</strong> by<br />

rehearsing some of the more critical portions of these, a little financial investment up<br />

front can save the business from potentially disastrous losses later on when a real problem<br />

does strike.<br />

Some of the things we might do to help with disaster planning <strong>and</strong> recovery include<br />

the following:<br />

n Make sure that all data is backed up daily <strong>and</strong> taken off-site to another facility, so<br />

that even if our data center is destroyed, we still have the data elsewhere.<br />

n Have h<strong>and</strong>written scripts, also off-site, on how to re-create the server environments<br />

<strong>and</strong> set up the web application. Rehearse this re-creation at least once.<br />

n<br />

n<br />

n<br />

n<br />

Have a full copy of all source code necessary for our web application, also in multiple<br />

locations.<br />

For larger teams, prohibit all members of the team from traveling in one vehicle,<br />

such as a car or airplane, so that if there is an accident, we will be affected less.<br />

Have automated tools running to make sure that server operation is normal, <strong>and</strong><br />

have a designated “emergency operator” who will be responsible for coming in<br />

during nonbusiness hours when a problem arises.<br />

Make arrangements with a hardware provider to have new hardware immediately<br />

available in the case that your data center is destroyed. It would be most frustrating<br />

to have to wait 4 to 6 weeks for new servers.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!