Introduction to Service Catalog Management in FireHydrant
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.
Within FireHydrant, your Service Catalog is divided into four main categories:
- Change events
By detailing different services, functionalities, environments, and change events, you create a way to track your digital properties. When these properties are well-catalogued, you can quickly figure out where an incident is occurring.
Note: You can also access your service catalog programmatically using FireHydrant's API.
Environments are a generic way to break up your application. Some users may do this by region (for example, "US East 1"), others may use development stage (for example, "Production"), etc. It's flexible and completely dependent on your needs.
To create and manage environments:
- In the left-hand panel of FireHydrant, click Integrations > Environments and click +Create environment. (Or go to https://app.firehydrant.io/environments.)
- From here, add an environment by filling out the service Name (required)_ _and Description (optional).
Note: By default, FireHydrant pre-defines stage-based environments (production, staging, and development).
A Functionality is best thought of as a business function or application capability. Functionalities are typically composed of one or more Services that service the function (for example, the "UI" Functionality might consist of "CDN" and "Web Server" Services).
Because Functionalities can be associated with their underlying Services, this allows you to do things like:
- Declare an incident on a generic capability and pull in all relevant stakeholders to investigate
- Track metrics on how often certain functionalities are breaking in your application, which can impact perceived reliability
To create and manage functionalities:
- In the left-hand panel of FireHydrant, click Integrations > Functionalities > + Create functionality.
- Add a functionality by filling out the functionality Name (required)_ _and Description (optional).
- Link any services within your system that you may have included with the given functionality.
A service is a technical function within your system. Typically, one or more services will compose a Functionality and directly contribute to its function. It could be a microservice, a mono-repository, or a library that you maintain. You can add services manually or ingest them into your service catalog.
To manually add services:
- In the left-hand panel of FireHydrant, click Integrations > Services , and click +Create service. (Or go to https://app.firehydrant.io/services.)
- From here, add a service by filling out the service Name (required)_ _and Description (optional).
- Add Labels (key-value pairs) to support filtering.
As an alternative to adding services manually, you can populate your service catalog by ingesting multiple services and their associated details. To get started, click Service catalo g > Services. Then click Catalog Settings. For details on the rest of the process, read our article about service ingestion.