What exactly is the difference between a VPS (Virtual Private Server), a Cloud Server, and a Dedicated Server? I'm having trouble finding a concise explanation that isn't littered with advertising.
locked by user9517 Oct 22 '12 at 8:55
This question exists because it has historical significance, but it is not considered a good, on-topic question for this site so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. See the help center for guidance on writing a good question.
Read more about locked posts here.
VPS and Cloud are the same damn thing.
A dedicated server is a physical box sitting in a rack somewhere that is not shared with anyone else, that you can do whatever you want with.
A dedicated server is a full server to which you have exclusive, guaranteed access.
A VPS provides you with similar levels of administrative control as a dedicated server, but is powered by one of a number of technologies, either full virtualization (Xen, VMWare) or single-image segmentation (OpenVZ) to give you the illusion of exclusive access to what is really a shared resource (and almost always oversubscribed in many ways)
Traditionally, dedicated servers and VPSes are billed on a fixed cost for a time span. Dedicated servers in particular require investment on the part of the provider, and may be leased on a contract with a minimum duration.
A Cloud server is technically just a VPS, but it has some differences in billing and provisioning:
- Cloud services are usually billed on a metered consumption basis. While a VPS may have a variable cost for data transfer over some threshold, an idle VPS would have a flat cost. A Cloud server would typically have a base cost per hour running -- and may also have charges for data transfer just like a VPS.
- Cloud servers employ more automated ordering and deployment, including the ability to provision additional servers nearly identical your current ones quickly, possibly programatically using an API. This lets your application add capacity to itself -- this is not magic, and may require significant architectural changes to your environment.
Other services may be marketed as 'cloud': what was 'hosted email' before is now Cloud Email (Service-as-a-Service); some shared webhosting providers are relabeling their services similarly.
Good use cases for cloud servers are short-duration peak loads: services with hourly billing allow you more flexibility to create and destroy systems as needed. Constant load setups, which will always be running, may not be economical to run in a Cloud environment; applications that have constant sustained high load are unfriendly to a provider's over-subscription model, and may be better suited for a dedicated server.
A VPS is usually refering to a virtual machine that only your apps run on. A dedicated server is usually physical server dedicated to you. a Cloud server is a way for the marketing idiots to get the world cloud out there as a VPS. All of these are forms of IAAS - infrastructure as a service. In doing a tiny bit a research and found one provider marketing PAAS as a cloud server (gogrid) PAAS is platform as a service. Typical PAAS offerings are Microsoft Azure, Amazon beanstalk, and google appengine.
No Cloud and VPS are not exactly same thing, anyone who wants to downvote, please read below first...
- VPS is just virtual server where we can adjust hardware resources that actually cost money
- VPS is just a virtual replacement of dedicated server, but you are left to mange it by yourself, it only provides backup of Virtual Hard disk, but how you manage/store your hard disk is totally up to you.
- VPS does not offer replication, and multi machine storage services
On other hand,
- Cloud consists of Storage Service, Resource Service, Database Service that is all managed by Cloud Framework which includes automatic backup and provides API to manage infrastructure of hosting
- Consider Amazon, Google and Azure for a minute, they dont offer VPS, they offer an API which will help you in building large scalable applications.
- API consists of Storage Service, its not a Hard Disk, but its a virtual store, where you store your data as files, but you dont worry about how it is stored, fragmentation or where it is stored physically. Cloud gives you access to huge list of servers which is hidden behind the API to manage scalability. Both Amazon, Azure and Rackspace manage 3 copies of same files on multiple datacenters, of whatever you put in the store, so you do not need to worry about data because if one machine loose it, Cloud Provider will make it available through other machine.
- API consists of CDN (Content Delivery Network) for high speed transfer based on location of IP, Cloud Provider automatically caches your files to different servers and give you a transparent URL which is switched to nearest server automatically.
- API consists of Application Server, offering you easy to deploy and manage your application. Your application becomes independent of physical/network location and you can easily migrate and multiply physical resources needed without having to do any installation etc.
- API consists of Replicated Database, Azure offers SQL Azure, which is automatically replicated to 3 different machines within their datacenter, so there is no way you will loose anything in your SQL database.
For the purposes of this discussion, a VPS and "Cloud Server" are the exact same thing - you don't get exclusive access to hardware but rather, the host hardware gets shared between two or more virtual servers.
A dedicated server is just that - your OS instance gets 100% exclusive access to the underlying hardware.
VPS is generally a marketing term used by Internet hosting service providers. A VPS is a virtual machine that is exclusively used by an individual customer while a dynamic VPS (that is, it can be changed at runtime) is often referred as a cloud server. Dedicated servers are most often housed in data centers and are entirely leased by the client. Client have full control over dedicated servers including choice of operating system, hardware etc.
I would summarize it like this:
- Dedicated server is physical server that is 100% "yours".
- VPS is a virtual server running on top of some hypervisor, usually several VPS share a single physical server;
- Cloud is a framework for managing virtual servers (I would qualify VPS as one type of virtual servers). It provides provisioning of new servers, allocation of CPU resources, allocation of storage, and much more depending on who provides the service. It is usually combined with flexible automatic billing when you only pay for resources that you use. The term is evolving but this is what I make of it to date.
- "Cloud" is also a new hype word that used by "marketing monkeys" to (a) full investors in an attempt to blow up value of the company, (b) cater to large businesses where buying decisions made by top level executives who has no clue what they are doing but read in Wall Street Journal that cloud is cool and everyone does it, (c) used by everyone else to full customers into buying their product.
BTW, the last hype word as far as I remember was "Organic", and there were plenty of idiots who used it indiscriminately for same foolish reasons. You may remember organic computers, organic monitors, organic water, organic gasoline... I wonder if it was FDA approved :-)
From my understanding, the difference is simple:
A dedicated server is a box sitting in a rackspace in a data center. So if it fails then your website or web application running in it fails, unless you have some kind of backup or distributed server handling facility available which is tedious and expensive to maintain.
On the other hand a Cloud is like a VPS (Virtual server) which is spread across multiple data centers spread across multiple physical locations like states, countries or even continents, so if one data center fails then it will be instantly switched to another data center, this also happens if the resources required to handle a sudden increase in traffic or the available storage in one data center are running out. All these tasks are handled automatically by the cloud, so you dont have to dedicate any resources for maintaining the infrastructure yourself which results in significant cost savings. So the end user can smoothly access your website or web application any time any day under any load if it is hosted in a cloud.
So to summarize a cloud offers virtualisation of OS, dynamic resource allocation, redundant backups, zero tolerance fail over switching to make a web application / Web site run continuously without fail under any circumstances.
Brilliant Idea isn't it. That's why it has been touted as the next big thing in the web application development world and also next computing gold rush.