Making a choice between cloud hosting, dedicated servers, and VMs really comes down to understanding each solution and how your business model can leverage the strengths of each. Most businesses profit the most from implementing all three to different degrees, but knowing when and where to apply these solutions is critical as you scale out.
A local virtual machine is an emulated guest computer running on top of your host computer. The virtual machine has access to many of the functions of a physical computer. While most cloud hosting solutions leverage VMs to their customers, we're talking about VMs that run on your local laptop or desktop through VirtualBox.
VirtualBox also allows Windows or Linux instances to run on top of Mac OS X and vice versa. This is a great solution for testing cross platform. These instances are normally not used for serving resources to your customers because they run on local machines within a closed network. There are limitations on how external devices leverage these instances and getting around these requires some tooling.
This is the network of physical devices that are built in-house by networking and infrastructure teams. Think air conditioned rooms with stacks of servers, all wired together to operate as the company's data center. This solution requires you to purchase and maintain the actual hardware, executing failover strategies when hardware outages occur. With dedicated servers, the company also has to be in charge of upgrading the machines and manually allocating computer power as needed. Finally, assets and processing power are centralized to wherever the machines are housed and increasing serving efficiency require more data servers in distributed locations.
With this solution, you're paying for computing power and infrastructure as a service. There's no need to set up or maintain any physical hardware. Instead, you configure and assign resources through a control panel. The cloud hosting provider dynamically allocates resources to your customers based on region (geolocation) and other factors. You're still responsible for implementing failover strategies when servers hit capacity or CPU utilization maxes out, but the hosting provider is responsible for keeping the servers up and running.
It's also relatively easy to increase or decrease the amount of resources available to you. This is especially important since cloud solutions often come with a pricing model that's based on the amount of data transferred and computing power utilized. You have to be very strategic in order to allocate the right amount of resources so that you never have too many or too few. This is contrary to dedicated servers, wherein most of the costs are incurred up front.
Now that we have a better understanding of our options, we need to understand which options our business models can benefit the most from. The first question is "Who is the business?" The second question is "What is the business model?"
If the business is an aspiring sysadmin educating him or herself about servers, a local virtual machine is more than enough.
If the business is required to serve only internal employees, dedicated servers might be the best option. We need to remember that cloud computing charges you based on the amount of resources you utilize. So if your team is only in need of computing power over a network for file sharing or backups, pay the up front cost of setting up the servers one time and build them in-house, rather than get charged by a cloud host for every KB of data you transfer. Cloud solutions are best for when it's easy to correlate the return in relation to the cost of resource usage. Let's paint one of those scenarios, next.
Let's say you have a business model where you're charging customers for video streaming services. If your advertising revenue is based on how much of the video your customers have viewed, you have a direct correlation between return (advertising revenue) and resource usage (video data transferred). As long as the return is higher than the cost, cloud-based serving services make the most sense. Cloud solutions also have the added benefit of a larger infrastructure than most companies can afford to build from the ground up, which results in faster, more reliable service for your customers, reduced downtime, and more opportunity to consistently generate revenue.
Take advantage of the fact that you can leverage dedicated servers for your internal needs, cloud hosting for your external needs, and virtual machines for testing and training. The right strategy employed at the right time will net significant returns for you and your business.
- The Official Ubuntu Book
- Cloud Computing: Concepts, Technology & Architecture (The Prentice Hall Service Technology Series from Thomas Erl)
- Windows Server 2016 Essentials Installation Guide for Small Businesses
- MCSA 70-740 Cert Guide: Installation, Storage, and Compute with Windows Server 2016 (Certification Guide)