I love learning new things and recently I’ve been learning Kubernetes. After trying it on localhost with Minikube I wanted something more production-like. As AWS doesn’t offer any Kubernetes-as-a-service yet, I’ve tried Azure Kubernetes Service but encountered some issues, so I thought why not check Google’s offer?
I’ve never used Google Cloud before and as I’m “AWS guy” I thought it’ll be interesting to write down some “first thoughts” on Google Cloud Platform. My main interest was Kubernetes service, but I also checked another basic services that seemed useful.
So… here we go:
- Easy and simple registration process. We don’t have any kind of additional verification like a phone call (like in AWS), just Google Account and we are ready to register.
- You will get 300 USD of credit for one year – just to be able to play with GCP :)
- Nice console, by default in my native language – Polish. I probably will switch soon to english, but it’s nice to have an ability to use it in native language eg. in case I have to give some access to a non-english person.
- 5 min tutorial that introduces you to basic usage of the console. It’s not necessary as the console is well designed, but agan – nice to have.
- Service names – GCP has easy to understand services names (for most of them). Eg. there is just Compute Engine not EC2. It’s quite obvious what you can expect.
- Dashboard with summary of a project – that reports the resources I have in project, billing info, health of GCP and many other things. And you can customize it, maybe not in the way that in Azure, but it’s available. There’s also an activity stream that shows last events from the project. Really nice to have everything in one place :)
- Google Cloud Shell – the tutorial introduces you to a cloud shell solution – one click and you can manage your GCP with CLI – in a browser. Similar solution to the one in Azure, but runs faster, has more settings to customize and also runs tmux by default, has tabs, full screen code editor and you can also unpin console to new window – really sweet :) I’m just not sure how it is billed, but I’ll figure it out later.
- Let’s check some service, like Cloud Storage – the console is still nice, unified (not like in AWS that every service has a little different experiace) and not so annoying with the blades scrolled horizontally like in Azure :P
- The service also has it’s own quick-tutorial, nice.
- Let’s create a bucket… Wow, it has build-in calculator! You can compare different storage classes, put your estimates on the usage and get estimate cost for each storage class :)
- There’s a transfer tool that could transfer all data from your AWS S3 bucket ;)
- For Kubernetes cluster you can create VM based on “Container-Optimised OS” or Ubuntu, it seems there are no custom-made VM templates.
- During creation you can use predefinied instance type or just use two sliders to specify how many vCPU and RAM you need. There’s no need to wonder and remember how much RAM and vCPU m4.large instance has :P
- Kubernetes cluster deployment is fast, much faster than in Azure and it actually works :P
- You can manage many parts (deployments, pods, services, load balancers) of Kubernetes straight from Google Cloud Console, so you don’t need to run Kubernetes Dashboard.
- Let’s check DNS services. While I was creating new DNS zone I noticed another nice thing – below most of the forms, you can find two links: if you click them you will be shown the REST API call and command line syntax that is equivalent of the form! So scripting the actions is much, much easier :)
- It seems that GCP doesn’t have any DNS health checks for records in a zone :(
- Billing: it’s hard to find how much my project costs per day, you can find how much each service costed last day, but not the sum. One more thing missing – there is no estimate when the credits will be burned – nothing similar to Azure’s burndown chart with estimated date of credit exhaustion.
- Bulling: it’s nice that you can have budgets with alerts.
- I haven’t found any service similar to Elastic File System in AWS yet :(
- More advanced features are hidden (or maybe they don’t exist :P), so I don’t feed overwhelmed by the console and you can focus on most important parts. Sometimes it feels to ascetic :P
- The tutorial I praised before keeps coming back after every login… not nice.
- Oh, I’ve found a way to get daily costs per project! You have to go to Reports in Billing console then change the chart to show Cost before credit. After that you can read the value for a specific day from the chart!
- Cloud Functions – the service is in beta, supports only Node.js at the moment, doesn’t have as many settings as AWS Lamba but… it’s quite easy to create function with HTTP endpoint, just put the code and after a while you’ll get a url to invoke the function. It’s as simple as that.
My first impressions on Google Cloud Platform are positive. It’s nice and fast. It doesn’t have as many services as AWS but you’re covered with basic building blocks of the cloud. Configuration is very easy and it’s nice that you can easily get REST/command line equivalents of what you are doing in the console.
I think you should definitely try it!