If your organization is moving from AWS to Google Cloud Platform, or if you just want to learn how to use an alternate cloud provider, GCP is pretty similar to AWS and easy to learn. We will discuss the differences and similarities.
Permissions work differently
The most important change affects how permissions work and how other users in your organization are managed. Both GCP and AWS call this feature Identity and Access Management, or IAM, but GCP takes a different approach.
In AWS, “IAM Users”
With GCP, everything, not just permissions, is split into separate “projects”. Similar to AWS organizations, the resources in these two projects are largely separate. This makes it much easier to manage permissions between projects.
General users and service accounts are also separated. Users are full Google users who have been granted access to the project. Service accounts work similarly, but are manually created for the project.
Permissions are managed with “roles” that do not serve the same purpose as the AWS IAM roles (which are filled by service users). Roles are just a set of permissions, similar to an AWS policy.
A role can be assigned directly to a user in order to grant him project-wide authorizations. However, if you want to grant permissions on a specific resource, you don’t need to create a new IAM policy. You simply add the user to that resource and give them a role with enough permissions to do their job.
In the end, you have a system in place where you can only add members to the resources they need to access and not have to worry about creating, managing, and monitoring tons of IAM policies. Very rarely do you need to create your own IAM roles in GCP.
The prices are largely the same
Google Cloud Platform is a direct competitor to AWS and of course offers very similar and competitive prices.
Similar to AWS, almost everything is priced, with prices measured based on usage. As with AWS, you are charged for data egress from anywhere on the GCP network. There is also a very generous free tier with a 12 month free trial with $ 300 credit.
Some services directly reflect the AWS pricing model. The same four price tiers are available for Cloud Storage, GCP’s replacement for S3: Standard, Infrequent Access, Glacier and Glacier Deep Archive, but under different names. However, they are all available at competitive prices per GB compared to AWS.
You can view the pricing details for each service on the GCP website.
The Google Cloud Platform offers many services that are intended to directly replace the function of many AWS services. A full list of their products can be found on their website, but we’ll discuss the most common ones.
To the To calculate, Compute Engine is the GCP version of EC2 that you can use to host virtual private servers. Google takes a casual approach and simply allows you to choose the number of Vcores and the amount of memory you want to provision, as well as the generation of processors, rather than having a thousand different SKUs for different types of instances. To run container, Cloud Run is replacing ECS for simple deployments, and Kubernetes Engine is replacing EKS (after all, Google invented it).
To the serverless, Cloud functions are replacing Lambda, and App Engine runs full apps on a serverless platform.
To the warehouseCloud Storage is a direct replacement for S3 and offers many different tiers like Glacier and Infrequent Access. The hard disks that Compute Engine instances run on (EBS volumes) are processed in Compute Engine and are known as local SSD or persistent disk.
To the DatabasesGoogle has a few offers. Cloud SQL replaces RDS for MySQL, PostgreSQL, and SQL Server databases. For NoSQL databases, Google has not yet managed MongoDB, but there is the Firebase real-time database and the Firestore, as well as Cloud Bigtable for wide-column databases.
To the NetworkingGoogle also has a CDN service like CloudFront from AWS called Cloud CDN. Unlike CloudFront, Cloud CDN can globally load balance from a single anycast IP at Google’s premium network service tier, as most of the traffic goes through Google’s own network. For DNS there is Cloud DNS and for Load Balancers there is Cloud Load Balancing.
If you’re used to AWS API gatewayGoogle’s Apigee API management platform should be a good replacement.