Cloud computing can be defined as the on-demand availability of storage services and computing resources.
The three biggest cloud providers today are Google Cloud Platform (GCP), Microsoft Azure, and Amazon AWS.
GCP is a group of cloud services provided by Google. These services enable application development, infrastructure management, and data storage and analytics. They can be grouped into:
Compute services
These range from simple virtual machines (VMs) to managed container environments. VMs can be created using the Google Compute Engine (GCE) service, which has a variety of features such as custom machine types, autoscaling, and load balancing.
GCP also offers a managed container environment called Google Kubernetes Engine (GKE), which can be used to deploy and manage container-based applications. In addition, GCP features a serverless computing platform called Google Cloud Functions (GCF), which allows developers to run code in response to events without having to provision or manage any infrastructure.
- Storage services
GCP offers a variety of storage services, including the Google Cloud Storage (GCS) service, which includes scalable object storage, and the Google Cloud SQL (GCSQL) service, which provides a managed relational database service. GCS offers file versioning and object lifecycle management, while GCSQL gives businesses features such as automatic failover and backups.
GCP also offers a managed NoSQL database service called Google Cloud Datastore (GCD), which comes with global horizontal scaling and automatic data consistency.
- Databases
In addition to the managed database services mentioned above, GCP lets businesses use a managed data warehouse service called Google BigQuery (GBQ).
GBQ provides a serverless, petabyte-scale data warehouse that can be used to analyze data stored in GCS or GCD. GCP also offers a managed Apache Hadoop service called Google Cloud Dataproc (GCD), which can be used to process and analyze large data sets.
- Networking
GCP has a variety of networking services, including the Google Cloud Load Balancer (GCLB) service, which deals with load balancing and autoscaling for VMs, and the Google Cloud VPN (GCVPN) service, which ensures secure network connectivity between GCP resources and on-premises resources.
GCP also offers a managed DNS service called Google Cloud DNS (GCDNS), which can be used to host DNS domains and resolve DNS queries.
- Developer tools
GCP developer tools include the Google Cloud SDK (GCSDK), which comes with a command-line interface (CLI) for GCP services, and the Google Cloud Shell (GCSH), which provides a shell environment for GCP services. GCP also offers a managed IDE service called Google Cloud Shell (GCS), which can be used to develop and test code for GCP services.
- AI and machine learning
GCP offers a variety of AI and machine learning services, including the Google Cloud Natural Language (GCNL) service with natural language processing (NLP) capabilities, and the Google Cloud Vision (GCV) service with image recognition capabilities. GCP also offers a managed machine learning platform called Google Cloud ML Engine (GCMLE), which can be used to train and deploy machine learning models.
Google Cloud Console, resources, and projects
Small and medium-sized companies make up a large percentage of GCP’s user base.
Most of these organizations will usually have their own developers but these developers won’t have the necessary expertise to scale and manage infrastructure.
GCP will usually provide users with a Google Cloud Console which acts as a web administrator user interface. The console allows users to manage apps and resources. In the GCP platform, consumed services are known as resources.
A compute engine instance, for example, is a resource that can house a machine with an 8GB memory virtual CPU. Resources will usually be grouped into projects. A project allows for the logical separation of resources based on application and function.
Each project will be created under an ‘organization’ or ‘folder’ which is used to specify access levels to resources or projects used by the project.
GCP plans and pricing
Many organizations prefer using the Google Cloud Platform due to its flexibility in pricing. GCP utilizes the pay-as-you-go model where services are priced differently depending on a set of parameters.
Users are not required to pay an initial upfront fee or even a termination fee. Google Cloud has a free tier where new users are credited $300. The users can use the credits to run various resources.
The billing on the Google Cloud Platform is done monthly by summing up the usage of every resource or service consumed. It is normally done project-wise.
The monthly bill will show all the single services that have been consumed. GCP will calculate it every second and round it up to the nearest minute. This usage per minute adds up for the monthly billing keeping discounts in mind.
In GCP, discounts will usually come in the form of various pricing plans. For example, the Committed Use pricing plan will give massive discounts to users who commit to a particular usage level one or three years in advance.
Users are usually provided with a pricing calculator which they can use to gauge how much the cloud will cost their business. An interesting observation from the pricing calculator is that companies need to understand their requirements and scalability to optimize their cloud costs. GCP also has a dedicated customer service team available 24/7 to answer any queries regarding billing or payment.
Final thoughts
Cloud platforms enable companies to just focus on innovation as they are assured of the fact that infrastructure configuration and maintenance are all taken care of.
Google Cloud Platform is part of the Google Cloud. Google products like Google search, Google Maps, or Google Drive run on the Google Cloud Platform. The services provided can be categorized as infrastructure as a service, platform as a service, and software as a service.
Companies love GCP due to the range of services it provides and its flexible pricing model. However, it can be easy to lose the grip on cloud costs, which is why DevOps, finance, and engineering teams rely on Finout to manage their cloud spending.