- Posted by Veselin Mijuskovic
- On April 23, 2020
- 0 Comments
- gcp, Google Cloud
In this day and age, choosing the right cloud service provider is not an easy task. There are a lot of offers and new services are spawning left and right so choosing the right cloud provider is slowly but surely turning into black art.
You can always choose to follow ye old 1970’s logic of ‘nobody got fired for choosing IBM’ and, of course, NOT choose IBM but Amazon Web Services. AWS is the oldest provider, has the most customers, the highest number of services, as well as availability zones and regions – so it seems like a safe choice.
But then again, it’s only logical to choose Microsoft Azure, especially if your business is heavily Windows-oriented, plus you’re getting Office365, Microsoft Teams, and other very useful and versatile stuff. And if Microsoft doesn’t know how to squeeze the last drop of performance out of Windows setup, then who knows? Plus, as Microsoft is becoming a top Linux kernel development shop…hm.
But what about Google and its Google Cloud Platform?
Arguably, Google in its entirety has the largest infrastructure – remember, they’re running Google Search, Gmail, and YouTube along with GCP on the same servers and in the same data centres. Google’s cloud infrastructure is even older the Amazon’s – it’s just that Jeff Bezos was first to note “hm, we could sell this to the general public” while looking at the Amazon Store infrastructure, whereas the people at Google were still thinking how to hoard as much data on every one of us (cough, Android, cough).
Google was that late kid at the game, but they didn’t come empty-handed. They’ve had aces in their sleeves (and they still do!) which could make them interesting for you, the user.
If you want to go truly global, then Google Cloud Platform should be your first pick (considering all other service providers equally). Yes, both AWS and Microsoft Azure offer regions and availability zones all over the world, but they implemented them as isolated islands interconnected mostly via external networks.
On the other hand, GCP has its own internal network that spans globally. This means that you don’t need an extra job to connect different regions since they are all on the same virtual network. You can even use just one external IP address that you associate to Cloud Load Balancer and you can have geo-IP proxying and seamless failover if any of your regions goes dark (provided you have your app set up in multiple regions, of course). You just need to select Premium tier and your app will be using the same network in the same way as Google Search, Gmail, or YouTube.
Yeah, there is Redshift from AWS or Synapse from Azure, but BigQuery is serverless and you don’t need to set up any cluster or anything upfront. Just load your petabyte-sized database and start lobbing queries. After all, who can be better at analyzing big datasets as the company that has more data on us and knows more about ourselves then we do?
Ah, containers. Little VM-like stuff (which is, in fact, nothing like a virtual machine) that can spin up in seconds instead of minutes like real VMs. The darling of all developers, independent consultants and salespeople worldwide. And you use K8S (Kubernetes) to manage your container infrastructure, whether you’re on your own iron, or somewhere in the cloud.
AWS has EKS (Elastic Kubernetes Service) and Azure has AKS (Azure Kubernetes Service).
AWS also has ECS (Elastic Container Service) for those users we mentioned in the second paragraph of this article, but you know what? Everybody wants Kubernetes. And who invented Kubernetes? Yep, that Behemoth of a company with that funny looking six-letter logo in pastel colours they change regularly on their main site.
Google invented Kubernetes because their own services needed it and then gave it away to the general public (a.k.a. open sourcing). So, if you need Kubernetes, you go to the source. And the source is Google.
AI and Machine Learning
Have I already mentioned that Google is the king of Big data? Well, these days Big data always comes with AI/Machine Learning. And everybody + their dog now offers a myriad of tools for digging in and making sense of petabytes and petabytes of data.
But in ‘those’ days (that were before these days) there was, basically only Google – you didn’t expect real humans to search through all those Google search metadata, Gmail messages, watched and interrupted YouTube videos and Android usage stats and location logs that your browsers and phones regularly send to Google HQ, didn’t you? Google invented the TensorFlow library for implementing ML which everybody uses today. Microsoft offers TensorFlow in their Azure products, and so does AWS. But Google invented it.
So, whom are you going to trust?
Google Cloud Shell
One little thing that I love the most about Google Cloud Platform is Cloud Shell. Every Cloud Provider provides an API for managing cloud services, and with it, the way to use it interactively.
That means you usually have a Web console and some CLI tools. And I prefer CLI since I can easily write ad-hoc scripts that automate different tasks and processes.
To use CLI, I have to set it up on my computer and then provide access to my AWS or Azure account. But GCP offers a terminal that is already set up and I can access it from my web browser. It’s not the fastest terminal in the world, but I don’t need to worry if the machine I’m working on has CLI tools configured or not – I just open the Cloud Shell and voila!
GCP has its own advantages in some areas, so you should carefully analyze offers from each provider. Don’t be surprised if GCP comes out as the best solution for your needs!