Switching to Google Cloud from Shared Hosting

This is the story of how and why I moved from standard shared hosting to the google cloud platform.

TL;DR

I found I could run a small MEAN + Apache/PHP Server on Google Compute Engine for about $5/month. It’s enough to power my personal website and various experiments and projects. On top of that, I moved my domains over to google’s domain registration to have custom domain email addresses forward through to my primary gmail account.

All-in-all I’m paying about 1/2 of what I was for shared hosting, have learned much more about server setup and maintenance, and have access to more types of projects and technologies I can host on my server.

Why Move?

As a web developer, I’ve been feeling the increasing industry pressures of needing to better understand and have more access to general server architecture and things like node.js. You can get by for a long time working on these things in a local space, but I finally hit a point where I wanted a live environment to take my experiments and projects to full deployment.

Unfortunately most shared hosting plans lock you down to a fairly fixed environment with little control at the server level; usually just a LAMP stack. For folks who have simple needs, a site, maybe a wordpress blog, it’s great, but usually a web dev hits a point where they just need more.

I’ve hosted my site at icdsoft.com for over 10 years and I can’t stress enough how great of a host they have been. I’ve never experienced downtime (seriously, not once!), the price is right (~$8/month), and their support is incredible! So it was with a lot of apprehension and care that I made the decision to move on.

Searching for a solution

I knew I wanted complete server access without actually building my own server. I looked at various solutions.

VPS

Usually folks who want to get more serious with a host, move from shared hosting to a VPS (Virtual Private Server) which really is what I wanted, but not at the price I needed. VPS is pricier than shared hosting, and rightly so I suppose; it’s more digital real estate you’re paying for. That price hike is usually justified because you need more traffic, more cpu/memory and more guaranteed stability. I didn’t really care about this. I just wanted to host my personal website and various projects that don’t need to handle large amounts of traffic.

Cloud Computing Services

Next I turned my eye toward the cloud hosting services that are out there. There are a lot of them, just as there are many traditional hosting service providers, but most of these services act as a middle man between your needs and Amazon Web Services. AWS on it’s own has a bit of a learning curve, and I found it frustrating figuring out which of their many services were the ones I needed in order to accomplish my goals. Two hosts that stood out for me were bitnami and digital ocean. Just the opposite of AWS, these hosts make it dead simple to put together the exact environment you’re looking for. I was very close to pulling the trigger on digital ocean as their $5/month plan seemed right, but I was hesitant to make a full immediate leap. I really wanted something I could try before I went all in.

Choosing Google Cloud

I chose google cloud for a couple of reasons. At first, I found it nearly as confusing as AWS to figure out which services I needed. They offer a lot of options, and their price calculator isn’t as friendly as I would like. The first time I used it, it seemed like it would be a lot more expensive than I wanted, but I also wasn’t clear on what I needed. Then I came across the cloud launcher, and this was a major factor that sold me. Google Cloud Launcher makes it easy to set up the base environment you’re looking for.

I knew a MEAN stack would be a good starting place, and a quick search yielded a great setup. The configuration page listed out exactly the services I would need to run the stack and the estimated costs! Perfect!

On top of the launcher, which makes it dead simple to get started, the 2nd selling point was the 60 day trial with $300.00 in computing credit. This was exactly the commitment-free deal I was looking for. I could play around and figure out if this was the right place without worrying about the running costs.

An Abbreviated Setup

Setup was very quick. Once you find the Cloud Launcher setup you want, click Deploy to Compute Engine (the Google Cloud service that runs your server). Pick your configuration:

Click deploy, and you’ll be up and running in a few minutes. Your server will be assigned, launched and all of the base software will be installed onto it.

I googled my way through pointing my domain at the server, and adding some apache configurations to deal with subdomains, but all-in-all it was a fairly painless learning experience. The google cloud console makes it easy to monitor your server, jump right into it with SSH and even add on new services.

Conclusion

Today I’m 30 days into my trial, with about $5 spent. I’ve decided that this platform is right for me and have begun transferring my domains over to google domains. This will allow me to keep my domain-based email addresses active and forwarded to my main gmail account without having to run a 3rd party or SMTP server on my cloud machine. It’s also a little cheaper at $12/year/.com.