Google Cloud
Published: 2020-03-09 04:55:27

If you're new to deployment and are thinking of using Google Cloud, I have one word of advice: Don't.

Don't get me wrong, there's a lot to like about their systems. If you're deploying a simple app or a webpage the process is fairly painless, but as I found after three days of frustration, furious Google searches, and page after page of lengthy documentation it's not always as easy as those friendly videos would lead you to believe.

##The Good##

Before I regal you with my tales of Google-based woe, first lets talk about what it does right.

If you're making a new account, Google gives you a rather generous free trial to test out their services- 300$ dollars worth to be exact. If you're deploying something that doesn't use a database those dollars will stretch a long way, standing in stark contrast to a certain other cloud-computing service that is quick to bill you.

You have the option of either using the SDK which let you run the various commands you might need directly from your local machine's terminal or failing that there's always a handy web-based terminal waiting for you in the top right of your dashboard. 

There's a few cloud computing options for whatever needs you might have, though the one I used was App Engine: 
-App Engine is a scalable option that automatically creates new instances as your traffic increases. It also takes much of the legwork away from you, all you need to do is add an .yaml file with some basic configuration then either push your repo from Github or, if you have the handy SDK installed, use 'gcloud app deploy' from your app's directory and a few minutes later- you're live, baby!

##The Bad##

First, let's talk about documentation. It all sucks, it's just a fact of life that you're future as a software engineer would be filled with two brands of crappy documentation: horribly vague lists of functions and keywords with maybe a 'hello world' quick-start guide OR massive tombs of information that would put encyclopedias to shame and leave your head spinning.

Google's doc's come in the latter form. Page after page with links that lead to more and more pages, until your is so full of tabs you can barely find the x's to close them. It's a rabbit hole you'll find yourself diving into the second you have a problem and the sheer amount of information at hand means finding the solution you need is like finding a needle in a exponentially large haystack.

My three day long dive into their documentation was over what seemed to be a simple problem, connecting the CloudSQL database to the NodeJS backend on my app. The guide they provided was simple enough to follow...the problem is, it didn't work. It was only by the grace of one of my colleges who'd face my problem before did I finally find the answer I needed: an obscure beta setting I pasted into my .yaml file that suddenly made the entire thing work- and the only reason she had found that was due to her having twice the time I had to dig through the wizardly tome of information on the web.

##The ~~Ugly~~ Conclusion

Despite my protests to the contrary, Google Cloud isn't the worst thing in the world. When it works, it works well, but when it doesn't it can be a nightmare. Though, in my brief experience with deployment: it's always going to suck. Just be prepared for the pain, have a bottle of aspirin ready, and solider on through.