ALEXIS MOUSSINE-POUCHKINE: Can you
get a sense of the breadth of Google Cloud Platform
by looking at Compute products in just a few minutes?
Let's find out.
[MUSIC PLAYING]
Arguably, the Hello World in cloud
is to provision, start, and connect a virtual machine.
Google Compute Engine enables you to create single VM
instances from scratch by specifying a region, a machine
type, an OS image, and other optional parameters.
Note how a cost estimate is provided
while you configure the VM.
A few options that I'd really like to point out is
the ability to add GPUs or TPUs-- that is,
Tensor Processing Units--
to your instance, and the plethora of OS images
that are supported, including numerous Linux distros and MS
Windows, plus the support to use a custom image if you see fit.
Once you click Create, give the system a little time
to boot your instance, and then you'll
be able to SSH into it right from a browser.
You could also have created a new VM
from a previously saved template or from one
of the numerous, ready-to-go solutions on the Marketplace.
Now the marketing group would be upset if I didn't take a moment
and list all the other advanced features of GC, including
finegrained security access control,
HTTPS connectivity, truly stunning live migration
of running applications, preemptible VMs, and more.
These machines are on the Google network,
which means that they'll have minimal latency
and great throughput for everything that requires
accessing remote services.
Now, one of the reasons that Compute Engine is so nice
is that it gives you complete control.
But with that control comes a great deal
of management overhead.
Thankfully, Google Cloud Platform
has offerings in the other side of the spectrum, where
you just focus on code and we handle the rest.
Of course, we're talking about Google Cloud Functions.
The serverless flavor of a Hello World
has to be built on Cloud Functions.
Here, we provide a simple snippet of code
to listen to image file uploads into a storage bucket
to create thumbnails for each one of them on the fly.
To trigger this code to run, simply
upload an image to your bucket and the function
will do the rest.
Now, Cloud Functions support a lot
of triggers, such as changes in a database, messages
from pub/sub, or even Compute Engine instances
changing state.
Cloud Functions can also be invoked using a standard HTTP
request, meaning a user visits a URL
and the function does the work.
These functions can be deployed in any region
from a single project, and they're
authenticated with the rest of GCP services,
making integration with other products and APIs
from the platform quite natural and easy.
Now here's the best part.
For Cloud Functions to work, you don't
have to provision a cluster or deal with server configs.
We do that for you.
And since most of the work you do with Cloud Functions
is temporal, it means you only pay for the code
that you're running while it's running.
No traffic, no cost.
Now, one challenge we have with Cloud Functions
is that while they're easy to use,
they make large-scale app development a little trickier.
So if you need something larger than Cloud Functions,
but still want serverless benefits,
you should check out App Engine, which
has the same scale-on-demand but a lot more
configurations for developers, such as services, versioning,
and traffic splitting.
And of course, you can't talk about cloud in 2019
without talking about containers.
The Hello World in container-land
is to deploy a Docker image to an orchestrator.
Since Google open sourced Kubernetes,
we've gotten a lot of feedback about what works
and the challenges involved with deploying containers.
This led to the development of Google Kubernetes Engine,
or GKE, a fully-managed version of Kubernetes.
You can deploy your containerized applications
to GKE which offers a production infrastructure guaranteeing
uptime, while providing rich dashboard metrics
and automated operations from auto-scaling to node repairs,
to Kubernetes version upgrades.
To deploy a containerized workload,
simply describe the compute, memory, and storage resources
your application containers require, and Kubernetes Engine
will provision and manage the underlying cloud resources
automatically.
With GKE, you can also attach persistent storage.
You can even run stateful workloads such as databases.
You can also make use of GPUs and TPUs
But best of all, your Kubernetes workloads
are portable across all Kubernetes implementations,
from your development environment to GKE,
to other cloud or on-premises installations.
In summary, GCP supports all types of compute workloads.
It will run existing Linux and Windows applications on Compute
Engine, containerized workloads on Kubernetes Engine,
and functions or apps on Cloud Functions and App Engine.
Give us the artifact of your choice
and we'll provide a fast and reliable underlying
infrastructure.
Consider taking free code labs linked in the description below
to explore these products, and look forward
to upcoming videos on data, storage, machine learning,
and more overviews.
If you like this video, please like, subscribe, comment,
and share.
See you soon for another "GCP Essentials" video.