No worries, it’s a lot simpler than it seems. Each cloud provider is oriented toward a different type of customer and usage.
We grouped cloud providers by type. We’ll explain what is the purpose of each type? How do they differ? Which one is the most appropriate per use case? and Which cloud provider is the best in its respective category?
- General purpose clouds (GCE, AWS, Azure)
- Cheap clouds (Digital Ocean, Linode)
- Dedicated clouds – bare metal (SoftLayer, OVH)
- Housing & collocation – not a cloud
General Purpose Clouds
Quick test: A general purpose cloud is the best fit if you answer yes to any of the following questions.
- Do you run more than 50 virtual machines?
- Do you spend more than 1000 dollars/month on hosting?
- Does your infrastructure span multiple datacenters?
When to use: A general purpose cloud is meant to run anything and everything. It can replace a full rack of servers, as much as it can replace an ENTIRE datacenter. It provides the usual infrastructure plus some advanced bits that would be very hard to come by otherwise.
It is the go-to solution for running many heterogeneous applications requiring a variety of hardware. It’s versatility makes it ideal to run an entire operation in the cloud. It’s a perfect fit for an entire tech company, or a [big] tech project.
General purpose clouds make complex infrastructure available at the tip of your fingers:
- Get servers of various sizes and types of hardware
- Design your own networking and firewalls (same as in a real datacenter)
- Group and isolate instances from each other and from the internet
- Easily go multi-sites, worldwide
- Order, change or redesign ANYTHING in 60 seconds (while staying put on your chair)
A general purpose cloud is a full ecosystem. It includes equivalents to all the services typically found (and required) in datacenters/enterprise environments:
- SAN disks (EBS, Google Disks)
- Scalable Storage and backups (S3, Google Storage, Snapshots)
- Hardware load balancers (ELB, Google Load Balancer)
Which provider to use: GCE is vastly superior to its competitors. It’s cheaper and easier to manage. If you go cloud, go GCE.
Note: We have no experience with Microsoft Azure and cannot comment on it. The few feedbacks we heard so far were rather negative. It may need time to mature.
Quick test: A cheap cloud is the best fit if you answer yes to any of the following questions.
- Do you run less than 5 virtual machines?
- Do you spend less than 100 dollars/month on hosting?
- Are you in big triple if you receive a bill double of what you expected?
- Would you qualify yourself as either an amateur or a hobbyist?
When to use: A cheap cloud is meant to offer proper servers to the masses, “proper” meaning decent hardware and good internet connectivity, at an affordable price. It is simply not possible to get that from a home or an office (note: recycling an old laptop on a broadband line is not a comparable substitute for a proper server).
It is the go-to solution for all basics needs. For examples, professionals running a few simple services with low-to-moderate traffic, agencies in need of a simple hosting to deliver back to the client, amateurs and hobbyists doing experiments.
Generally speaking, it’s the best choice for anyone who is looking for [at most] a couple of servers, especially if the main criteria are “easy to manage” and “good bang for the bucks“.
Cheap clouds make servers affordable and easy to get:
- Get real servers (server-grade hardware, good internet connectivity)
- Simple, easy to use, easy to manage and convenient
- Predictable costs, well-defined capabilities, no bullshit
- Buy or sell a server in 60 seconds
Which provider to use: The next-generation cheap clouds are DigitalOcean
and Linode. Go for Digital Ocean.
blog update 2016-10: Linode suffered from significant downtimes in the past month, similar to the downtimes from last year. These outages are the result of major DDoS attacks targeted against Linode itself (i.e. not one of the customer running on it). We recommend Digital Ocean as a safer choice.
Challengers: There is a truckload of historical and minor players (OVH, GoDaddy, Hetzner, …). They have some similar offerings to the cheap cloud providers, but it’s hidden somewhere in the poor UI trying to accommodate and sell 10 unrelated products and services. They may or may not be worth digging a bit (probably not).
When to use: As a rule of thumb, the general purpose clouds are limited to 16 physical cores and 128 GB memory and 8 TB SAN drives, with the price increasing linearly along the specifications (double the memory = double the price). The dedicated clouds can provide much bigger servers and the high-end specs are significantly cheaper.
This is the go-to solution for special tasks running 24/7 that require exotic hardware, especially vertical scaling. Dedicated clouds are only fitted for special purposes.
Special case: We’ve seen people rent a single big dedicated server with vSphere and run numerous virtual machines on it. It allows to do plenty of experimentations at a fixed and fairly reasonable costs.
- Choose the hardware, tailored to the intended workload
- Ultimate performance (bare-metal, no virtualization)
- Quad CPU, 96 total cores is an option
- 1 TB memory, f*** yeah!
- 24 HDD or SSD drives in a single box
Which provider to use: IBM SoftLayer is the only one to offer the next generation of dedicated cloud. Getting servers works the same way as buying servers from the Dell website (select a server enclosure and pick the components) except it’s rented and the price is per month. (Common configurations are available immediately, specialized hardware may need ordering and take a few days).
SoftLayer takes care of the hardware transparently: shipment, delivery, installation, parts, repair, maintenance. It’s like having our own racks and servers… without the hassle of having them.
Challengers: There are a few historical big players (OVH, Hetzner, …). They are running on an antiquated model, providing only a predefined set of boxes with limited choice. They can compare positively to SoftLayer (read: cheaper and not harder to manage/use) when running a few servers with nothing too exotic.
Housing & Collocation
When to use: Never. It’s always a bad decision.
There are 3 kinds of people who do housing on purpose:
- People who genuinely think it’s cheaper (it is NOT when accounting for time)
- People who genuinely got their maths wrong (hence thinking it was cheaper =D)
- Students, amateurs, hobbyists, single server usage and not-for-profit
Let’s ignore the hobbyist. He got a decent server sitting in the garage. He might as well put it into a datacenter with 24h electricity and good internet to tinker around. That’s how he’ll learn. This is the only valid use case for housing.
What’s wrong with housing & collocation:
- Unproductive time to go back and forth to the datacenters, repeatedly
- Lost time and health moving tons of hardware (a 2U server is 20-40 kg)
- Be forced to deal with hardware suppliers (DELL/HP)
- Burn out, burst in rage and eventually attempt to strangle one colleague after having dealt with supplier bullshit for most of the afternoon (based on a real story)
- Waste 3 weeks between ordering something and receiving it
- Cry when something broke and there are no spare parts
- Cry some more because the parts are end-of-life and can’t be ordered anymore
- Suffer 100 times what initially expected because of the network and the storage (it’s the most expensive and the most difficult to get right in an infrastructure)
- Renew the hardware after 3-5 years, hit all the aforementioned issues in a row
- Be unable to have multiple sites, never go worldwide
These are major pain points to be encountered. Nonetheless it is easy to find cloud vs collocation comparisons not accounting for them and pretending to save $500k per month by buying your own hardware.
Abandoning hardware management has been an awesome life-changing experience. We are never going back to lifting tons of burden in miserable journeys to the mighty datacenter.
Make Your Own Datacenter
When to use: This was the go-to solution for hosting companies and the older internet giants.
The internet giants (Google, Amazon, Microsoft) started at a time when there was no provider available for their needs, let alone at a reasonable cost. They had to craft their own infrastructure to be able to sustain their activity.
Nowadays, they have opened their infrastructure and are offering it for sale to the world. Top-notch web-scale infrastructure has become an accessible commodity. A tech company doesn’t need its own datacenters anymore, no matter how big it grows.
Run an entire tech company in the cloud, or run only a single [big] project requiring more than 10 servers? Google Compute Engine
Run less than 10 servers, for as little cost as possible? Digital Ocean
The cloud is awesome. No matter what we want, where and when we want it. There is always a server ready for us at the click of a button (and the typewriting of our credit cards details).
The most surprising thing we encounter daily on these services is to notice how everything is so new. A recurrent “available since XXX” written in a corner of the page, stating it’s only been there for 1-3 years.
These writings are telling a story. The cloud have had enough time to mature and it is ready to be mainstream. Maintaining physical servers is an era from the past.