During the month of October, join TechSoup.org and the TechSoup Global Network for our Cloud Computing Worldwide campaign. Check back throughout the month for blog posts, webinars, and dispatches from around the world on cloud computing for nonprofits, NGOs, and public libraries.
Often when we talk about the cloud, we talk about the different services we can get in the cloud — for example Google Apps, Twitter, or Dropbox. But the cloud isn't just a place where we can get services; it's a place where we can build our own services. And there are all sorts of things you can do with those services, including helping out in disaster recovery.
Before the cloud, if you wanted to build a web application (a program that you get to through a browser — Facebook is a good example) you would get yourself a server which would run your application.
If talk about servers makes you want to run and hide, think of your server like a customer service representative. When people call in, your customer service rep has to answer the phone and deal with the person's question. Similarly, when people visit your application (e.g. check their news feed on Facebook), your server has to run around and make sure to get each person the right information, displayed in the right way. After all, you wouldn't be very happy if your news feed was suddenly blank or if it showed information from people who weren't your friends.
Fortunately, the server is better at running around and dealing with everyone's requests than your customer service rep is. But if your customer service rep gets enough calls, there's a point where they just can't answer everyone's calls anymore. At this point, you hire another customer service rep to help them out. Similarly, there's a point where so many people are visiting your application that your server just can't handle all the running around anymore and it crashes. This is when it's time to buy another server, so your two servers can work together and help each other handle the load.
So you're running along just fine, and then all of a sudden something happens that completely overwhelms your resources. Maybe you run a big promotion and all of a sudden your customer service reps are now getting 10 times the normal number of calls. What do you do? Do you run out and hire a boatload of new customer service reps? You could, but then when the promotion is over and call volumes return to normal, what are you going to do with them? They'll either sit around twiddling their thumbs or you'll have to let them go.
Same thing happens with your servers. If all of a sudden you get a ton of people accessing your application, you're going to need to run out and buy more servers, fast. But when it's all over you'll have a bunch of servers sitting around collecting dust. How do you avoid this in the first place? This is where the cloud comes to the rescue.
Hosting your application in the cloud — instead of on your own servers — is like having a customer service department that grows and shrinks automatically whenever you need it to. More people start calling in? Customer service reps magically appear to start taking calls. Call volume drops off? The extra reps leave and go do other stuff. All without you having to do anything. While there are some clear logistical problems in doing this with people, it works a lot better with computers (for starters, they don't need a salary, training, or job security). Applications in the cloud can be flexible in accommodating however many people visit your application without you having to worry about it. (Disclaimer: I'm not saying there aren't downsides to hosting in the cloud, I'm simply trying to illustrate this particular benefit).
One of the scenarios where it's especially important to be able to handle unusually high amounts of traffic is after a disaster, which is why Second Harvest Japan decided to host its Emergency Response Portal in the cloud. Through the portal they provided partners and supporters with updates on the situation, information about food distribution, a map of where they are working, photos of their work, and of course the ability to donate.
If Second Harvest Japan had set up its own server to run its Emergency Response Portal, it probably would have crashed pretty quickly — like the lone customer service rep that got too many calls to handle. On the other hand, buying a whole bunch of servers wouldn't have made sense — that would cost a lot of money, which should instead be spent on relief efforts. As well, once things had died down a bit, the organization would have found itself with a room full of servers it had no use for. So instead, they used a cloud service — in this case, Microsoft's Windows Azure platform — to host their portal. This allowed Second Harvest to run its portal smoothly without crashing, while putting most of its money and effort where it was needed — helping people on the ground.