The range of hosting options available to today’s businesses is bewildering — not to mention the ever multiplying terminology conjured up by marketing departments. In this article, I’m going to dispense with the hype and offer a clear explanation of two of the most popular types of infrastructure hosting: Cloud Hosting or Dedicated Server.
Why does it matter that you understand the difference between cloud hosting and dedicated servers? Each provides specific benefits. It’s important that businesses match the needs of their applications and services to the strengths of their hosting platform.
In reality, both cloud hosting and dedicated servers can support any application or service, but each is best suited to particular scenarios. Choosing the right platform can help a business reduce costs, increase flexibility, and make the most of its infrastructure.
Amazing Workz has been matching businesses with their ideal infrastructure for almost two decades. We offer a comprehensive range of hosting options, including dedicated servers; public, private, and hybrid cloud platforms; colocation; and management and consulting services. If you need help choosing the best hosting infrastructure for your business, don’t hesitate to get in touch with our infrastructure experts.
Cloud Hosting vs Dedicated Servers
Let’s start by discussing qualities that dedicated servers and cloud hosting have in common.
Both offer a complete server environment. In fact, from the perspective of a server admin, dedicated servers and cloud servers are more-or-less equivalent. They are managed using the same tools, run the same software, and anyone familiar with managing one will be at home with the other.
We provide cloud servers and dedicated servers with both Microsoft Windows Server and a variety of Linux distributions. You’re free to choose the operating system and software ecosystem that integrates best with your company’s existing systems and knowledge.
Cloud hosting is a virtualized server hosting platform. Each cloud server is a virtual machine that runs on a powerful enterprise-grade bare metal server. The bare metal server — essentially a dedicated server — supports a number of cloud servers.
A public cloud platform comprises many physical servers housed in a secure data center, each of which hosts a number of virtual servers.
What are the benefits of a cloud server platform? Because each virtual server is a software construct, we can control it like any other software. A virtual server can be created in seconds. It can be given more resources as required. It can be destroyed immediately when no longer needed.
Cloud hosting is the ultimate on-demand, self-service infrastructure platform. For some companies, the sheer flexibility of the cloud can be overwhelming, which is why we built a managed cloud that includes basic management with updates for supported software, on-demand security assessments, and an hour of system administration each month. For comprehensive cloud management, we provide fully managed cloud servers with unlimited access to our system administrators and on-demand security and sysadmin services.
The unbeatable flexibility of cloud servers changes the way businesses think about hosting infrastructure. Cloud hosting provides an inexhaustible, on-demand supply of infrastructure. If a developer needs a test server to try out an idea, they log into their cloud control panel and in a few seconds, their server is ready. If demand for a business’s application spikes, deploying more servers is a snap.
In short, cloud hosting is responsive to the needs of your business.
Dedicated Server Hosting
Each dedicated server is an enterprise-grade bare metal machine. Unlike cloud hosting, all the resources of a dedicated server are available to the client.
A dedicated server can be configured to the exact specifications of the client, who can choose the processor, RAM, and storage that best fits their needs. They range from moderately powerful machines to the most powerful machines on the market with multiple processors and huge amounts of memory.
Dedicated servers are the most powerful single-server hosting option. The only hosting option more powerful than a dedicated server is a cluster of dedicated servers.
Steadfast provides managed dedicated server hosting. The servers are built by our hardware experts, who choose the most reliable cutting-edge components available.
When should you choose a dedicated server? The simple answer is that dedicated servers are the best choice for optimal compute and IO performance and long-term reliability.
Typical uses of a dedicated server include as database servers, for hosting many websites or a single high-traffic website or eCommerce store, to provide the backend for a mobile or web application, and to host virtual servers.
A private cloud combines some of the benefits of cloud platforms and dedicated servers. Just like the cloud hosting we’ve already discussed, a private cloud platform provides a flexible virtual server platform. But unlike public cloud platforms, the underlying physical hardware of a private cloud is at the disposal of one organization.
Private cloud is the ideal hosting solution for companies that prefer not to use a multi-tenant hosting environment, but don’t want to give up the benefits of virtual infrastructure.
Throughout this article, I’ve compared dedicated servers and cloud hosting, but many companies don’t choose one or the other: they choose the optimal mix of infrastructure, which might include dedicated servers and public or private cloud servers.
A hybrid cloud integrates a comprehensive range of hosting modalities into a cohesive whole, including dedicated servers, colocated servers, and cloud servers.
A popular configuration is to use high-availability dedicated servers as database and back-end application servers, and cloud servers to host the front-end component of a SaaS application.
Amazing Workz’s experts can help your company build, design, and integrate a hybrid cloud with the perfect mix of infrastructure for your applications and services.
When to use cloud hosting vs. dedicated servers
The cloud, it’s a term thrown around in casual conversation these days. Microsoft’s ad campaign directed “To the cloud!”, Apple crams iCloud down your throat at every opportunity, billboards on my commute say nothing more than “Cloud Computing” on them. Most people don’t even know what it is or what it means, and frankly they don’t care, it just sounds cool. To the layman, the cloud is synonymous with the internet itself, and if they’re talking about SaaS products, they’re basically right. To developers dealing with cloud computing it’s more complicated however.
To be clear, I’m talking about public cloud computing in terms of infrastructure. In particular the big players in the space:
- Amazon – AWS
- Microsoft – Azure
- Google – Cloud Platform
- RackSpace – OpenStack
For years I’ve explored cloud computing, and in those years I’ve yet to find a project that made me say “Yes, this belongs in the cloud”. Obviously you could blame my projects, they don’t have enough users, they aren’t critical enough, whatever. Or you could blame the fact that I’m very comfortable with administering dedicated servers and a little less so with cloud instances. But I’m not exactly sure at what point the cloud is the way to go, especially in the beginning.
When you’re starting out a new SaaS project you generally have some minimal requirements. You’ll need a web server and probably a database server. When you’re just getting your application off the ground it will have a low amount of users that you hope to grow over time. The number of users will determine the load on your server and the server specs will determine how many users are too many. So where do you start? With a dedicated server or straight to a cloud server?
For startups I believe there are two broad approaches to building an application and the infrastructure to run it on:
A) – pessimistic – Build it quickly, get it out there, and validate the business before spending the time to engineer it for scaling.
B) – optimistic – Build it carefully, code for scalability, and launch it with the assumption that it must scale quickly.
With method A, your primary goal is to get the thing off the ground and hope that scaling becomes a concern. If you start to exhaust the resources on your initial server, you’re probably gaining traction in the market. You can buy yourself some time by scaling vertically (adding more RAM, CPU power etc.) while you work on re-engineering your code for horizontal scaling.
With method B, you’re sold on the viability of this product and you know it’s going to be a hit. You believe that any hiccups in service would be more damaging than coming to market later. Therefore, you’re going to spend the time to code the software for scalability up front and configure your infrastructure for growth.
Both methods have their pros and cons. I personally go with method A 9 out of 10 times since I know all too well the unlikelihood of having an app reach millions of users. Regardless, if you want to scale out horizontally, your software must eventually be written in a way that allows that to happen. With both methods you have a choice to make on your initial server setup. Both will run just fine on a single instance cloud platform or a single dedicated server (yes, I’m aware there are options other than these two). A decent dedicated server can take you well beyond an initial launch for most companies but a small cloud instance may be cheaper in the short term.
Here are some Pros and Cons to each to help with the decision:
- No hardware to buy/maintain
- Unlimited instance scaling
- Unlimited disk scaling
- Dynamic/Elastic scaling
- Pay for what you use
- Resilient and Redundant
- Bandwidth limited and expensive
- Disk space expensive
- SQL storage expensive
- Lower performance in many cases
- Lack of control
Dedicated Server Pros
- Full control
- Abundant disk space (to start)
- Inexpensive disk space
- Bandwidth is cheap
- SQL storage is cheap
- High performance
- Room to grow
Dedicated Server Cons
- Rigid specs
- Always paying for maximum power
- Limited physical disk space
- Physical scaling limit (vertically)
- Hardware failures
- Configuration and Management
The cost of going the cloud route is difficult to figure out. Each platform has different pricing terms and different factors that weigh into the cost. Most of them have a free tier now as well that would be enough to host a website but not a lot more.
A dedicated server in a data center somewhere is easier, the cost per month for a decent box (Quad core Xenon, 4GB RAM, 500GB disk, Linux OS) will be around $160/month at SoftLayer. In comparison, a far weaker small cloud instance with Microsoft Azure (1.6Ghz CPU, 1.75GB RAM, 100GB storage) would be around $70/month or less than half that of the dedicated. The important distinction is that you may not need all of the power that the dedicated option provides and could be saving $90/month until your application grows its user base.
To scale out a dedicated server horizontally, you’ll need to add a minimum of 1 additional server, usually a dedicated database server. To go beyond that you’ll need to add more web servers and throw a load balancer into the mix. You also need a way to manage the configuration, application, and data on each of the physical servers. This all takes time and it gets complicated quickly.
To scale out a cloud computing instance, you spin up additional machine instances and provision them with your application. This takes basically no time. You still create dedicated SQL server instances and you still create multiple web app instances but the cloud platform gives you the tools to manage your data across all of them easily. They also provide load balancing or traffic management services to spread requests across healthy instances.
Like I said earlier, in either case your software needs to be written so that it can be scaled horizontally. If it’s not, the cloud can’t help you. Where the cloud can help you in all phases however is in its resiliency and redundancy. There is no single point of hardware failure in cloud computing. The odds are in your favor that there will not be a catastrophic data loss in your storage, though it has happened. That risk is much higher on a single dedicated server.
With a dedicated server, you have the option to move into the cloud once it’s time to scale out, you haven’t backed yourself into a corner. Writing complex software that can scale is very challenging and time consuming and that is the main deciding factor that keeps me launching products on dedicated machines. They give you plenty of room to grow into, plus the freedom to do anything you please with the software and hardware while you’re sorting out your product. If you need to scale, great, the server should hold you over while you make the transition to the cloud.