Approximately 50,000 new businesses open their doors every month. Of these, a bit more than half are likely to fail within their first four years of operation. The cause of this incredible failure rate is the culmination of different factors that all new companies must deal with. One stand-out example of these challenges is resource acquisition and utilization. To help aid young entrepreneurs to make the best decision possible, we have written this as a cost comparison between the two available options for new web application development: On-Premises and Cloud Solutions. Armed with proper knowledge of each option, we hope is that our readers will make the best choice for their particular application, without needing to learn the hard and expensive lessons for themselves.
First, let us consider what each option entails. An On-Premises solution is the defacto choice, as it was the only option available until recently. This requires that the company purchase the necessary hardware (such as servers and switches), store them in their own facilities, maintain them as needed, pay to power them, etc. The more modern alternative is to utilize cloud resources. Rather than buying and owning your own hardware, cloud service providers allow you to rent the hardware that they own, operate, and maintain. The cost you pay to utilize their resources covers everything in one fee and relieves you of the burdens that come with owning and operating anything yourself.
The next step would be to determine what the particular hardware needs of your project will be. The true answer to this will vary wildly from project to project, but since the price is directly related to the amount of power on the cloud, we can compare one on-premises server to the equivalent power of a cloud resource. By doing this, we can say with some certainty that scaling up by factors of two, three, or more will scale linearly with the price you will have to pay to scale up your resources. For this discussion, I have chosen the Lenovo ThinkServer TS150, a popular server of moderate power and high power to cost ratio (a.k.a. the most bang for your buck). This server provides a 4-core CPU at 3.3 GHz and 8 GB RAM included (upgradable to 64 GB for approximately $500). A good equivalent server instance found in Microsoft Azure is their D4 v3 cloud instance, which has a 4-core CPU at 2.4 GHz and 4.0 GHz turbo and 16 GB of RAM.
Finally, we can break things down into simple dollars and cents. First, we consider purchasing the Lenovo. Lenovo has the TS150 currently listed “on sale” at $1450, which equates to $30 per month over a 4-year expected lifespan. In addition to the cost of the hardware, we also have to account for power consumption, which we can be expect to be about $20 – $25 per month for a 250W server such as this. So, a low estimate for our expected monthly expense is $50 for hardware.
But wait, there’s more! In any real-life system, redundancy is key to make sure you have maximized up time to avoid customer, client, or employee dissatisfaction. To stay aboard the simple train, let’s assume you only have one extra server for either backup or distributed load purposes. This brings monthly Hardware expenses to $100 per month in this hypothetical situation. Unfortunately, with on-premises hardware solutions, the hardware expenses may not be your most costly concern. Keeping servers well-maintained and healthy is of paramount importance to keeping your business alive. For our simplified example, let’s just assume you have one IT Admin working an hour on each server per week to keep them up to date (consider this either one hour per week spent updating firmware or one day of necessary maintenance spent every two months). Across 2 servers, this equates to one day of work per month. Assuming they are paid approximately $30/hour (a low estimate for their position) this increases the cost considerably by $240 per month, giving us a total monthly expense of $340.
Now we will consider the same server power obtained through Microsoft Azure, a top-tier cloud provider. By using the Azure D4 v3 Instance, for 30 days of constant uptime, the price is quoted at $270.72 per month. This covers every expense we have already considered for the On-Premises Solution, and this server type is very nearly a direct match to the Lenovo TS150. Given the same parameters as before, we will need two of these servers for safe redundancy. This brings the total cloud cost to $541.44 per month. Thus, we have proven beyond the shadow of a doubt that on-premises solutions are optimal 100% of the time and the cloud is for suckers!
Just kidding. In reality, there is so much more nuance to even our simple case which shows that this is rarely going to be the case. In second installment of this blog series, we will take a look at a few factors that take this gap and mitigate it, erase it entirely, or even show the cloud as the clear economic choice.