Google Cloud SDK, Google Cloud Client Libraries & Firebase SDK

Cloud libraries are the preferred method to invoke GCP API’s. You can use the API Explorer as a sandbox, to try them out. They’re available in many prog. languages. With them, you can write application code that can be executed in a compute env such as App Engine, GKE or Compute Engine.

With Firebase SDK you can implement federated identity management to authenticate users without writing it from scratch.
When you’re ready to write your app, use Google Cloud Client Libraries to programmatically interact with GCP Services.
If you need to write scripts to work with GCP Services, use the Google Cloud SDK. It contains command line tools to help you out.

GC Client Libraries

They’re the recommended way to make requests to the server through APIs. They include authentication with Google. They also include retry logic for transit network failures.

Google API Client Libraries should only be used if your programming language isn’t supposed by GC Client Libraries. They provide access to rest APIs only. To get started with them check their Github proyect or check the API explorer.

Every package uses a client a a base for interacting with an API. If your app is running on App Engine or Compute Engine, authentication will just work. If you don’t explicitly give credentials, the client will reuse the credentials from the gcloud tool.

GC SDK

It consists of the following three command line tools

  • gcloud it allows you to perform common tasks on GCP. It allows you to create and manage GCP resources.
  • BQ it is used to work with Google BigQuery. It’s primary purpose is running queries and it can also be used to manage data sets, tables and other big query entities.
  • gsutil it’s used to perform tasks in GC Storage. You can use gsutil to create and manage buckets, upload, download and delete objects. Move, copy and rename objects and manage access to stored objects.

GC Shell

Is a free admin machine with browser based command line access. It allows you to easily manage your infrastructure and applications on GCP. It gives you access to a temporary VM instance with 5 GBs.

They’re provisioned on a per user, per session basis. They persist only while your Cloud Shell session is active and terminate after an hour of inactivity.

Tools

GCP provides cloud tools for various IDEs such as Eclipse, IntelliJ or Android Studio to facilitate development on GCP.

Firebase

Is a mobile and web app development platform. It’s integrated with various services and GCP. The Firebase SDK’s for Cloud Storage store files directly in GC Storage buckets. And you can use the GC Storage API’s to access files uploaded via the Firebase SDKs.

Firebase SDKs for Cloud Storage use the default bucket for Google App Engine standard environment, so you can use the built in app engine API’s to share data between Firebase and you App Engine application. Additionally, you can retrieve, verify and store user credentials using Firebase authentication, the Google App Engine standard environment and Google Cloud data store.

Google Cloud Functions is GCP’s serverless offering. Cloud Funcitons for Firebase lets you automatically run backend code in response to events triggered by Firebase features and HTTP requests. The code is stored in Google’s Cloud and run in a managed environment.