I'm a big fan of a cloud-based note-taking application called Springpad to help me remember things, and it's always been an excellent, reliable tool, and I've recommended this app to everyone that I know. Last Thursday before Easter, I was on my way home and had a look at it on my mobile. For some reason it was asking me to logout and re-login since it could not sync to the cloud, so I did what it asked me to do, but alas, it was a big mistake! At that exact moment, Springpad and other cloud-based applications such as Foursquare, Quora, Hootsuite, Shareaholic were down, as you can see from this article. Even Crust Pizza online ordering system was also down (see their twitter status link). I was not able to login, or access my check list, shopping list, car insurance comparison, bookmarks, trip plans, and other useful stuff that I normally use this tool to take a note of for 2 days. Users were angry, as you can see from this link. I seriously considered going back to using Evernote.
All those cloud-based services are using Amazon EC2 (Amazon Elastic Compute Cloud), a cloud service provided by Amazon designed to be flexible in terms of resizing cloud capacity and other technical functionalities, hence making it easier for developers. When this cloud went down, all the services did go down with it since all the data was stored in this Amazon cloud. Some of the services actually moved their hosting elsewhere until the Amazon cloud was back up so that users could still use them.
Imagine that you don't have access to all your important data for 2 days! It may not seem long but nowadays that is a very long time. Here we can see the downside of using cloud based services. You're at the mercy of your provider if the cloud goes down, but in my opinion, people should not be discouraged by this event. Hosting data on your own has its downsides too, and some downtimes are also expected. What I would suggest they do is:
- Don't put all of your resources in one cloud. Amazon EC2 has various availability zones, so it is wise to spread your resources into different zones, or better still if possible, into different providers
- Just because you've outsourced your data to the cloud, does not mean that you should not think of a backup plan just in case it goes down
- Have offline access, where applicable, so if the cloud goes down, the application can display a meaningful message and users would still be able to continue using it