In a previous post, I discussed the option of cloud-based infrastructure as an alternative to physical servers. The retailers that provide such a service state that establishing cloud infrastructure is convenient (and thus tempting). Part of the reason why is that establishing cloud infrastructure can make your maintenance issues someone else’s responsibility. BUT, if the costs associated with the cloud — as compared to the onsite server deployment — outweigh the benefits, it simply isn’t viable.
So what’s the truth?
How Easy is Establishing Cloud Infrastructure?
For my own education — since I am not a trained System Administrator — and, hey, for blog post material, I decided to determine just how easy establishing cloud infrastructure is. I also wanted to know how expensive it was. To start, I contacted a trusted System Administrator to determine if he had done previous research on the subject. To my luck, he had and provided me a comparison summary of three providers:
First, Picking a Cloud Infrastructure Provider
After spending one hour with him, I quickly learned that establishing cloud infrastructure is not simple. To start, comparing providers is not easy. Not only is it difficult for an “Apples-to-Apples” comparison, it is also difficult to calculate the bottom-line cost. There is no fixed, cost-per-month plan.
Similar to my Pokemon Go post, for this post, I thought the best way to learn about establishing cloud infrastructure was simple: I had to do it myself. I had to create my own virtual machine in the cloud. What better way to determine just how convenient it is and learn the pricing structure?
Going with Google’s Free 60-Day Trial
I obviously did not want to spend any money in this “blog research.” So since I already had a google account, I decided to pursue a free Google virtual machine. The trial lasts for 60 days, contains a $300 credit, and doesn’t automatically charge when the trial is up. Why not?
- Sign Up: To start, I went to https://cloud.google.com/, and clicked the “Try It Free” button.
- Terms of Service: I was taken to an initial screen (Figure 1) where I can prevent marketing and must agree to the Terms of Service.
Terms of Service? Well, I actually read the terms which state that I am restricted to “only eight cores.” I also cannot engage in “mining cryptocurrency.” Huh? What does that mean? I had to look that up and found out that it is related to bitcoins. I believe I can compromise my bitcoin investment plan, so I agreed to that.
- About My Business: After clicking the “Agree and continue” button (Figure 1 again), I was taken to another screen for specific information about me and/or my business (Figure 2).
I have always wanted a business titled “BBG Services, LLC” which stands for Beer, Bait, and GIS Services. I entered the address information for BBG. What I didn’t really care for is that I had to enter my credit card information. There are messages that assure the reader that they won’t be charged, and that they are just making sure that I am not a robot. I reluctantly entered by credit card, and clicked the “Start my free trial” button.
- Account Creation: In about 30 seconds, my account was created. There was a welcome screen thanking me for signing up for the 60-day free trial. You’re welcome, Sundar.
- Linux Virtual Machine or SQL Instance? I was immediately drawn to pick from two options on the Google Dashboard: “Create a Linux virtual machine instance” or “Create a Cloud SQL instance” (Figure 3). For this to be a successful test, at the very least I want to be able to ping my vm from a remote machine.
- Linux Virtual Machine Tutorial: I clicked on the “Create a Linux virtual machine…” and was prompted to continue with a 15-minute tutorial.
- Memory: The very good interactive tutorial walks the user through the creation of an instance. I choose 1 core with 3.75 GB of memory (I could have chosen a larger one, but why be a glutton). In 15 minutes, the process was completed.
Establishing Cloud Infrastructure: Next Steps
This remote virtual machine education sat for a few days (I got too busy with my day job). Since I had a few minutes, I decided to pick it up again. After logging back in, there was a recommendation to save $17 a month because I was underutilizing my VM. Impressive! Yes … I am using their free trial, but let’s see how hard this is.
- Resizing: After clicking on the “Save $17” link, an interface appears to resize my instance (Figure 5).
- Reducing Memory: I clicked “Apply” to accept their recommendation. After less than a minute, my VM was ready to roll and reduced to 1.7 GB memory. Going to take that $17 and order a pizza.
Ok, so in my opinion, establishing cloud infrastructure has so far been fairly straight forward. I would think it would be equally easy to increase the size/speed of the virtual machine (if necessary). The user only requests/pay for what they need, and may expand as their requirements grow. Very convenient!
This main reason for my logging back in was to test my virtual machine. To do this, I needed to ping the machine from a remote machine. In the GUI, it shows the external IP address is 22.214.171.124. After going to a command prompt, and typing ping 126.96.36.199, we see that we are getting a reply.
Isn’t that exciting?! In short order, we have stood up a remote machine! How easy is this, establishing cloud infrastructure?!
Well, before people send hate mail, I am aware that there are several other things to consider (i.e., software, security, etc). This was just a proof of concept that the virtual machine could be stood up with minimal effort. BUT!!!! There’s a second part of the “establishing cloud infrastructure” equation. And that is, how much does this really cost?
How Much Does Establishing Cloud Infrastructure and Using It Cost?
As stated previously, I had a one-hour meeting with a System Administrator on establishing cloud infrastructure. To help me understand cost, my friend went into greater detail on the three major providers above. To summarize, the bigger and faster the virtual machine is – the more expensive it is.
The thing that scares me the most related to the cost of establishing cloud infrastructure is simply that there is no bottom-line cost. Meaning there are often “hidden” fees associated with usage. These hidden fees remind me of the early days of the internet (pre-2006) when AOL users had to pay for the quantity of emails they used. For municipalities on tight budgets who are considering establishing cloud infrastructure, these hidden fees could prove challenging.
The major factors impacting cost are as follows:
- Horsepower (Fixed Cost) – The larger the quantity of CPUs and the amount of memory (GB) there is, the more it costs. Of course, the more horsepower there is the faster the machine is. You pay for what you get.
- Storage (Fixed Cost) – Size (GB or TB) matters.
- Compute (Fixed Cost) – As long as the machine is turned on and operating, the user is being charged. This cost is exactly the same whether it is being used heavily or just collecting dust.
- Throughput (Variable Cost) – This is basically a usage fee for the amount of uploaded or downloaded data (GB).
Fixed costs are usually quantified on a per hour basis. These itemized amounts can be accurately budgeted based upon the estimated time the machine is predicted to be turned on.
Variable costs (i.e., throughput) are calculated based upon the amount of usage or data going through the “pipe.” Yeah … tough to budget! Administrators must be careful with estimating these variable fees.
Right. So … How Much Does Establishing Cloud Infrastructure Actually Cost, Then?
There are numerous options (including licensing fees) that make establishing cloud infrastructure about as easy as ordering a Big Mac and fries. As illustrated above, staying within budget is doable because it is so easy to expand and add horsepower or storage as needed. To get started, you must determine only your immediate machine requirements. Google also has a pricing calculator where the variables (once determined) may be entered to determine the estimated cost of establishing cloud infrastructure.
If your organization is weighing the cost of establishing cloud infrastructure versus setting up local, onsite infrastructure, you can use these variables and tools to more easily compare prices.
Conclusion: Establishing Cloud Infrastructure
To conclude, I would like to state that overall, my very short experience with Google was positive. This also includes determining how much of the $300 credit used to date (Figure 7). My suggestion is to conduct a similar trial to “kick the tires,” and determine if cloud computing works for your organization.
In a future Part 2 (when I feel like writing it), we will conduct an “Apples to Apples” cost comparison between services. We will also help determine if it is worth the extra costs when comparing onsite infrastructure. AND IT MAY NOT BE.