What is Cloud Web Hosting?
Like so many other terms in information technology these days, the term “cloud” is being beaten to death. Some people refer to any collection of servers exposed on the web as a “cloud.” By that definition, every website from Google on down to the smallest website is its own cloud. Obviously, we are not going to use that as our definition.
For a web hosting platform to be considered a cloud, the following features are usually present in a variety of forms:
- The client does not own the servers, load balancers, etc. thereby greatly reducing capital expenditures
- A (relatively) massive computer infrastructure – accommodating multiple servers interconnected with the aim of allowing an application to run on one or more servers without any attachment to a particular server.
- Servers can be added and removed from the cloud and the application should continue to run uninterrupted.
- Scalability– A hosted site running in a cloud is running in a distributed fashion over multiple servers. To scale, new servers can be added and the application should just take advantage of the added resource availability.
- Resource stability – Since usage is shared across multiple customers, better overall computer usage occurs because each client’s resource rise and fall based on actual need.
- A pricing model based on usage of resources – This is probably the single biggest point of interest when hosting in a cloud. Instead of being charged a flat rate per month or a rate based strictly on bandwidth, a metered charge is used, similar to how electricity is billed in the United States.
There are many different approaches to cloud computing. Several big players in the market are Amazon, with their Elastic Cloud (which is the technology behind several other players), Microsoft, Rackspace, and GoGrid.
Various service levels and types of service are available and the user can select from a set of features to compute his price per computing hour. For example, a faster server with more memory will cost more, but as your demand increases, your resources will be increased at that level. When demand decreases, your overall costs will return to their non-peak point. If used for sites of appropriate size, this can save considerable money.
When does it make sense to use a cloud host?
If you are running a small, mom and pop type site, don’t even think about using a cloud. Although it is advertised as “use only what you need,” that actually means that for your tiny little site to run 24 x 7, you need 720 computing hours for a 30 day month, at basically no load. Obviously, this isn’t meant for tiny sites.
If however, you are running a site which normally receives a fair amount of traffic, but then occasionally gets slammed beyond belief, cloud hosting makes sense. For example, clouds may be useful for online retailing companies. In fact, that’s why Amazon built theirs. Sometimes, they have a relatively constant, predictable load. For example, our small store typically processes 1000 orders per day. We can get away with two servers and most of the time, the second one is unused. But now, we’ve just been given the exclusive right to sell the AwesomeWidgit 1.0. It’s incredibly popular and you can only get it from us. Suddenly, our two servers are getting crippled by the massive amount of traffic hitting them. Our orders go from 1000 orders per day to 2000 orders per HOUR! What do we do?
In a normal hosting environment, you would be screwed. You would have to contact your hosting provider, provision new servers, configure them, get them online and get them integrated and communicating with each other via a load balancer or some other approach. This isn’t going to happen in 15 minutes.
If, however, we are in a cloud, all we have to do is sit back and count our money (in theory). As we need more power its automatically made available, and as long as our hosting provider supports what we need, we are just fine. Now, in our above scenario, we would automatically add 10 – 15 additional servers, and our application would just chug right along.
When the rush was over, our usage would go down, and so would our cost. Contrast this to the situation where you have to procure multiple new servers, get them up and running, and then, when your rush is over, you’ve got all this excess computing power going to waist.
Basically, hosting in the cloud is best suited for those times when you need an extra kick but you don’t want to spend the large amount of money to always be ready for a spike that may only show up for 15 minutes a year. 10 extra servers, costing $100,000 or so, massively increases your maintenance and capital costs, and basically it is all there for just a small window of need. Instead, with cloud computing, you get “Just in time” resource availability.
Advantages of cloud hosting
- Lower cost – In theory costs will be lower, but this is not always proving to be true as the reality of having to pay for every hour of usage can drive prices up
- Scalability – Provision new servers as needed without having to hire people to do it.
- Shared costs – Sharing across a large number of users creates economies of scale and much higher utilization
- Reliability – If it’s truly a cloud, its redundant by definition
- Minimal application deployment – Deploy it to the cloud once and let it go
Disadvantages of cloud hosting
Although there are a lot of good things about cloud hosting it is no panacea. Some disadvantages include:
- Hard to predict costs – Your costs could go up dramatically. Of course, hopefully so will your business in this case
- Security – Face it, everybody is in the pool together. 20 or 30 companies on a cloud mean 20 or 30 companies putting their data in one place. Hack one and you may be able to hack them all. That said, since these clouds are administered by large firms, the security may be actually stronger at least from the outside.
- You get charged for everything – Computing cycles, storage, inbound traffic, outbound traffic, gets, puts…. It can be very expensive if your site doesn’t utilize the cloud’s abilities.
Cloud computing offers quite a bit for the user who needs to deal with spikes in his usage. In terms of flexibility, it far exceeds anything a standard host can offer. With that in mind, if flexibility of resources and an ability to scale on demand is needed, the cloud is a great choice. However, if you have a fairly regular resource load, or are just a small site in general, cloud hosting will provide you with considerably higher costs for resource availability you may not ever need.