Discovery and Installation
Discovery and Installation

Learn how to use the Google Cloud Marketplace to install both commercial and open-source software on your Google Cloud Platform account.

Learning Objectives

  • Understand what the Google Cloud Marketplace is
  • Learn how to browse the Marketplace catalog
  • Learn how to deploy a Marketplace solution

Intended Audience

This course is intended for anyone who wants to enhance their knowledge of Google Cloud Marketplace.


Anyone can take this course, but some basic knowledge of GCP would be beneficial.


Google Cloud Platform is extremely powerful.  You can use it to build almost anything you can imagine.  But not every problem requires some crazy, custom solution.  In fact, most of the time, there is already a commercial or open-source software package that can meet your needs.

Luckily, Google has provided an easy way to deploy many common applications to the cloud.  The Google Cloud Marketplace provides a wide array of software packages to choose from.  You can browse through the catalog, pick something you like, and deploy it all with the click of a few keys.

Marketplace requires a lot less expertise to use.  You do not have to mess with manually provisioning compute resources or trying to figure out how to download, install and configure the right software packages.  Instead, Cloud Marketplace makes it simple.  Just pick the package you want, review the estimated costs, and then click on “Launch” .

Let me show you how easy the Marketplace is to use.  To start, you need to log into the GCP console.  Then you want to search for “Marketplace” and click on the link.  This will take you to the main catalog page.  From here, you can scroll down to browse the catalog.  This will contain all the software that is available.  You can also search for a particular product by typing in its name here.  Or you can use the side menu here; you can filter by categories.  

You can deploy an operating system such as Linux or Windows.  There are popular databases to choose from including mySQL and MongoDB.  They even offer popular blogging and Content Management Systems like WordPress and Drupal.  And there is much, much more.

You will notice that there can be multiple matches for a particular piece of software.  Sometimes these represent different versions.  But the other main reason is because these packages have different “types”.  The types include Virtual Machines, SaaS & APIs, Kubernetes apps, and Container images.

Let me explain what each one is:

A “Virtual machine” type means that this solution is going to provision a Virtual Machine on Compute Engine.  A “Kubernetes app” will deploy an application to a GKE cluster.  You need to understand the differences because it is going to affect your costs as well and how you need to maintain it.

APIs and Containers are a little different.  An API won’t actually install anything.  Instead, it is simply going to grant you access to a service offered by another company.  Typically, these are not free and they will require a subscription.  

Containers will not install anything directly.  Instead, these are just a safe and verified container image that you can use to deploy yourself.  These are great if you want to deploy to Cloud Run or App Engine.  But you can also use these to install to an existing GKE cluster or even Compute Engine VM if you want.

So, if you are looking for a simple “click to deploy” solution, you will want to choose either a Virtual Machine or a Kubernetes App.  If you don’t want to install anything at all, but instead need access to a third party service, then pick a Saas or API.  If you want to install something but you want to set it up yourself, then you can pick a Container.

So now it’s time to run through a real demonstration.  First, I am going to show you how to install Drupal using a Virtual machine.  I just need to search for the name here.  And then I need to be sure to pick the correct type.  Note that this is going to create a single VM on Compute Engine.  There are additional details listed here as well, including the version number, operating system and any included packages.  You always should review this information and verify that you are picking the right package.

You also probably want to scroll down or click on the “Pricing tab” to review any estimated costs.  Note that while Drupal itself is free to use, the VM it will be running on is not.  So if I accept the defaults, I can assume it will cost me about $50 a month.  If I change the machine type or if I don’t run the VM 24 hours a day, 7 days a week, the final cost will be different.

If you scroll down a little further, you can see the support information as well as the terms of service.  After you have carefully reviewed all the details and you have decided you wish to proceed, scroll up and click on “Launch”.

The first step during installation is to verify that you have the required APIs enabled.  If some are still disabled, then it will tell you which ones.  You can click on the API to get more information about what it does.  Once you are satisfied, click on “Enable” to continue.

Next you will be presented with a form that lets you override any of the default values.  Here I can pick a different name for my VM.  I can change the zone.  Here I can modify the machine type.  If I need a more powerful CPU or need more memory, I can do that.  Remember, this will affect the cost.  I can also increase or decrease my disk size.  You can customize networking and firewall rules here.  And you can also decide if you want to enable logging and monitoring.  You don’t need to change anything.  But you do need to accept the Terms of Service before you can click on Deploy.

At this point. the Deployment Manager will start executing the deployment template.  You can see there are several steps involved.  You might have to wait a while for everything to finish.  Once installation is finally complete, you will get a summary here on the right.  We can see the site address for my new Drupal installation.  And it does appear to be working.  It also gives a bunch of other stuff I will need to use my new website.  We also have some next steps and further documentation.

So now I should be able to jump over to the Compute Engine page and see my new VM.  And here it is.  Now I can manage this just like any other Virtual Machine.  I can make changes.  I can start and restart it.  Whatever I want.  However, if I wanted to delete this, the best way is probably to go back to the Deployment Manager screen and do it from there.  By removing it from the Deployment Manager, this will ensure that everything that was installed (including VMs, load balancers and disks) will get cleaned up.  Alright, there we go.  The VM is now gone and the Drupal install has been completely removed.

I also want to show you how to install a Kubernetes app.  Now this is similar to installing a virtual machine, but there are a few differences.  So you have to select your product.  Review the details.  Make sure to verify the version number and ensure that you aren’t going to accidentally install an old version.  Now, one of the main differences from a Virtual machine is pricing.  Remember, Drupal does not cost anything but the cluster it needs to run on will.  Here we are not going to see a price estimate, because it will depend on the size and type of your cluster.

Once you are ready, scroll up and click on “Configure”.  It will quickly verify my APIs.  And if everything is good, it will display this form.  Since this is a Kubernetes app, I must select a cluster.  I can also create a brand new one if I wish.  Once you have the cluster set, then you can choose a namespace, app name, storage class and size.  Or you can just accept all the defaults.  Here are some other options for making the instance publicly accessible or enabling metrics.  And once again, if you want to proceed you have to accept the Terms of Service.  Once you get everything the way you want, just click on “Deploy”.

Creating a cluster and deploying to a cluster both take a long time.  So you will probably have to wait a while.  However once it is complete, you can review the details.  Once again, we see the URL for the new Drupal site, along with any generated accounts and passwords.  And if you scroll down, you can review all the components that were added.  Also note that there is more documentation on the right.  You are going to want to make sure you view this, because it can help troubleshoot any issues.  For example, if I click on the site address I get an error.  But luckily that is already explained if you look over here.  It says I need to update the certificate for HTTPS to work.  However, in this case, I am just going to change it to HTTP to verify that this site is working.

If I want to manage the installation, everything is available on the GKE page.  Here I can view the new cluster that I just created.  If I want, I can make any necessary changes.  The installation actually deployed multiple workloads, but everything is bundled under the application named “drupal-1”.  So if I want to uninstall it, I just need to delete this app.  And then I’ll also make sure to remove any workloads that did not get cleaned up.  In this case, I should probably delete my cluster as well.  Now if I had picked an existing cluster instead of creating a new one, I would have skipped this last step.

Alright, there you go.  Now you know how to deploy software using the Google Cloud Marketplace.

About the Author
Learning Paths

Daniel began his career as a Software Engineer, focusing mostly on web and mobile development. After twenty years of dealing with insufficient training and fragmented documentation, he decided to use his extensive experience to help the next generation of engineers.

Daniel has spent his most recent years designing and running technical classes for both Amazon and Microsoft. Today at Cloud Academy, he is working on building out an extensive Google Cloud training library.

When he isn’t working or tinkering in his home lab, Daniel enjoys BBQing, target shooting, and watching classic movies.

Covered Topics