Table of contents
1.
Introduction 📝 
2.
Service Catalog quickstart⚙️
3.
Creating a Service catalog 🎫
3.1.
🔖Prerequisites
3.2.
🔖To make a catalog
4.
Creating solutions 🖥️
4.1.
🔖Creating a link-based solution
4.2.
🔖Creating a Terraform configuration
4.3.
🔖Creating a Deployment Manager-based solution
4.4.
🔖Adding a solution from Cloud Marketplace
5.
Assigning solutions to a catalog 📇
5.1.
🔖Prerequisites
5.2.
🔖Assigning solutions to a catalog
6.
Sharing a catalog 🌐
6.1.
🔖Prerequisites
6.2.
🔖Sharing a catalog
6.3.
🔖Unsharing a catalog
7.
Managing solutions 🎛️
7.1.
🔖Update a solution
7.2.
🔖Edit solution details
7.3.
🔖Update a Terraform configuration
8.
Viewing and launching solutions 🎯
8.1.
🔖View Service Catalog solutions
8.2.
🔖Launch a link-based solution
8.3.
🔖Launch a Deployment Manager (DM)-based solution
9.
Frequently Asked Question❓
9.1.
What is a service catalog?
9.2.
What are the benefits of the Service Catalog?
9.3.
How to share your catalog in the Goole cloud project?
9.4.
What is the pricing of the service catalog in GCP?
9.5.
What are the features of the service catalog?
10.
Conclusion ✉️
Last Updated: Mar 27, 2024

Service Catalog

Author Alok Pandey
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction 📝 

Do you have heard about the service catalog? In this blog, we are going to discuss the service catalog. A service Catalog enables cloud admins to control distribution, ensure internal compliance, and increase discoverability for solutions within an enterprise. 

Service CatalogIt Checks and curates each product that is offered in your service catalog. Organize and control resource visibility and deployment privileges at the organizational, folder, and project levels. A service catalog that serves as a one-stop shop for pre-approved equipment makes finding answers simple. These are the reason to use the google service catalog. Now let's discuss this in detail. 

Service Catalog quickstart⚙️

Service Catalog is free, and we need your billing information if your business has to pay for designing or deploying a solution, such as when you use Cloud Build to deploy a Terraform solution.Developers and cloud administrators can make their solutions discoverable to their internal company users by using Service Catalog. Users can always launch the most recent versions thanks to cloud administrators' ability to control their solutions.Now let’s see how we can create a service catalog.

Creating a Service catalog 🎫

A catalog is where you curate solutions that users of the Service Catalog can view and deploy.

🔖Prerequisites

  • Your Google Cloud organization has to have Service Catalog enabled.
     
  • Google Cloud project in which Service Catalog is enabled, you need the Catalog Admin (roles/cloudprivatecatalogproducer.admin) role. You can contact your Organization Administrator to request access if you don't already have this role.

🔖To make a catalog

  1. Go to the Service Catalog Admin page in the console.
     
  2. Navigate to the Service Catalog Admin page.
     
  3. On the Catalogs page, click on the CREATE CATALOG button.
     
  4. Enter a name and description for the catalog.
     
  5. Select Create.
     
  6. The catalog is now visible in the Catalogs table.

Creating solutions 🖥️

🔖Creating a link-based solution

You have the option to build a link-based solution, which is a reference link to a solution that users in your company download and run when you create Service Catalog solutions for them. After developing the solution, you can make it available to users by adding it to catalogs. You can refer to the official docs of the link-based solution for more information.

🔖Creating a Terraform configuration

You can produce a Terraform configuration, or config, that your users deploy using Terraform while curating Service Catalog solutions for your company. You can make the configuration available to users by adding it to catalogs after you've created it.You can refer to the official docs of Creating a Terraform configuration for more information.

🔖Creating a Deployment Manager-based solution

A Deployment Manager (DM) solution is a Service Catalog solution that users in your business can launch using a Deployment Manager template. After developing a solution, you may distribute it to your consumers by cataloging it.You can refer to the official docs of Creating a Deployment Manager-based solution for more information.

🔖Adding a solution from Cloud Marketplace

You can approve and distribute a carefully chosen list of Google Cloud solutions to users inside your company by adding solutions to the Service Catalog. You can add the solution you created from the Google Cloud Marketplace to a catalog so that your users can view it and utilize it.You can refer to the official docs of Adding a solution from Cloud Marketplace for more information.

Assigning solutions to a catalog 📇

How to assign Service Catalog solutions to a catalog is covered in this section. You may manage who can browse and launch authorized solutions in your business by curating solutions into catalogs.

🔖Prerequisites

  • For your Google Cloud organization, the Service Catalog must be enabled.
     
  • For the Google Cloud project, when Service Catalog is enabled, you must hold the roles of Catalog Manager OR Catalog Admin (roles/cloudprivatecatalogproducer.manager). If you don't have either role, make a request for access from your organization administrator.
     
  • For your solutions, make a catalog.

🔖Assigning solutions to a catalog

  1. Navigate to the console's Service Catalog Admin Solutions page.
     
  2. Visit the Solutions section.
     
  3. To select the Google Cloud project, click Select.
     
  4. Locate the solution in the list for each one you wish to assign, then select Assign to Catalogs.
     
  5. Check the catalog's box in the Assigned Catalogs window.
     
  6. Select SAVE.

The catalog now features the solution. Users with access to the resource can now see and launch the solution if you've already shared the catalog with it.

Sharing a catalog 🌐

A catalog must be shared with a Google Cloud resource, such as a project, folder, or organization after solutions have been assigned to it. The solutions in the catalog can then be seen and used by users who have access to the resource. Users can only view solutions from catalogs that have been shared with them when they browse the Service Catalog.

🔖Prerequisites

  • Google Cloud project in which Service Catalog is enabled, as well as the folder, project, or organization where you're sharing the catalog, you need to have the Catalog Admin (roles/cloudprivatecatalogproducer.admin) OR Catalog Manager (roles/cloudprivatecatalogproducer.manager) role. If you don't have either role, make a request for access from your organization administrator.
     
  • Give the users who will utilize the shared catalog the following Identity and Access Management (IAM) roles:
    • IAM Viewer (roles/viewer) OR Catalog Consumer for the appropriate project, organization, or folder IAM Viewer is the role that most users utilize to access the Service Catalog.
       
    • The Deployment Manager Editor (roles/deploymentmanager.editor) role for the project where your users install the solution if your catalog contains DM-based solutions.

🔖Sharing a catalog

A resource that your users may access should be where you distribute the catalog. Only shared catalogs to a Google Cloud organization, folder, or project that they have access to are visible to end users.

Users are requested to enable the Service Catalog API when launching a solution if you're sharing a catalog with a new project. They are also prompted to enable the Cloud Deployment Manager API when initiating a DM-based solution for a new project.

To share a catalog:

  1. Navigate to the Service Catalog Admin page in the console.
     
  2. Head over to the Service Catalog Admin page.
     
  3. To select the Google Cloud project, click Select.
     
  4. Click the Catalogs link.
     
  5. Click the catalog name in the list of catalogs.
     
  6. Click SHARE on the Catalog Details page.

    Sharing a catalog
  7. To share the catalog with a certain folder, group, or project, click Select after making your selection.

🔖Unsharing a catalog

Users who have access to a catalog cannot browse or use its solutions once they unshare it. Existing deployments made by your users are unaffected by catalog unsharing.

To unshare a catalog:
 

  1. Go to the SHARING tab on the Catalog Details page.
     
  2. To stop sharing the catalog with any project, folder, or organization, click UNSHARE in the Shared with a table for that item.
     
  3. Select CONFIRM.
     

The resource no longer has access to your catalog.

Managing solutions 🎛️

You can read about updating and deleting solutions in the Service Catalog in this section.

For information on removing a solution from a catalog, see Removing Access to a Solution.

🔖Update a solution

When you change a solution in Service Catalog, the changes are immediately reflected in all assigned catalogs. Users who access a solution after it has been updated can only deploy the most recent version; updating a solution does not affect already made deployments.

If you make changes to the configuration for Terraform solutions, users will see the new version on their Deployments page in the Google Cloud dashboard. Users can decide whether to update their deployment's most recent version.

You can visit Managing solutions for more details.

🔖Edit solution details

To edit and update a solution:
 

  1. Navigate to the console's Service Catalog Admin Solutions page.
     
  2. To select the Google Cloud project, click Select.
     
  3. To access the Solutions Details page, click the solution name in the list of solutions.
     
  4. Click EDIT in the menu up top.
     
  5. Update the solution as necessary.
     
  6. Choose UPDATE.
     

Now on the Solutions Details page, you will see the updated solution information.

🔖Update a Terraform configuration

Object Versioning in Cloud Storage is used by Terraform solutions to control configuration file updates. You have the following choices when updating a Terraform solution's configuration file:

  • Use an alternative Cloud Storage object with a fresh configuration file. Change the Cloud Storage object for a solution by editing the solution's details and adding the new object's URL to the Link to Terraform configuration. Users can deploy the most recent version right away after you change the solution specifications.

 

  • Update the current Cloud Storage object for the solution with the updated configuration. Visit Uploading objects for instructions on how to upload a new configuration file. You must examine and apply the modifications to the solution in Service Catalog after updating the Cloud Storage object of the solution.

Viewing and launching solutions 🎯

In this section, we will learn how to view and launch solutions from Service Catalog.

🔖View Service Catalog solutions

You may view all the solutions from all the catalogs you have access to in your Google Cloud hierarchy in Service Catalog.

Visit the console service catalog page to see the possible solutions. The primary panel displays solutions that have been shared with you.

🔖Launch a link-based solution

To launch a reference link-based solution:

  1. Visiting the console service catalog page
     
  2. Select a solution under TYPE, then select the Link filter.
     
  3. Click Go to link.
     

This connects you to a page where you can download a solution that is not within the Google domain.

🔖Launch a Deployment Manager (DM)-based solution

DM-based solution launch:

  1. Visiting the console Service Catalog page
     
  2. Select DM Template as your filter under TYPE, then choose an answer.
     
  3. Select Compute Engine > Launch.
     
  4. Enable the Service Catalog API and the Deployment Manager API if requested.
     
  5. Although enabling the APIs takes some time, you only need to do it once for each Google Cloud project (not per solution).
     
  6. Please fill out the deployment form.
     
  7. Click Deploy.
     

Similarly, we can Launch a Terraform configurationUpdate a Terraform deploymentand Deprovision a Terraform deployment for Viewing and launching solutions.

Frequently Asked Question❓

What is a service catalog?

Service Catalog gives cloud administrators and service managers the power to regulate internal products' discoverability, compliance, and governance.

What are the benefits of the Service Catalog?

All products in your service catalog should be checked for authenticity and curated at an organization, folder, and project level, control resource visibility, and deployment privileges.

How to share your catalog in the Goole cloud project?

For sharing the catalog, go to the Service Catalog Admin Catalogs page in the console, then select the catalog you want to share. After choosing the catalog, click on the share button at the top of the page.

What is the pricing of the service catalog in GCP?

It is free to use for all customers. It is one of the many enterprise-grade tools built-in into Google Cloud.

What are the features of the service catalog?

Service catalogs have many features such as Advanced search and filters, Consolidated view, Deployment guardrails, and Inventory control.

Conclusion ✉️

In this article, we have extensively discussed the Service Catalog.We also discussed how to create, manage and share the Service Catalog. If you would like to learn more, check out our articles on
 

Refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. 

Enroll in our courses and refer to the mock test and problems available.

Take a look at the interview experiences and interview bundle for placement preparations.

Conclusion Image

Do upvote our blog to help other ninjas grow. 

Happy Coding!

Live masterclass