Service Catalog

What is a Service Catalog?

A Service Catalog is a detailed list of the technical services (enterprise applications, task-specific tools, microservices, and so on) used by your organization both internally and externally. A robust Service Catalog enables you to refer to one location for data about services, including integration information, terms of use, and provisioning. Your Service Catalog may include services built internally by your team, services from external organizations that are integrated with your system, and hybrid services with different components bundled together. Cataloging—and tracking changes to—all of the services within your system can become a complex and time-consuming project as your organization grows. Even the best Service Catalogs need to be carefully maintained and updated.

FireHydrant’s Service Catalog provides a streamlined way to describe and update all of your services. Our Service Catalog configuration options, including the ability to ingest services and service metadata from third party systems, make it easy to set up a detailed record of all your services and to refresh data about each service automatically.

A major benefit of maintaining your Service Catalog in FireHydrant is that it enables you to track which services are affected by a specific incident. With this information, you can customize how you respond to incidents based on the services impacted.

Currently, FireHydrant's Service Catalog performs three main functions:

You can access the Service Catalog page from the left nav panel, under Infrastructure.

access_service_catalog.png

Service ingestion

The first step in building your Service Catalog is to bring service information into FireHydrant. You can add new services manually, or link and import services from third party systems.

To add a service:

  1. From the Services page, click Create service to add a service manually and add the details for the service.
  2. To link services stored externally (for example, to read services from a Github repo or from PagerDuty), click Link and import. Choose the external source that contains the service(s) you want to import. For example, if you choose Github, the services available for import from Github appear in the list shown.create_service_or_link_and_import.png
  3. (For importing) Choose the external source that contains the service(s) you want to import. For example, if you choose Github, the services available for import from Github appear in the list shown.
  4. Select the checkbox next to the service you want to import and click Start import.
    start_import.png
    The service is imported into your Service Catalog.
Note: If you import a service that is managed by a different catalog, you cannot currently edit that service in FireHydrant; you can only edit it in its source location.

Beta Catalog ingestion

Ingesting a third party system allows your Service Catalog config files to live within FireHydrant. Utilizing Backstage YAML formatting via Github, FireHydrant provides more advanced automation enrichment towards services and related incidents, as well as better discoverability.

To begin ingesting and maintaining this data, we require the following in Github (via Backstage formatting):

  • Main repo of the catalog
  • Path of the catalog file in the repository
  • Main branch name

The ingested YAML file translates to a managed service within FireHydrant’s Service Catalog. 
For example, this ingested YAML:
ingested_yaml.png
Becomes this managed service page:searcher_service.png
In addition to ingesting Backstage formatting, FireHydrant also supports Effx and OpsLevel.

Updating ingested third-party data

To maintain data freshness, we scrape your third party system data every hour and update our Service Catalog to reflect the most recent changes and versioning.

Note: Contact our Customer Success team to configure this option or to ask any additional questions.

Manually creating and editing services

You can manually create a new service within the Services section of FireHydrant.

  1. Click + Create Service in the top right corner of the UI.
    createservice.png
  2. Next, fill out the relevant information for your service in fields provided. Information in these sections can help to drive better Runbook automation toward services.
    aboutlabel.png
  3. (Optional) You can add custom links within this service that will appear in the discoverability portion of a service.
    addlinks.png

To automatically link a source at a later time, you can access this functionality by navigating to the main view of the catalog and clicking Link and Import.

Service discovery

Having fast access to information about any given service is vital during an incident. Our Slack integration makes it easy to get quick access to service data. To search for a service that already exists on FireHydrant, run the command:

/fh service 

This provides a pull-down menu where you can select the service you want.fh_service.png
You can run:

/fh service <service_name>

to immediately pull up the existing data about that service.

For example, if you have Datadog integrated with FireHydrant, running:

/fh service datadog

provides a quick overview of your Datadog service and a link to your Datadog page on FireHydrant.
fh_service_datadog.png

Automating alerts and using analytics

You need to pull the right people into an incident when a service is impacted. With Service Catalog, you can automatically create an alert on a third party system when a service is added to an incident.

Within the Services section click the service where you want to turn on automatic alerting.

For example: On the detail page for the service pictured, you can confirm within the Links section that PagerDuty is linked.

image15.png

 

From this view, click Edit details in the top right corner.

image1.png

In the edit view of the service, scroll down to the Alerting section.

image10.png

After selecting the checkbox, finish the setup by clicking Save edits to confirm that this change will be made.

To test automatic paging, start by clicking Declare Incident. After the Incident page loads, add the service you would like to test and declare the incident.

Your alerting system will now automatically page you via your default escalation policy in addition to the FireHydrant Incident Timeline, reflecting that an alert was generated via that service.

Screen_Shot_2021-07-12_at_9.05.48_PM.png

Setting and utilizing service tiers

Services in FireHydrant have available Tiers 1 - 5. After setting the tier for a service, you can run a Runbook automation based on tiers impacted during an incident while showing the criticality of that service. By utilizing Tiers and conditioning within Runbooks, services can be effectively and automatically added to incidents.

Screen_Shot_2021-07-12_at_9.09.36_PM.png

This helps strengthen the metrics you capture within the Analytics view as more services are measured within incidents. These expanded metrics give you more insight into what services are being impacted the most within your incidents.

Additionally, you can search incidents that have impacted the same services previously, read the relevant logs, and review analytics for the service that was impacted. This insight helps you determine who to contact when a new incident involving the same service is declared.

For example: if a user reports that a Login page is down, they may not know which backend services the page maps to, and may be unable to identify the correct owners for the underlying impacted service. By mapping the Login functionality to the backend service (OAuth2, for example) in FireHydrant, you can quickly identify who to contact for troubleshooting during the incident.

Was this article helpful?
0 out of 0 found this helpful

Articles in this section