The Google Cloud console is the visual gateway to the platform: a web dashboard from which you can create, inspect and delete any resource, review spend, read logs and open a terminal. Knowing it well speeds up learning enormously, because it lets you explore services without memorising commands and because every console screen shows you the equivalent gcloud command or REST call, which makes it the best tool for learning the CLI.
In this lesson we go through the console from top to bottom: the top bar and the project selector, the navigation menu and how to pin favourites, the resource search box, the home dashboard and its cards, where to check the project's status and quotas, and the APIs and services section. We will also introduce Cloud Shell and its built-in editor (as a preview only: using it in depth is lesson 01-06) and compare the three ways of working with Google Cloud so as to know when to use each. We will close with a hands-on walkthrough in which Marta leaves the alpinashop-dev project ready for the whole course.
Contents
- Anatomy of the console: top bar and project selector
- The navigation menu and pinned services
- The resource search box
- The home dashboard and its cards
- Project status, quotas and limits
- APIs and services
- Cloud Shell and the editor, at a glance
- Three ways of working with GCP
- Hands-on walkthrough: Marta prepares
alpinashop-dev
- Anatomy of the console: top bar and project selector
The console lives at console.cloud.google.com. The top bar is always present and contains, from left to right:
| Element | What it does | Important detail |
|---|---|---|
| Navigation menu (☰) | Opens the full catalogue of services | It can be pinned so it stays visible |
| "Google Cloud" logo | Returns to the home dashboard | — |
| Project selector | Changes the active project | It is the most important control in the whole console |
| Search bar | Searches resources, services, documentation | Shortcut: / |
Cloud Shell (>_) |
Opens a terminal in the browser | It opens as a bottom panel |
| Notifications (🔔) | Warnings and operations in progress | Useful for long-running operations |
| Help (?) | Documentation and support | — |
| User avatar | Switch account or sign out | Watch out if you have several identities |
The project selector
It is by some distance the element to be most careful with: everything you see and everything you create happens in the selected project. A considerable proportion of beginner incidents ("I deleted the wrong database", "I can't find the VM I just created") comes down to having had the wrong project selected.
Clicking it opens a dialog with two tabs, Recent and All, the latter showing the organization and folder hierarchy. Each project appears with its name and its ID. You can star projects to keep them at the top.
Practical tips:
- Always look at the
projectId, not the name. Names repeat; IDs do not. - The active
projectIdalso appears in the selector itself, so a quick glance before any destructive action is enough. - The console URL includes the project:
console.cloud.google.com/compute/instances?project=alpinashop-dev. You can bookmark direct links to a service in a specific project, which is very handy when you alternate betweenalpinashop-devandalpinashop-prod. - When the time comes to have production, consider changing the visual theme or using different browser windows for each environment. It is a simple trick that prevents serious mistakes.
- The navigation menu and pinned services
The side menu organises services by category: Compute, Storage, Databases, Networking, Operations, Big Data, AI and Machine Learning, Security, and so on. They are the same families we saw in lesson 01-01.
With two hundred services, navigating the whole menu every day is impractical. That is why there is the option of pinning services: hovering over a service reveals a pin icon that moves it to the top section of the menu, always visible and one click away.
Pinned services:
- Are saved per user, not per project: they follow Marta when she switches between
alpinashop-devandalpinashop-prod. - Can be reordered by dragging.
- Are the best tool for reducing navigation fatigue in the first few weeks.
The menu can also be pinned open using the pin icon in its header, so that the console becomes two columns and the menu stops being a drop-down. On wide screens it is convenient; on small laptops it steals useful space.
- The resource search box
The console search bar does not only search the documentation: it searches for real resources in your project. Typing alpinashop-catalogo will take you straight to the bucket; typing Cloud SQL will take you to the service.
What it finds:
- Resources: instances, buckets, databases, service accounts, firewall rules and so on.
- Console services and pages: useful when you cannot remember which menu category something lives in.
- Documentation: official articles.
- Actions: in many cases it offers "Create instance" or similar directly.
Useful details:
- The keyboard shortcut is the slash
/, as in GitHub. - Resource search uses Cloud Asset Inventory underneath. That means two things: it may take a few minutes to index newly created resources, and it only shows what you have read permissions on.
- It is the quickest way to find a resource when you cannot remember which project you created it in, provided the search has the right scope.
- The home dashboard and its cards
The home dashboard is the screen you see when you enter a project. It is made up of cards that you can add, remove and rearrange with the "Customise" button.
The most useful cards in a young project like alpinashop-dev:
| Card | What it shows | Why it is useful at the start |
|---|---|---|
| Project info | Name, projectId, projectNumber |
A quick check that you are where you think you are |
| Resources | Resource counts by service | Spots things left running that you had forgotten |
| Billing | Estimated spend for the current month | The metric most worth looking at daily at first |
| APIs | Requests per second, errors, latency | The project's general health |
| Monitoring | Active alerts and incidents | It fills up when we get to module 6 |
| Platform status | Ongoing Google Cloud incidents | Before debugging, check whether the problem is Google's |
| Errors | Error Reporting summary | Spots application failures without opening logs |
The Platform status card deserves a mention: it links to the public Google Cloud status dashboard (status.cloud.google.com), where incidents are published by service and region. It is the first place to look when something stops working without you having touched anything.
- Project status, quotas and limits
Google Cloud imposes quotas on almost every resource: number of CPUs per region, external IP addresses, requests per minute to an API, the size of certain objects. They exist for two reasons: to protect the shared infrastructure from abusive usage and to protect you from a mistake that sends spend through the roof.
They are checked under IAM and admin → Quotas and system limits. There you can filter by service, see the limit, current usage and the percentage consumed, and request an increase when the limit is insufficient.
| Quota type | What it limits | Example | Can it be raised |
|---|---|---|---|
| Allocation quota | Number of resources existing at once | CPUs in europe-west1, external IPs, VPC networks |
Yes, by request |
| Rate quota | Requests per unit of time to an API | Reads per minute against an API | Yes, in many cases |
| System limit | Fixed restrictions of the service design | Maximum length of a resource name | No |
Things worth knowing before you run into them:
- New accounts have low quotas. It is normal for a freshly created account to allow only a handful of CPUs per region. If when you reach module 2 you cannot create the VM you want, it is probably this and not a mistake of yours.
- Quotas are per project and often per region. Having headroom in
europe-west1does not mean having it ineurope-southwest1. - Increase requests are not instant. They are usually resolved within hours or a day or so. If you are planning a large deployment, ask for them in advance.
- An exhausted quota shows up as a creation error, with a message that explicitly mentions
Quota exceeded. Reading the full message saves a lot of time.
- APIs and services
The APIs and services section is the control centre for what the project can do. It is divided into:
- Enabled APIs and services: the list of what is active, with graphs of traffic, errors and latency per API. It is a good place to notice that something is calling far more than expected.
- Library: the full catalogue of available APIs, with a search box. This is where they are enabled.
- Credentials: API keys, OAuth client IDs and associated service accounts.
- OAuth consent screen: needed when your application asks for data belonging to Google users.
Remember from the previous lesson that APIs come disabled by default in every new project and that enabling them does not cost money, but using them does. The list of enabled APIs also works as implicit documentation: looking at it tells you what the project really uses.
A very useful practical detail: when the console stops you doing something because an API is missing, it offers an enable button within the flow itself. There is no need to go and find it in the library.
The most useful icon in the whole console
On many resource creation screens, next to the "Create" button, there are two discreet links: "Equivalent command line" and "Equivalent REST". When you click them, the console shows you exactly the gcloud command or the HTTP request it would run with the options you have filled in on the form.
It is, without exaggeration, the platform's best learning tool:
- You configure the resource visually, with the description of each field in view.
- You ask for the equivalent command.
- You copy it, understand it and save it in a script.
That is how you move from the console to automation without memorising anything.
- Cloud Shell and the editor, at a glance
The >_ icon in the top bar opens Cloud Shell: an ephemeral, free Linux virtual machine that opens as a panel at the bottom of the browser. It comes with the Google Cloud CLI, Python, Java, Go, Node.js, Docker, kubectl, git and terraform already installed, and already authenticated as your user, so you can run gcloud commands without configuring anything.
Alongside it, the Open editor button launches Cloud Shell Editor, a code editor based on the same technology as Visual Studio Code, with a file explorer, an integrated terminal and syntax highlighting. It lets you edit files in your Cloud Shell home directory without leaving the browser.
And a third element: the web preview, an eye-shaped icon that lets you open in the browser a service you are running inside Cloud Shell (for example, AlpinaShop's Flask application on port 8080) through a temporary, authenticated URL.
This is enough for now: the detailed workings of Cloud Shell, its limits, the persistence of your $HOME and the anatomy of gcloud commands are the full subject of lesson 01-06, with which we will close the module.
- Three ways of working with GCP
Everything that can be done in Google Cloud can be done in three ways, and all three end up calling the same REST API underneath. Choosing well saves a lot of time.
| Criterion | Web console | CLI (gcloud) |
Client libraries / REST API |
|---|---|---|---|
| Learning curve | Very low | Medium | High |
| Discovering options | Excellent: everything is in view | Requires --help or documentation |
Requires reading the reference |
| Repeatability | None: it is done by hand each time | High: it is saved in a script | Maximum |
| Automation and CI/CD | No | Yes | Yes |
| Bulk operations | Very tedious | Convenient with loops and --filter |
Ideal |
| Embedding in an application | No | Not advisable | Yes, that is its whole purpose |
| Visualising metrics and spend | Excellent | Limited | You have to build it |
| Debugging and one-off inspection | Very good | Good | Overkill |
When to use each, in practice:
- Console: learning a new service, exploring, looking at graphs and billing, diagnosing an incident, doing something just once. And whenever you want the equivalent command to take away into a script.
gcloud: day-to-day administration, repetitive tasks, deployment scripts, operations across many resources at once. It is the sweet spot for an administrator.- Client libraries (Python, Java, Go, Node.js and so on): when it is your application that needs to talk to Google Cloud. Dani will use them in AlpinaShop's Flask app to upload images to Cloud Storage or publish messages to the
pedidos-nuevostopic. Never invokegcloudfrom production code: use the client library. - The REST API directly: when there is no library for your language or you need very fine-grained control.
And a fourth route worth mentioning even though it comes later: infrastructure as code with Terraform (lesson 06-07). When infrastructure stops being an experiment and becomes an asset, it is not described with loose commands but with files versioned in Git. The natural progression for a team is console → gcloud → Terraform.
graph LR
A[Web console] --> D[Google Cloud REST API]
B[gcloud CLI] --> D
C[Client libraries] --> D
E[Terraform] --> D
D --> F[Resources: VMs, buckets, databases]
The diagram explains something important: there are no console-exclusive features. If something can be done visually, there is an API that does it, and therefore it can be automated.
- Hands-on walkthrough: Marta prepares
alpinashop-dev
alpinashop-devMarta is going to leave the project ready to work in throughout the course. Follow these steps yourself too:
Step 1. Verify the active project. Open the console and check in the top selector that it says alpinashop-dev. If not, change it. Note down the projectId and the projectNumber shown on the "Project info" card of the home dashboard: we will need them in the next lesson.
Step 2. Pin the course's services. Open the navigation menu and pin these services, which are the ones we will use most:
| Service | Module where it is used |
|---|---|
| Compute Engine | 2 |
| Cloud Storage | 2 |
| SQL | 2 |
| Cloud Run | 7 (with a preview in 01-06) |
| Kubernetes Engine | 2 |
| VPC networks | 3 |
| IAM and admin | 3 |
| BigQuery | 4 |
| Pub/Sub | 4 |
| Cloud Build | 6 |
| Monitoring | 6 |
| Logging | 6 |
| Billing | Throughout |
Step 3. Customise the home dashboard. Click "Customise" and leave at least these visible: Project info, Billing, Resources and Platform status.
Step 4. Check the starting quotas. Go to IAM and admin → Quotas, filter by the Compute Engine API service and find the CPU quota in the europe-west1 region. Note the value: it will tell you how many machines you will be able to create in module 2.
Step 5. Review the enabled APIs. Under APIs and services → Enabled, check that the ones we enabled in the previous lesson are active. Look at the traffic graph: in a freshly created project it should be practically flat.
Step 6. Open Cloud Shell. Click the >_ icon, wait for the machine to be provisioned and run:
# Confirm which account and which project Cloud Shell has active.
# The output should show your corporate email and the alpinashop-dev project.
gcloud config list# Show the properties of the active project in a readable table format.
# It is a quick check that projectId and projectNumber are as expected.
gcloud projects describe alpinashop-dev \
--format="table(projectId, projectNumber, lifecycleState)"The first command reads your local gcloud configuration and shows the authenticated account and the default project. The second queries the Resource Manager API and returns the project's details, formatted as a table with only three columns thanks to --format. If both return what you expect, your environment is properly set up.
Step 7. Save bookmarks. Create browser bookmarks for the pages you will visit most, with the project already included in the URL:
https://console.cloud.google.com/home/dashboard?project=alpinashop-devhttps://console.cloud.google.com/billinghttps://console.cloud.google.com/apis/dashboard?project=alpinashop-dev
Common Mistakes and Tips
- Working with the wrong project selected. The most frequent mistake and the one that does most damage. Look at the selector before any destructive action and use different browser windows or profiles for development and production.
- Confusing "I can't see it" with "it doesn't exist". If a resource does not appear, it is almost always because you are in another project, in another region, or because you lack read permissions. The console hides what you cannot see rather than telling you.
- Searching for a just-created resource and not finding it. The search box relies on Cloud Asset Inventory and takes a few minutes to index. Go through the service's menu instead.
- Ignoring the "Equivalent command line" link. It is the fastest way to learn
gcloudand to turn a click into something repeatable. - Not reviewing quotas until they fail. A deployment that fails with
Quota exceededwhile the increase request is pending can cost you a whole day. - Being signed in with two Google accounts at once. It is a constant source of confusion: the console may open with the personal account. Use separate browser profiles.
- Tip: when something fails, look at
status.cloud.google.comfirst. Losing an hour debugging a Google incident is an avoidable classic. - Tip: pin few services. Pinning twenty is like pinning none. Start with the five or six you really use.
Exercises
Exercise 1: choosing the right tool
For each task, say whether you would tackle it from the console, with gcloud or with a client library, and justify your choice in one sentence:
- Dani needs AlpinaShop's Flask application to upload a product photo to the
alpinashop-catalogobucket every time an employee adds an item. - Marta wants to see how spend has evolved over the last quarter, broken down by service.
- The same
entorno=desarrollolabel has to be applied to 40 existing resources. - Marta is studying Cloud SQL for the first time and wants to understand what options exist when creating an instance.
- A nightly process must create a disk snapshot every day at 03:00.
Exercise 2: preparing the environment
Carry out the walkthrough from section 9 in your own account and answer:
- What is your project's
projectNumberand how does it differ from theprojectId? - How many CPUs does your current quota allow in the
europe-west1region? - Find a resource creation screen in the console that offers the "Equivalent command line" link and note down the command it generates without actually creating the resource.
Exercise 3: diagnosis
Marta receives a message from Dani: "I created a virtual machine this morning and now it's nowhere to be seen. Did you delete it?".
List at least four possible causes, ordered from most to least likely, and say how you would check each one from the console.
Solutions
Solution 1
- Client library (the Cloud Storage one for Python). It is the application itself that needs to talk to Google Cloud; invoking
gcloudfrom production code would be fragile and insecure. - Console, the Billing → Reports section. It is a visualisation and exploration task, exactly where the graphical interface wins.
gcloud, combining a listing with--format=value(...)and a bash loop. Doing it by hand in the console forty times is slow and error-prone.- Console. When exploring a new service, the form with a description of every field teaches you faster than the CLI documentation. Afterwards, the "Equivalent command line" link gives you the command ready-made.
gcloudinside a scheduled task (or, better still, a managed snapshot policy). It is a repetitive, unattended operation: it belongs in a versioned script, not in anyone's memory.
Solution 2
- The
projectNumberis a numeric identifier assigned automatically by Google, whereas theprojectIdis the readable string you chose when creating the project (alpinashop-dev). Both are immutable and globally unique; some APIs and some internal formats use the number instead of the ID. They are studied in detail in lesson 01-04. - It depends on your account. In new accounts it is common to find low limits (in the order of a few dozen CPUs, and sometimes fewer during the trial period). The point of the exercise is to know where it is checked: IAM and admin → Quotas, filtering by Compute Engine API and by region.
- For example, under Compute Engine → Create instance, once you have filled in the form the "Equivalent command line" link generates a
gcloud compute instances create ...with all the flags corresponding to the options you ticked. You can copy it and close the form without creating anything.
Solution 3
Causes ordered by likelihood:
- Wrong project. Dani may be looking at
alpinashop-prodwhen he created it inalpinashop-dev, or the other way round. Check: review the project selector and search for the VM by name in the global search box. - Wrong region or zone. The Compute Engine instance list may have a zone filter active. Check: clear the filters on the instance list, which by default shows every zone.
- Wrong Google account. Dani may have created the VM with his personal account and now be looking with the corporate one, or vice versa. Check: look at the avatar in the top bar.
- Insufficient permissions. If someone has adjusted the roles, Dani might not have read permission on Compute Engine and the console would simply not show him the instance. Check: review his roles under IAM and admin.
- The VM really was deleted or stopped. The definitive check: Cloud Logging, filtered by the project's admin activity, shows who ran which operation and when. It is the source of truth, and we will see it in lesson 06-06.
Conclusion
We now know our way around. In this lesson we have gone through the top bar and identified the project selector as the console's most critical control; we have learned to pin favourite services in the navigation menu to reduce navigation fatigue; we have seen that the search box indexes real resources through Cloud Asset Inventory; we have customised the home dashboard with the project, billing, resources and platform status cards; we have located where quotas are checked and understood that new accounts start with low limits; we have reviewed the APIs and services section and discovered the "Equivalent command line" link, probably the best learning tool on the whole platform. We have also had a passing look at Cloud Shell, its editor and the web preview, and we have compared the three ways of working with GCP so as to know when each is appropriate. Marta has left alpinashop-dev with her services pinned and her dashboard set up.
So far we have treated the project as a box that things fit into. In the next lesson, Projects, Resource Hierarchy and Billing, we will open that box: we will look at the full Organization → Folders → Projects → Resources hierarchy applied to AlpinaShop with produccion and desarrollo folders, the exact difference between projectId, projectNumber and the name, why the project is the boundary for billing, quotas, permissions and networking, how billing accounts and labels work for splitting spend, and how the hierarchy inherits policies. It is the lesson that stops AlpinaShop's cloud being a disorderly heap of projects a year from now.
Google Cloud Platform (GCP) Course
Module 1: Introduction to Google Cloud Platform
- What is Google Cloud Platform?
- Setting Up Your GCP Account
- A Tour of the GCP Console
- Projects, Resource Hierarchy and Billing
- Regions, Zones and the Shared Responsibility Model
- Cloud Shell and the gcloud CLI
Module 2: Core GCP Services
- Compute Engine: Virtual Machines on Google Cloud
- Cloud Storage: Object Storage
- Cloud SQL: Managed Relational Databases
- App Engine: Platform as a Service
- Google Kubernetes Engine (GKE)
- NoSQL Databases: Firestore, Bigtable and Spanner
- How to Choose the Right Compute Service
Module 3: Networking and Security
- VPC Networks
- Cloud Load Balancing
- Cloud CDN
- Identity and Access Management (IAM)
- Cloud Armor
- Secrets and Encryption: Secret Manager and Cloud KMS
- Cloud DNS, TLS Certificates and Publishing Services Securely
Module 4: Data and Analytics
- BigQuery: The Analytical Data Warehouse
- Cloud Dataflow: Batch and Streaming Data Processing
- Cloud Dataproc: Managed Spark and Hadoop
- Cloud Pub/Sub: Asynchronous Messaging
- Cloud Data Fusion: Code-Free Data Integration
- Orchestrating Pipelines with Cloud Composer and Workflows
- Data Governance and Dashboards with Dataplex and Looker Studio
Module 5: Machine Learning and AI
- Vertex AI: The Machine Learning Platform on GCP
- AutoML: Custom Models Without Writing Code
- TensorFlow on GCP: Training and Serving Models
- Natural Language API
- Vision API
- Generative AI on Vertex AI: Gemini Models and Embeddings
- MLOps: From Model to Product with Vertex AI Pipelines
Module 6: DevOps and Monitoring
- Cloud Build: Continuous Integration on GCP
- Cloud Source Repositories and Source Code Management
- Cloud Functions: Serverless Functions
- Cloud Monitoring (formerly Stackdriver): Metrics, Dashboards and Alerts
- Cloud Deployment Manager and Native Infrastructure as Code
- Cloud Logging and Cloud Trace: Logs, Traces and Diagnostics
- Terraform on GCP: Infrastructure as Code in Practice
Module 7: Advanced GCP Topics
- Hybrid and Multicloud with Anthos
- Serverless Computing with Cloud Run
- Advanced Networking: Shared VPC, Peering and Hybrid Connectivity
- Security Best Practices
- Cost Management and Optimization
- Reliability: SLOs, High Availability and Disaster Recovery
- Governance at Scale: Organization, Policies and Auditing
