Keep your head in the clouds
I'm a big fan of cloud computing, in particular Amazon Web Services and Salesforce.com. Anywhere that I can outsource the actual hosting and management of computer systems I usually do.
With OtherInbox, we've been pretty religious about it. The only computers we own are the laptops and desktops that people work on.
- We host our email and shared calendars on Google Apps
- We use Google Docs as our wiki and for shared word processing and spreadsheets
- We host our website and blog at TypePad
- We host our version control software at CVSDude
- We send our outbound email through DNSExit
- We host our DNS with DynDNS
- We send out customer surveys with SurveyMonkey
- We test our software on many different platforms using CrossBrowserTesting.com
But probably most critical to our cloud strategy is hosting our production web servers and database servers on Amazon EC2 platform and using their S3 platform for backups and serving up static web files. We also use the SQS service to coordinate all our servers.
So what is all this talk about cloud computing? How can you take advantage of it in your current web application? What's the same and what's different?
From what I've seen, there are three major steps in moving from a traditional dedicated server architecture to one that takes full advantage of the unique benefits of the cloud.
- Replace dedicated servers with cloud-based virtual servers
- Move bottleneck code into modular work queues
- Move database or persistent storage to an incremental solution
In upcoming posts I'll discuss each of those three steps in more detail.
Once you get to step three, you have a highly redundant architecture that scales incrementally. You only pay for what you use, so if you are busy in the afternoons but slow at night you can turn on twice as many servers at peak time without having to pay for keeping them standing by idle the rest of the day. If you suddenly get a lot of publicity and see rapid growth, extra capacity is sitting there waiting for you to use it and the architecture is ready to scale automatically. An the whole thing is probably CHEAPER than having dedicated servers!
I'm reading 


Recent Comments