Google Cloud Platform Fundamentals: Core Infrastructure

In this course, Google Cloud Platform Fundamentals: Core Infrastructure, you will learn about virtual machines and networks in the cloud, storage in the cloud. You’ll also learn about developing, deploying, and monitoring in the cloud.

Course info

Level

Intermediate

Updated

Jan 17, 2019

Duration

2h 50m

Description

In this course, learners explore services provided to applications built on GCP that enhance their scalability and maintainability. They work with services like Google Cloud Pub/Sub and Google Cloud Functions to make applications more efficient. They explore the use of containers on GCP. The course concludes with a review of the specialization.

Section Introduction Transcripts

Introduction to Google Cloud PlatformHi, I'm Brian Rice from the Google Cloud training team. In this course, my colleagues and I are going to introduce you to Google Cloud Platform. GCP offers four main kinds of services: compute, storage, big data, and machine learning. This course focuses mostly on the first two, together with the topic of networking. After all, you can't use resources in the cloud without cloud networking. The cloud is a great home for your applications and your data, because using it frees you from a lot of overhead chores, and the Google Cloud gives you reasonably-priced access to the same planet-scale infrastructure that Google runs on. What exactly is Google Cloud Platform, how is it organized, and what makes it unique? In this module, we'll orient you to the basics.

Virtual Machines and Networks in the CloudOf all the ways you can run workloads in the cloud, virtual machines may be the most familiar. Compute Engine lets you run virtual machines on Google's global infrastructure. In this module, we'll learn how Google Compute Engine works, with a focus on Google virtual networking. One of the nice things about virtual machines is that they have the power and generality of a full-fledged operating system in each. You configure a virtual machine much like you build out a physical server, by specifying its amounts of CPU power and memory, its amounts and types of storage, and its operating system. You can flexibly reconfigure them. And, a VM running on Google's cloud has unmatched worldwide network connectivity.

Storage in the CloudEvery application needs to store data, maybe media to be streamed or sensor data from devices or customer account balances, or maybe the fact that my Dragonite has more than 2600 CP. Different applications and workloads require different storage database solutions. You already know that you can store data on your VM's persistent disk. Google Cloud Platform has other storage options to meet your needs for structured, unstructured, transactional, and relational data. In this module, I'll tell you about the core storage options, Cloud Storage, Cloud SQL, Cloud Spanner, Cloud Datastore, and Google Bigtable. Depending on your application, you might want to use one or several of these services to get the job done.

Containers in the CloudAnother choice for organizing your compute is using containers rather than virtual machines, and using Kubernetes Engine to manage them. Containers are simple and interoperable, and they enable seamless, fine-grained scaling. Google launches billions of containers every week, although, yes, that says something about Google's scale, it says more about the efficiency of containers and the low overhead they require. Lots of people have heard of Kubernetes. That's an orchestration layer for containers, developed and released as open source by Google. Kubernetes Engine is Kubernetes as a service. You can run Kubernetes elsewhere too, both on your own premises and in other providers' clouds, but Kubernetes Engine is a scalable, managed offering that runs on Google's infrastructure. You direct the creation of a cluster, and Kubernetes Engine schedules your containers into the cluster and manages them automatically based on requirements you define. Let's learn about how Kubernetes Engine works and how it helps us deploy and manage applications and containers. We've already discussed the spectrum between Infrastructure as a Service and Platform as a Service, and we've already discussed Compute Engine, which is GCP's pure Infrastructure as a Service offering. In this module, we'll see how Kubernetes Engine is a kind of hybrid between IaaS and PaaS, offering the managed infrastructure of an IaaS offering with the developer orientation of a PaaS offering.

Applications in the CloudSo, we've discussed two GCP products that provide the compute infrastructure for applications, Compute Engine and Kubernetes Engine. What these have in common is that you choose the infrastructure in which your application runs based on virtual machines for Compute Engine and containers for Kubernetes Engine. But what if you don't want to focus on the infrastructure at all, you just want to focus on your code? That's what App Engine is for. I'll tell you more about it in this module. Let's start with PaaS. Recall that a PaaS is a Platform as a Service. The App Engine platform manages the hardware and networking infrastructure required to run your code. To deploy an application on App Engine, you just hand App Engine your code and the App Engine service takes care of the rest. App Engine provides you with the built-in services that many web applications need, NoSQL databases, in-memory caching, load balancing, health checks, logging, and a way to authenticate users. You code your application to take advantage of these services, and App Engine provides them. App Engine will scale your application automatically in response to the amount of traffic it receives, so you only pay for those resources you use. There are no servers for you to provision or maintain. That's why App Engine is especially suited for applications where the workload is highly variable or unpredictable, like web applications and mobile back end. App Engine offers two environments, standard and flexible. I'll explain what each is and how to choose.

Big Data and Machine Learning in the CloudGoogle believes that in the future every company will be a data company because making the fastest and best use of data is a critical source of competitive advantage. Google Cloud provides a way for everybody to take advantage of Google's investments in infrastructure and data processing innovation. Google Cloud has automated out the complexity of building and maintaining data and analytic systems. In this module, I'll tell you about Google's technologies for getting the most out of data fastest. Whether it's real-time analytics or machine learning, these tools are intended to be simple and practical for you to embed in your applications so that you can put data into the hands of your domain experts and get insights faster.