posted 9/24/2010 by Vivek Thakur
Difference between a dedicated server, shared server, VPS and cloud hosting?
Before the advent of the buzz-word "cloud", there were primarily 3 major hosting options for your web applications:
1. Shared Server: You share the server space and hardware (RAM, Disk size, CPU etc) with others on a single server. The server admin will allocate you a fixed hard disk space (database may be included) and will charge you a fixed monthly or annually cost. This is the cheapest option and suits well for small websites (like personal sites) but it will not scale well since all the resources would be shared with other applications running on the same system. Most shared servers charge $5-$50 per month depending on features.
2. Dedicated Server: If your web application is decently large, needs more power, and you want complete control of your application, then dedicated server is a good choice. Dedicated hosting means you have the entire server (physical computer) to yourself, there is no sharing. You can host multiple applications on it, the entire RAM and HDD space is yours. Each dedicated server plan comes with a fixed amount of RAM, CPU, bandwidth and hard disk usage.
3. Virtual Private Server (VPS): VPS can be thought of as a mix of a shared and a dedicated hosting. In VPS, a single physical server is split into multiple "virtual servers" using virtualization each having its own OS(Operating System). You can install any software in your copy of the virtualized OS, and may safely reboot it too remotely without affecting other virtualized instances running. VPS hosting is cheaper than a dedicated server, since the same hardware is shared with multiple VPS instances, but is costlier than Shared Servers, as you get complete control of your own instance.
So if you have a CPU and RAM guzzling application, a dedicated server was probably the best option, but what if your application consumes more resources than your dedicated server has to offer? The only option in such a case is to upgrade your server, which can be quite costly and time consuming. Another thing to worry about is what if your newly upgraded server is not using ALL the resources? You will still be paying for it, even if your app uses a certain amount of RAM of the allocated hardware. That's where "cloud hosting" comes into the picture.
Cloud hosting
In a cloud hosting scenario, there are multiple dedicated servers with some type of virtualization layer over them which manages resources like:
1. CPU usage
2. RAM usage
3. Disk usage
4. Bandwidth usage
Ideally a cloud server should:
1. automatically scale as and when your application needs more resources (be it CPU, RAM or disk space)
2. bill only for the actual amount of resources used
Till now, the "true" cloud technology does not exist.Take Rackspace or Amazon cloud services for example: in both cases you will have to sign up for a certain "cloud plan" which has a fixed amount of resources (RAM etc). The only difference here is that you can scale your server in a few minutes instead of waiting for days in case of upgrading a dedicated server. The only exception being the bandwidth: you are billed for the actual amount of bandwidth used per month.
So the term cloud computing is more of a buzzword used by marketing teams around the world and most of them clearly do not understand what a cloud is and how it should actually work.
Difference between a Cloud Server and VPS (Virtual Private Server)
Javier summarizes the difference precisely in his post on ServerFault:
"First, the big three kind of services:
definitions:
A very related offering is storage (Amazon S3, Rackspace 'cloud files', GoGrid cloud storage,etc), and recently databases (Google, amazon), queue managers (Amazon, Google). You could say these are just SaaS; but usually they aren't very useful by themselves, so they're commonly seen (and sold) as part of a platform, to be added to PaaS or IaaS."
What kind of email newsletter would you prefer to receive from CodeAsp.Net?18