Putting an application in “The Cloud” is something I’ve been hearing a lot about lately, but what does this mean?
In the good old days (about 5 years ago… a lifetime in internet years), the standard way to host your web site would be on a web server. A web server is just a computer like the computer you are using now – the only difference is that is has more powerful and fault-resistant components such as hard drives, network cards and memory. This server computer would live in a data center somewhere and serve your website to all who should choose to view it. If you were on a ‘shared’ hosting plan, you would also be sharing this computer with several other websites. If this server was to fail in some way, all of the websites that are on it would also fail. There would be no way to reactivate the web sites until that computer was repaired, or the data was transferred to another computer.
This was seen as a problem for a number of reasons.
– The single point of failure mentioned above.
– If your website became very popular, then the machine it was hosting from would have to either be upgraded or replaced. Both of these actions can require costly downtime.
– If you run a business that has seasonal spikes, such as retail stores at Christmas time, then it can be expensive to maintain a server environment that has the capacity to support that traffic even at times when it is not needed.
Along comes The Cloud. The Cloud is a concept that describes hosting your application on a virtual server, rather than a physical server. Behind the scenes of your virtual server are several real servers, but these are hidden from you. All you see is a single machine that you interact with the same way as you used too, but is much more flexible. If a real machine fails, then the virtual machine doesn’t necessarily fail because there are several other physical machines that can instantly take over hosting your site. Rather than paying for a hosting server, you are paying for a certain amount of processing power and disk space. At peak periods, when you are expecting lots of hits, you can pay more to silently increase the capacity of your ‘slice’ of the cloud. After the peak period you can then return your server configuration to support your normal load.
Of course there are downsides to moving to a cloud-based environment. The cost of a basic web hosting service is probably more than what you would get elsewhere, so if you have a smallish site it’s probably not worth the trouble. Also, don’t be lulled into a false sense of security thinking that your data is safe in ‘the Cloud’. Earlier this year a large part of AWS (Amazon Web Services) went down and several high profile sites were unavailable for some time. If you have a highly mission critical site, ensure you have a backup and failover plan in place – the cloud isn’t 100% reliable, it’s just more resistant to failure than other hosting options.
I hope you enjoyed this short overview of the Cloud, if you have any questions, please email me!