GCP Associate Cloud Engineer

Services, Projects, and Resources


In Chapter 2, we will discuss the core GCP principles. Topics for Chapter 2 will include:
  • Defining concepts key to GCP, including services, APIs, projects, and resources

  • Securing GCP resources using Identity and Access Management, or IAM

Let’s begin by discussing services, projects, and resources. GCP offers a variety of services and resources for a variety of use cases.

For leveraging compute, you can run traditional options such as virtual machines, virtualize applications via containers, take advantage of a fully managed platform with App Engine, or run serverless code utilizing Cloud Functions.

There are also services for securing the GCP platform. Networking services make it easy to build software defined network, run network services such as DNS, load balancing, and content delivery networks.

GCP also includes a variety of big data managed services for the processing and analysis of batch and streaming data.

There are also managed services for both NoSQL and relational databases, as well as unstructured store. Building and using machine learning for your applications can be complicated. Fortunately, GCP makes it easier by providing a variety of ML services.  

RESTful APIs provide service availability for GCP services via HTTPs. Through the use of REST APIs, you can easily integrate not just GCP services but also other Google services, like Maps and YouTube, for your applications as well.

Projects are similar to accounts.  All services built on GCP must be associated with a project.

With projects, you can:

  • Provide authorization to developers and users. Users within a project can have varying degrees of privileges.

  • Manage billing for service usage. You can use one billing account per project, bill all projects to the same account, or a combination of the two.

  • Enable or disable services at the project level. For services that will not be used for the project, the API can be disabled.

Projects can also provide grouping of resources in a logical way. For example, production resources can all be linked to a single project. The same can be done for dev and test environments as well.

When creating projects, you can give a label or name for you to identify the project, as well as a globally unique project ID.

A project ID is passed whenever an API request is made to authorize the request, track usage, and determine which project to bill.

A good practice concerning project IDs is to configure a naming convention that can make the IDs both unique and easy to remember.

In some cases, an API may not be enabled by default. When this happens the API must be enabled before the service could be used. If you attempt to use an API that is not enabled, the Console will give you an option to turn it on.

Otherwise, go to the API and Services option, and select Enable APIs and Services, then search for the API to turn on.

Each GCP API is made up of a series of functions or methods.

Function names are in the following format: [service name].[collection],[verb]. In most cases, function names correlate to an equivalent command line structure.

API functions are invoked via HTTP GET, POST, PUT, or DELETE requests.

The functions can include parameters, and in some cases, there may be parameters that are required for the function to run.

Body of the requests are formatted via JSON, and also results will be returned in JSON. In this example, an API request is invoked. Notice that the request is performed via HTTPS. At the top of the response, you will see the HTTPS code of 200, which is the code for a successful request. The response will depend on the request invoked, but typically is returned via JSON.

The services used in GCP typically build resources. All resources must be associated with a project, so proper billing can be implemented.

Examples of resources include:

  • Virtual machines

  • Disks

  • Cloud Storage buckets

  • BigQuery datasets and tables

  • Spanner databases

  • Kubernetes Engine clusters

These are just a small sample.