# Standardize and automate Production Readiness

To configure your Cortex workspace for Production Readiness, we recommend the following actions:

* **Connect Data**: [Ingest data and ensure ownership](#step-1-ingest-data-and-solve-ownership) is assigned to your entities
* **Standardize**: [Configure a Scorecard](#step-2-configure-a-scorecard-for-production-readiness) to enforce and measure Production Readiness
* **Streamline**: [Set up data verification](#step-3-configure-data-verification) in Cortex to ensure your data is up to date and [automate production standards via Workflows](#step-4-automate-processes-via-workflows)
* **Improve**: [Review Eng Intelligence metrics and take action](#step-5-review-and-act-on-eng-intelligenc) when issues are surfaced

## Use Cortex features to meet Production Readiness standards

Expand the tiles below to learn about configuring Cortex features to meet Production Readiness standards.

<details>

<summary>Step 1: Ingest data and solve ownership <span data-gb-custom-inline data-tag="emoji" data-code="1f50c">🔌</span></summary>

{% hint style="success" %}
**Action Items:**

* [**Import your data**](/ingesting-data-into-cortex/overview.md)
* [**Ensure ownership is set**](/ingesting-data-into-cortex/entities-overview/entities/ownership.md)
* [**Configure integrations**](/ingesting-data-into-cortex/integrations.md)
  {% endhint %}

Before getting started on any use case, it is crucial to import your services, resources, infrastructure, and other entities, and to have clear visibility into the ownership of your entities.&#x20;

Connecting your entities to Cortex establishes a single source of truth across your engineering organization. It enables the ability to track progress via Scorecards, automate Workflows, and gain insights from Eng Intelligence.&#x20;

<figure><img src="/files/wvK3FxFDwsBH1WbesLgy" alt=""><figcaption></figcaption></figure>

Setting ownership of entities ensures that every service and system is clearly linked to accountable teams or individuals, enabling faster incident response, reducing handoff friction, and making it possible to enforce standards consistently.&#x20;

The more data you have available, the more actionable and insightful your Scorecards can be.&#x20;

#### Relevant integrations

To focus on Production Readiness, Cortex recommends integrating with tools that provide visibility and control over code, deployments, monitoring, on-call, and documentation. Make sure you have configured integrations for the following categories:

* **Version control**: [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md), [Bitbucket](/ingesting-data-into-cortex/integrations/bitbucket.md), [GitHub](/ingesting-data-into-cortex/integrations/github.md), [GitLab](/ingesting-data-into-cortex/integrations/gitlab.md)
  * Enforce best practices like peer reviews, CI/CD pipelines, and versioning
* **On-call**: [PagerDuty](/ingesting-data-into-cortex/integrations/pagerduty.md), [Opsgenie](/ingesting-data-into-cortex/integrations/opsgenie.md), [Splunk On-Call](/ingesting-data-into-cortex/integrations/splunk-oncall.md) (formerly VictorOps), [xMatters](/ingesting-data-into-cortex/integrations/xmatters.md)
  * Track on-call responsibilities to confirm that support teams are always assigned
* **Project management**: [GitHub](/ingesting-data-into-cortex/integrations/github.md), [Jira](/ingesting-data-into-cortex/integrations/jira.md), [Azure DevOps](/ingesting-data-into-cortex/integrations/azuredevops.md), [ClickUp](/ingesting-data-into-cortex/integrations/clickup.md)
  * Track incidents, bugs, and compliance issues
* **Code quality and security**: [Checkmarx](/ingesting-data-into-cortex/integrations/checkmarx.md), [Codecov](/ingesting-data-into-cortex/integrations/codecov.md), [Mend](/ingesting-data-into-cortex/integrations/mend.md), [Snyk](/ingesting-data-into-cortex/integrations/snyk.md), [SonarQube](/ingesting-data-into-cortex/integrations/sonarqube.md), [Veracode](/ingesting-data-into-cortex/integrations/veracode.md), [Wiz](/ingesting-data-into-cortex/integrations/wiz.md)
  * Enforce code coverage, vulnerability scanning, and other quality measures

Cortex also recommends [linking to runbooks and documentation](/ingesting-data-into-cortex/entities-overview/entities/external-docs.md) for your entities, ensuring your users have access to critical information.

With your data in Cortex, you have a jumping-off point to start driving production readiness.

</details>

<details>

<summary>Step 2: Configure a Scorecard for Production Readiness <span data-gb-custom-inline data-tag="emoji" data-code="1f4cb">📋</span></summary>

{% hint style="success" %}
**Action Item:** [**Create a Scorecard**](/standardize/scorecards/create.md) **for Production Readiness**
{% endhint %}

Scorecards automate the process of checking whether services meet criteria such as ownership, on-call coverage, runbooks, monitoring, and security requirements.&#x20;

Cortex's Production Readiness template includes a set of predefined rules which can be customized based on your organization's requirements, infrastructure, and goals. It is structured into three levels — Bronze, Silver, and Gold — with each representing increasing levels of production readiness.&#x20;

#### Step 2.1: Create the Scorecard and configure the basics

1. On the [**Scorecards** page](https://app.getcortexapp.com/admin/scorecards) in your workspace, click **Create Scorecard**.
2. On the `Production Readiness` template, click **Use**.&#x20;

<figure><img src="/files/cwfa0PVo6lxSl0XVG80X" alt="Click &#x22;Create Scorecard&#x22; then click &#x22;Use&#x22; on the &#x22;Production Readiness&#x22; template."><figcaption></figcaption></figure>

3. Configure basic settings, including the Scorecard's name, unique identifier, description, and more.
   1. Learn about configuring the basic settings in the [Creating a Scorecard documentation](/standardize/scorecards/create.md).

#### Step 2.2: Review and modify the rules

While Cortex's template is based on common industry standards, you may need to adjust the rules based on which tools you use and how your organization prioritizes standards and requirements. You can reorder, delete, and edit rules, you can add more rules to a level, and you can assign more points to a rule to signify its importance.

The Scorecard template contains rules that enforce industry best practices, such as:

* Enforce ownership, linked docs, and linked Slack channels to enable quick action during incidents.&#x20;
* Enforce having monitors documented to have visibility into service health, performance, and reliability.&#x20;
* Enforce CI/CD pipelines set, merge approval required, high code coverage, and last commit within 1 week, helping reduce the likelihood of bugs being shipped into your code.
* Enforce SLOs met and 2 tiers in on-call escalation policy, ensuring reliability, stability, and reduced downtime in case of an incident.

When adding or changing the template rules, you can select from a list of available pre-built rules. Behind each rule is a [Cortex Query Language (CQL) ](/standardize/cql.md)query; you can also write your own queries to further refine your rules.&#x20;

</details>

<details>

<summary>Step 3: Configure data verification <span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></summary>

{% hint style="success" %}
**Action item:** [**Set up data verification**](/configure/settings/entity-settings/verification.md)
{% endhint %}

Data verification is critical for ensuring the accuracy, consistency, and completeness of data before it is used in a production system. Accurate data enables faster incident response, operational excellence, and the success of data-driven decision-making.

* [Follow the Data Verification documentation](/configure/settings/entity-settings/verification.md) to define verification periods for your entities.&#x20;
  * You can select entity types that this verification process will apply to, or you can define a CQL expression to specify which entities the process will apply to.
  * You can choose who is responsible for verifying the entities. If you do not specify, then any owner of an entity can complete the verification.

</details>

<details>

<summary>Step 4: Automate processes via Workflows <span data-gb-custom-inline data-tag="emoji" data-code="2699">⚙️</span></summary>

{% hint style="success" %}
**Action item:** [**Configure Workflows**](/streamline/workflows.md)
{% endhint %}

You can use Workflows to streamline and standardize Production Readiness processes by turning best practices and readiness checks into repeatable, self-service automations.

#### Workflows to establish adherence to best practices

* You can add manual approval steps in a Workflow to require sign-off from specific team members before a service is considered production-ready, ensuring accountability and providing an audit trail.
  * See the documentation on [configuring a Manual approval block](/streamline/workflows/blocks.md#manual-approval).
* When Scaffolding new services, you can use templates to ensure that every new service starts with baseline standards (e.g., on-call information, runbooks, SLOs configured, and more).&#x20;
  * See the documentation on [registering a Scaffolder template](/streamline/workflows/scaffolder.md) and [configuring a Scaffolder block](/streamline/workflows/blocks.md#scaffolder).

#### Workflows based on Production Readiness Scorecards

In a Workflow, you can use an HTTP request to get an individual entity's score or the latest scores for all entities on your Production Readiness Scorecard, then configure additional blocks to take actions based on the score.

For example, you could create a Workflow that blocks deployment based on Scorecard scores, ensuring that a deployment is blocked if the entity has not met your standards for Production Readiness.&#x20;

* See an example of this Workflow in the template "Deploy to prod based on Scorecard score" in your Cortex workspace:<br>

  <div align="left"><figure><img src="/files/7pO2cbvzFQyrckBXN73t" alt="See the &#x22;Deploy to prod based on Scorecard score&#x22; template in Cortex."><figcaption></figcaption></figure></div>

  * When the Workflow runs, it checks whether the entity has achieved the "Gold" level standard in the Scorecard. If it has, the deployment continues. If it has not, the Workflow automatically sends a Slack message to notify the entity owner.&#x20;

**Obtain Scorecard scores within a Workflow to use in subsequent actions**

See the example below demonstrating how to obtain an entity's Scorecard score in an HTTP block within a Workflow:

1. Add an HTTP request block to your Workflow.
2. Enter a name and unique slug for the block, then configure the remaining fields:
   1. **HTTP method**: `GET`
   2. **URL**: Enter the Cortex API URL for obtaining the scores, e.g., `https://api.getcortexapp.com/api/v1/scorecards/<unique-scorecard-tag>/scores?entityTag={{context.entity.tag}}`.&#x20;
   3. **Headers**: Add the following headers:
      * Content-Type: application/json
      * Authorization: Bearer `{{context.secrets.cortex_api_key}}`
3. Save the block.

You can [reference the output of this block in subsequent blocks](/streamline/workflows/blocks/states.md), allowing you to streamline the followup actions you take based on an entity's level of Production Readiness.

</details>

<details>

<summary>Step 5: Review and act on Eng Intelligence <span data-gb-custom-inline data-tag="emoji" data-code="1f4c8">📈</span></summary>

{% hint style="success" %}
**Action Item:** [**Review Eng Intelligence metrics**](/improve/eng-intelligence.md)
{% endhint %}

Use Eng Intelligence features — the [DORA dashboard](/improve/eng-intelligence/dashboards/dora-dashboard.md), [Velocity Dashboard](/improve/eng-intelligence/dashboards/velocity-dashboard.md), and [Metrics Explorer](/improve/eng-intelligence/metrics-explorer.md)  —  to surface and track key engineering metrics related to Production Readiness.

<figure><img src="/files/hKWjA2IrZMv4MweKoNpz" alt="Review trends in Eng Intelligence graphs and metrics." width="563"><figcaption></figcaption></figure>

Review trends in areas such as deployment frequency, incident response, and other indicators that are important to your organization. This helps you identify areas where teams or services are not meeting readiness standards.

</details>

## Production Readiness in action

Learn about what ongoing Production Readiness looks like in [Production Readiness in action](/solutions/production-readiness/in-action.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cortex.io/solutions/production-readiness/configure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
