Google Cloud Platform is pretty easy to use compared to more complicated cloud providers like AWS. We’ll explain the basics of how it works, and where to look to get started with popular solutions.
What Are Projects?
Google Cloud Platform splits every resource and every service up into separate projects. Resources in one project are isolated from resources in another (for the most part). If you’re only using it for one purpose, you’ll be fine with just the default project, but if you’re working with multiple projects or even with multiple companies, you’ll get a lot of benefit out of splitting up projects.
You can switch projects at any time from the menu in the top left. Switching a project will change which resources you can view. Permissions and membership is project specific, so if you add someone to one project, they won’t have any access to your other projects.
You can have multiple projects in your account, and if you’re added as a collaborator on someone else’s project, it will appear in this list as well.
How Do Permissions Work?
If you want to add other people to your projects, you’ll need to make sure you manage their permissions properly so that they don’t have full access to your account.
When you add someone from the IAM Management Console, you can add them using their standard Google account email, or an organization owned account through G Suite.
You can them give them a project-wide role like Admin (not a good idea), project viewer, or service specific things like Compute Engine manager. If you don’t want to give them blanket permissions, you can give them access to specific resources like individual Compute Engine instances.
Overall, you end up with a system that makes it really easy to use for the other person, as they can just sign in with their standard Google account and select your project. Managing their permissions is also easy, as you can simply add them to the individual resources to which they need access.
What Services Should I Use?
If you’re used to AWS, you’ll find many similar services in GCP’s offering, often priced pretty similarly as well.
For Compute, Compute Engine allows you to run basic virtual private servers by provisioning a specific amount of vCPUs and memory. For running containers, Cloud Run runs simple container deployments, and Kubernetes Engine (after all, Google did invent it). For serverless, Cloud Functions allows you to run code without provisioning servers or compute resources.
For storage, Cloud Storage provides unlimited cloud storage in buckets, much like AWS’s S3. It offers many cheaper tiers for storing data that is less frequently accessed. The storage disks that Compute Engine instances run on are handled in Compute Engine and called Local SSD or Persistent Disk.
For databases, Google has a few offerings. Cloud SQL is a standard managed MySQL service, also offering PostgreSQL and SQL server databases. For NoSQL databases, Google doesn’t have managed MongoDB yet, but there is the Firebase Realtime Database and Firestore, as well as Cloud Bigtable for wide-column databases.
For networking, Google has a high-performance CDN called Cloud CDN. On Google’s premium network service tier, Cloud Load Balancing can do global load-balancing from a single anycast IP, due to most of the traffic going down Google’s own network. For DNS, there’s Cloud DNS and Google Domains.
For everything else, you can take a look at their full products page on their website to find something for your specific use case.