Today, all the aspects of a software product components including the dependent infrastructure reside in documents, tickets, multiple scripts, Infrastructure as Code (IaC), policies, and manual configurations. This increases the collaboration effort and makes it nearly impossible to ensure zero drift during the Software Development Lifecycle (SDLC) of the software product..

What is a Software Product Catalog?

A software product catalog is a set of requirement metadata that represents the components of a software product and the interactions between them. This catalog consists of various sections to specify the building blocks of your application.  

To elaborate, a catalog may consist of databases, caches, queues, cloud-native resources, scheduled jobs, one-time jobs, stateless and stateful applications. Each of these definitions can be agnostic of the exact cloud implementation and constructed using simple JSON schemas.

How is the Catalog used?

Software Catalog
The catalog can be manifested to any number of managed environments on any supported cloud providers like AWS, Azure, GCP, or Bare Metals by the Facets cloud runtime. The environments automatically receive battle-tested features such as Release Management, Compliance, Observability, and Cloud-centric best practice and cost-optimized operations.

What are the Advantages of a Software Product Catalog?

The advantages of this approach are:

  1. It unifies the knowledge silos and creates a single source of truth for everyone to refer
  2. Writing the catalog itself is very easy as it doesn't need any implementation details rather only your requirements.
  3. The catalog can be understood programmatically and automatically manifested as a complete environment to any cloud
  4. You can enable git-based workflows to maintain the sanctity of the catalog and  history of all versions
  5. You can extend the catalog to add entities specific to your organization.


How to mutate a Software Product Catalog?

Software Catalog
A Typical catalog modification workflow looks like the above diagram. Facets Cloud Runtime can detect and propagate the catalog modifications or changes in the integrated build systems to the environments.

  1. The advantages of this approach are:
  2. It unifies the knowledge silos and creates a single source of truth for everyone to refer
  3. Writing the catalog itself is very easy as it doesn't need any implementation details rather only your requirements.
  4. The catalog can be understood programmatically and automatically manifested as a complete environment to any cloud
  5. You can enable git-based workflows to maintain the sanctity of the catalog and  history of all versions
  6. You can extend the catalog to add entities specific to your organization.