Google Cloud Platform (GCP) is an initiative by Google to provide cloud computing services to customers. These services run on the same infrastructure and platform on which Google services such as Gmail, YouTube, etc run. GCP was launched on April 7, 2008, and the complete set of services and the platform is written in C++, Python, Go, Java and Ruby. GCP offers a number of resources with different ways to access those resources.
Resources offered by Google can be broadly categorized into physical resources and virtual resources. Physical resources include assets such as hard disk drives (HDDs), computers, etc, and virtual machines (VMs) that come under the category of virtual resources that are ubiquitously present around the globe. These data centers are assigned to a particular region (Asia, North America, South America, etc) and each region is further divided into zones. These zones of a particular region are isolated from each other and are identified by a unique name. These unique names are a combination of the name of the region and the name of the zone. For example, zone c of the East Asia region will be named as Asia-east1-c. This distribution of resources is done for specific reasons. First, redundant data is stored at multiple locations which act as a backup in case of system failure. Second, creating zones reduces the distance between the resources and the clients which reduces communication latency and increases efficiency by fastening the working environment. There are rules to access these distributed resources.
Types of resources offered by GCP
Global, regional and zonal resources are the levels at which resources can be accessed. Global resources include disk snapshots, networks, and pre-configured disk images. These can be accessed by all the other resources also irrespective of the regions and zones in which they are present. Static IP addresses come under the category of regional resources. Resources in this category have constraints that these can be accessed by other resources located in the exact same region. Resources that have Zonal access are VM instances. These also include different types of VM instances and all types of disks. Zonal access means that these resources can be accessed in the same zone only. Different resources have been kept under different access modes keeping in mind the functionalities performed by these resources.
For example: Let us consider we want to reserve an IP address. Since reserving IP addresses is a regional operation, thus it is kept under the category of regional resources. Similarly, if one wants to create a network, then we know network creation is a global task and it will require many other resources in order to perform its task, thus it is kept under the global category.
To have optimized applications that work with full proficiency, the selection of resources is crucial as well as a tedious task. Thus, it becomes important for the user to know the resources offered and the category each resource belongs to.
Projects in GCP
Project in GCP is the uppermost level under which all the resources are allocated. It is the management entity of the services. No resource can be allocated outside the project. GCP project consists of various parameters. These parameters are permissions, settings, and other meta-data describing the applications. Communication between resources in a project is executed easily (abiding by the accessibility rules of global, regional, and zonal resources). A project can also access resources used by other projects using a shared VPC or Network Peering.
To identify each project uniquely, every project is assigned a project name that is provided by the user, a unique project ID, which can be provided either by the user or can be generated by the GCP and a project number which is assigned by the GCP.
Each project ID is unique and this ID can never be reused for some other project even if the initial project is deleted. Resource names in the same project must be unique though resource names can be repeated while working on different projects. For billing purposes of the used resources, the project is assigned to a billing account. One billing account can be assigned to multiple projects for billing the resources.
Modes to access GCP services
There are several ways to access Google Cloud Platform (GCP) services:
- The Google Cloud Console, a web-based user interface that provides a simplified, easy-to-use interface for managing GCP services.
- The gcloud command-line tool, which allows you to interact with GCP services using the command-line.
- The Cloud SDK, a set of tools for developing and deploying applications to GCP, which includes the gcloud command-line tool.
- Google Cloud API, allow to access GCP services programmatically.
- Cloud Marketplace offers pre-configured and ready-to-use solutions from ISVs, SaaS providers and Google which can be easily deployed, integrated and managed.
- Cloud Shell, an online command-line interface that provides a secure and pre-configured environment for running GCP commands directly in a web browser.
Lost in the complex landscape of DevOps? It's time to find your way! Enroll in our DevOps Engineering Planning to Production
Live Course and set out on an exhilarating expedition to conquer DevOps methodologies with precision and timeliness.
What We Offer:
- Comprehensive DevOps Curriculum
- Expert Guidance for Streamlined Learning
- Hands-on Experience with Real-world Scenarios
- Proven Track Record with 100,000+ Successful DevOps Enthusiasts