The Google Cloud Platform is fairly easy to use compared to more complicated cloud providers like AWS. We explain the basics of how it works and where to look to get started with popular solutions.
What are projects?
The Google Cloud Platform divides all resources and services into separate ones project. Resources in one project are isolated from resources in another (for the most part). If you only use it for one purpose, you will be fine with just the standard project, but if you work with multiple projects or even with multiple companies, you will benefit greatly from splitting projects.
You can change projects at any time from the menu at the top left. Changing projects changes what resources you can see. Permissions and memberships are project specific, so if you add someone to a project, they will not have access to your other projects.
You can have multiple projects in your account, and if you are added as an employee in someone else’s project, it will also appear in this list.
How do permissions work?
If you want to add other people to your projects, you need to make sure you manage their permissions properly so that they do not have full access to your account.
When you add someone from the IAM Management Console, you can add them using their regular email account from your Google Account or an organization-owned account through G Suite.
You can give them a project-wide role as Admin (not a good idea), project viewers or service-specific things like Compute Engine manager. If you do not want to grant them file permissions, you can give them access to specific resources such as individual Compute Engine instances.
All in all, you end up with a system that makes it very easy for the other person to use, because they can just log in with their regular Google account and choose your project. It’s also easy to manage their permissions, as you can simply add them to the individual resources they need access to.
What services should I use?
If you are used to AWS, you will find many similar services in GCP’s offering, often also quite equally priced.
For Calculate, Compute Engine lets you run basic virtual private servers by providing a certain amount of vCPUs and memory. For running container, Cloud Run runs simple container distributions and Kubernetes Engine (after all, Google invented it). For serverlessWith Cloud Functions you can run code without providing servers or calculating resources.
For storage, Cloud Storage provides unlimited cloud storage in buckets, much like AWS’s S3. It offers many cheaper levels for storing data that are less frequently accessible. The storage disks on which Compute Engine instances run are handled in Compute Engine and are called Local SSD or Persistent Disk.
For databases, Google has some offers. Cloud SQL is a standard managed MySQL service that also offers PostgreSQL and SQL server databases. For NoSQL databases, Google has not yet managed MongoDB, but there is Firebase Realtime Database and Firestore, as well as Cloud Bigtable for broad-based databases.
For network, Google has a high-performance CDN called Cloud CDN. At Google’s premium network service level, Cloud Load Balancing can do global load balancing from a single anycast IP, due to the fact that most of the traffic goes down on Google’s own network. For DNS, there are Cloud DNS and Google Domains.
For everything else, you can look at their full product page on their website to find something for your specific use case.