Skip to main content

Recommendations in Harness CCM

info

After you enable CCM, it may take up to 48 hours for the recommendations to appear in Cloud Costs. It depends on the time at which CCM receives the utilization data for the service.

What are Recommendations?

Harness CCM Recommendations are data-driven insights that help you optimize your cloud resources for cost efficiency without compromising performance. By analyzing historical usage patterns, resource configurations, and cloud provider pricing models, CCM identifies opportunities to right-size resources, eliminate waste, and implement best practices.

Benefits of Using CCM Recommendations

  • Reduce Azure VM Costs: Identify underutilized virtual machines and receive rightsizing or termination suggestions to significantly reduce Azure spending.

  • Optimize AWS EC2 Instances: Detect idle or oversized EC2 instances and get actionable guidance to select optimal instance types or eliminate unnecessary resources.

  • Clean Up Container Registry: Identify and remove unused container images in Amazon ECR, reducing storage costs and improving registry management.

  • Enhance Cost Governance: Implement best practices for tagging, business unit allocation, and spending patterns across AWS, GCP, and Azure to maintain financial control.

  • Improve Kubernetes Node Efficiency: Balance cost and performance with optimized node pool configurations for your Kubernetes clusters, tailored to each cloud provider's specific requirements.

  • Right-Size Kubernetes Workloads: Analyze CPU and memory utilization patterns to properly configure resource requests and limits, preventing waste while ensuring application performance.

Recommendations Homepage

  • Recommendation Type: CCM has six types of recommendations: AZURE_INSTANCE, EC2_INSTANCE, GOVERNANCE, NODE_POOL and WORKLOAD. See details about all the types of recommendations here.

  • Cloud Provider:

  • + Add Filter

    • Generic Filters: Cloud Account ID, Cloud Account Name, Resource ID, Resource Name, Region, Cost Category, Cluster Labels, Cloud Tags, Potential Spend(USD), Savings (USD), Governance Rule Name
    • AWS-Specific Filters: Instance Type
    • Azure-Specific Filters: VM Size, Resource Group
    • Container-Specific Filters: Kubernetes Cluster Name, Kubernetes Namespace, ECS Cluster Name, ECS Launch Type
  • Open Recommendations: List of recommendations that are not applied yet. All the types of recommendations are listed here. You can view:

    • Potential Monthly Savings that can be achieved with the recommendation
    • Potential Monthly Spend without applying recommendations.
    • Table with columns:
      • Resource Name
      • Potential Monthly Savings
      • Potential Monthly Spend
      • Recommended Action
      • Jira Ticket Status
  • Applied Recommendations: When you click on an individual recommendation, you'll be able to view a detailed breakdown of the recommendation, including relevant insights, suggested actions, and any supporting information. See how to apply recommendations here.

The Applied Recommendations tab provides comprehensive visibility into your cost optimization efforts with the following key components:

  • Savings Realized: Displays the total financial impact of all implemented recommendations, helping you quantify the ROI of your cost optimization efforts.

  • Recommendations vs. Savings Chart: A visual trend analysis showing the correlation between applied recommendations and actual cost savings over time. The saving from applied recommendations is shown against the number of recommendations applied.

  • Breakdown of Marked as Applied: Shows the distribution of applied recommendations by number of recommendations and associated savings to identify which optimization strategies are most frequently implemented.

  • Details Table: Provides a comprehensive view of each applied recommendation with the following information:

    • Resource name
    • Potential Monthly Savings
    • Recommended Action
    • Associated ticket
    • Applied by which user and when

Recommendations per Cloud Provider

Apply Recommendations

Applying recommendations is easy! You just need to:

  1. Review Recommendations - Analyze the suggested optimizations in the Recommendations dashboard
  2. Tune Parameters - Adjust recommendation settings to see how different configurations affect potential cost savings. See Recommendations per Cloud Provider for a deeper drilldown into a particular type of recommendation to understand the action required, cost calculations and tuning.
  3. Implement Changes and Track using Jira/ServiceNow - Apply the optimizations manually in your cloud environment. Create and manage Jira or ServiceNow tickets to monitor implementation progress
  4. Update Status - Mark recommendations as applied in the CCM platform once implemented. Once applied, recommendations show up in the Applied tab.

Managing Recommendations via Jira/ServiceNow Tickets

Prerequisites

  1. Create a Jira or ServiceNow connector:

  2. Configure ticketing tool settings:

    • Navigate to Cloud Costs > Setup > Default Settings > Cloud Cost Management.
    • Under Ticketing preferences, select the Ticketing tool and the Ticketing tool connector. The default ticketing tool is Jira. You can choose ServiceNow if that's the tool used in your organization. Switching your ticketing tool between Jira and ServiceNow results in the removal of the existing recommendation tickets.

Go to the Recommendations page and create tickets to apply recommendations.

  1. Select Create a ticket. In case you haven't set up your ticketing tool settings on the account level, you will see a prompt guiding you to access the Default Settings page to configure both the ticketing tool and the associated connector.

  2. Enter the following ticket details:

  • Jira project — Select the Jira project where you want to create a ticket. Go to Create Jira Issues in CD Stages.
  • Issue type — Select a Jira issue type from the list of types in the Jira project you selected. Go to Create Jira Issues in CD Stages.
  • Ticket summary — Add a summary of the issue.
  • Description — Add a description for the issue.

FAQs

What filtering options are available for recommendations across different cloud providers?

Harness provides filtering support for recommendations based on cloud account identifiers and Kubernetes attributes. This allows for better cost optimization insights while maintaining alignment with perspective-based RBAC settings.

  • AWS EC2: Filtering is supported on AWS Account ID. Nested Cost Categories are not supported.

  • AWS ECS: Filtering is supported on AWS Account ID. Nested Cost Categories are not supported.

  • Azure VM: Filtering is not supported.

  • Kubernetes: Filtering is supported on Labels and Cluster Name. Nested Cost Categories are not supported.

  • Governance Recommendations:

    • AWS: No filtering support.
    • Azure: No filtering support.
    • GCP: No filtering support.

Filtering support for recommendations extends to RBAC configurations based on perspective folder access settings, ensuring that cost-saving suggestions are appropriately scoped to the right teams.

Why aren't memory metrics displayed when using Datadog integration?

If you ingest memory metrics using Datadog integration, EC2 recommendations do consider these metrics in their calculations; however, the memory utilization data is not displayed on the EC2 Recommendation page.

This occurs because:

  • The CPU and memory metrics data we retrieve is typically sourced from CloudWatch
  • In this case, the metrics originate from an external source (Datadog)
  • These Datadog metrics are directly integrated with AWS Compute Optimizer and are utilized in generating the recommendations
  • According to AWS Compute Optimizer API documentation, they do not offer support for retrieving these external utilization metrics

As a result, while the recommendations are accurately calculated using both CPU and memory data, the memory metrics themselves will not be visible in the recommendation interface.

Read more: External metrics ingestion

Why should I evaluate recommendations before implementing them?

Before using recommendations in your environment, ensure that you evaluate their impact thoroughly. The person reviewing the recommendations should be able to understand the impacts identified in the recommendations, as well as the impact on the infrastructure and business.

Using recommendations without proper assessment could result in unexpected changes, such as:

  • Performance degradation for critical workloads
  • Reliability issues during peak usage periods
  • Incompatibility with specific application requirements
  • Business disruption if services become unavailable or slow