Cost Optimization

Introduction

The cost optimization feature in CoreStack has the ability to run systems in such a way to deliver business value at the lowest price point.

More specifically, cost optimization allows you to:

  • Implement Cloud Financial Management: Build capability through knowledge building, programs, resources, and processes to become a cost-efficient organization.

  • Adopt a consumption model: Pay only for the computing resources that you need and increase or decrease usage based on business requirements.

  • Measure overall efficiency: Measure the business output of a workload and the costs associated with delivering it.

  • Stop spending money on undifferentiated heavy lifting: AWS does the heavy lifting of data center operations like racking, stacking, and powering servers. It also removes the operational burden of managing operating systems and applications with managed services.

  • Analyze and attribute expenditure: Identify the usage and cost of systems. Measure return on investment (ROI) and allow workload owners to optimize their resources and reduce costs.

Optimization Types

You can improve your cloud costs and spending by using some of the following techniques to optimize cloud resource usage:

Optimization TypeDescription
Right SizingEvaluate the current selections of cloud instances against actual requirements based on their usage, and recommend the right selection of instances that could help to reduce the overall costs incurred.

Example: Let's assume that your current selection of a cloud instance is t3a.xlarge, and the usage of that instance shows that 2 CPU would be sufficient to run the operation. In this case, CoreStack would recommend using a t3a.large instance instead to help reduce the costs incurred.
Optimize ConfigurationRecommends changing the existing configuration without changing the hardware. This change would not involve any new costs or spending for the customer, but would instead focus on enhancing the performance of the system.

Example: Let's assume you have a cloud instance running on M3 large, and there is a new version of M4 large available through a version update. The system will give an recommendation to update the instance to M4 large.
Schedule RecommendationsThis feature will provide recommendations for performing start/stop operations on your VMs based on consistent patterns of no usage to help reduce the cost incurred. For more information, see Schedule Recommendations.

Example: Let's assume there's a VM which is not in use from 00:00 hrs. UTC to 05:00 hrs UTC, according to the usage report. The system will provide a recommendation that the VM be turned off during the times when it's not in use, which would likely reduce the cost of running that VM.
Manage IdleManaging idle instances entails CoreStack providing recommendations to stop or shutdown any cloud instances that are consistently not in use, according to the usage data, to help reduce the costs incurred.

Example: Assume that the CPU for one of your cloud instances has not been used more than X% over the last 30 days. The system will likely recommend to stop or shut down the instance.
Manage OrphanedAny cloud resources that are still attached to others when they should have been deleted after their use are referred to as Orphaned resources. Since these typically describe resources that are running without being tied to any specific operation, the system will generally recommend stopping or deleting these resources.

Example: Consider a cloud instance created with a volume attached as a secondary resource. Some time later, the cloud instance is deleted without also deleting the attached volume. In such a scenario, the volume which has not been deleted is considered “Orphaned”.

Recommendations User Interface

  1. Click Cost > Cost Optimizer > Optimize Usage.

The Optimize Usage window appears.

The Cost Optimizer dashboard is divided into five sections/tabs:

  1. Right Sizing
  2. Optimize Configuration
  3. Schedule Recommendations
  4. Manage Idle
  5. Manage Orphaned

Right Sizing

With a massive combination of instances offered by cloud platforms like AWS, Google Cloud Platform, and Microsoft Azure, it can be overwhelming sometimes when choosing which platform to use. Right sizing in this case helps to not only deflate cost, but also leads to optimization which yields better operational results.

Using right sizing tools is recommended as they are customized in such a way to analyze your cloud system and enable recommendations in applicable areas. They analyze patterns, instance performances, and also are able to switch off idle instances that are not a perfect match to their specific workload overheads.

Right Sizing has policies designed to find underutilized issues in customer infrastructure called violations.

  1. Click Right Sizing. The Impacted Resources and Recommendations appear.

CoreStack supports the following resources:

  • AWS Route 53
  • AWS NAT Gateway
  • AWS Dedicated Host
  • AWS EFS
  • Azure Cache for Redis
  • Azure SQL Database
  • Azure SQL Managed Instance
  • Azure Synapse Analytics
  • Azure Logic Apps

In the example provided below, the customer's CPU utilization is shown by analyzing the last 30 days of cloud account data.

The feature will recommend to move to lower configuration machine, which will save on costs. Here, the Azure cloud account has three Impacted Resources -- which is underutilized for this cloud account -- and one Recommendation.

Once our recommendation is applied, $112.97 is saved.

  1. In the Cloud Provider list, click to select the required cloud providers and then click Apply, and in the Currency list, click to select a currency.
    The Optimize Usage screen shows the cloud account type, account name, impacted resource count, potential savings, tenant name, and the action icon.
  2. Under the Actions column, click the eye icon corresponding to a cloud account and take the required action on a resource.

    For the selected cloud account, all the available resource details are displayed.
  3. To view recommendation details for a particular resource, under the Action column, click the eye icon.

The resource utilization, saving recommendations, and actions to be taken should appear. You can choose any of these recommendations.

📘

Note:

To filter and view specific details for a particular resource type, in the Resource Type list, the user can select a particular resource type and then click Apply.

FieldDescription
Resource IdThe identifier number that Project assigns to each resource.
Resource NameThis is the name of the resource.
Resource TypeVirtual machines (VM).
Potential Savings (Monthly)Measure monthly cloud savings.
RegionThe data center's geographic location.
Current Resource SKUThe current cloud instance's unique code.
Recommended Resource SKUThe recommended cloud instance's unique code.
Impact LevelThe sensitivity of the information to be stored.
Optimization TypeThe optimal configuration action.
Optimization StatusThe optimal configuration status.
Recommendation Created OnDate when the recommendation was created.
Recommendation SourceThe source of the recommendation.
Average CPU (%)Average CPU utilization.
Maximum CPU (%)Maximum CPU utilization.
Average Memory (%)Average memory utilization.
Maximum Memory (%)Maximum memory utilization.
Average Network In (bytes)Average network input in bytes.
Maximum Network In (bytes)Maximum network input in bytes.
Average Network Out (bytes)Average network output in bytes.
Maximum Network Out (bytes)Maximum network output in bytes.

📘

Note:

The column fields and its data will change based on the resource type. The above column fields are applicable for VMs across all cloud providers.

  1. Click Utilization Metrics. The CPU utilization appears.
  2. Select Statistic type.
  3. Select Time Period type.

The Green lines represents the Recommended Utilization, and the Blue line represents the current CPU Utilization. Utilization will typically go up after applying any recommendations and any costs are officially saved.

  1. Click Saving Details. As we can see, the Recommended Resource SKU cost is lower than the Current Resource SKU cost.

  2. Click Resource Details. The SKU details appear. There are four VCPU in the Current Resource SKU, and two in the Recommended Resource SKU. The SKU is therefore reduced.

  3. Select a recommendation and Click Actions.

  4. Click Remediate Now.

  5. You will get a confirmation message once this recommendation is successfully executed. Enter an Email Address as the recipient and write a Message to be included in the notification.


    Once the action is implemented, it moves the current resources to the recommended resources.

  6. Click Schedule, to schedule the recommendation. Enter the details.


    The notification is then sent to the recipient.

  7. Click Submit for Approval. This will then send the notification email to move the virtual machine(s).

  8. Click Reject, to reject the recommendation.

You can exclude a resource from future recommendation by rejecting the recommendation. This rejected recommendation can be tracked under the Activity Logs section. You can also re-activate a rejected recommendation.

Recommendation Source

Cloud native: This option allows you to ignore any future recommendations for this resource originating only from cloud-native sources.

System: This option allows you to ignore any future recommendation for this resource origination only from cloud-native sources or CoreStack.

You can provide a reason for rejecting the recommendation by selecting from a list of options or you can provide reason in the other reason section.

Click Apply to reject a recommendation . Once a recommendation is rejected, a pop up message appears: Recommendation rejected.

You can find the rejected recommendations in the activity log.

Click Compare. The recommendations comparison will appear.

You can compare the recommendations and make any decisions accordingly, based on your needs.

Optimize Configuration

The Optimize Configuration tab includes custom rules which can be executed to help reduce costs.

  1. Click Optimize Configuration. The rules will execute and the cost will subsequently be calculated. The policies will run and the recommendations will appear.

For example: as shown below, there are two Recommendations and three Impacted Resources.

  1. Click Action. The cloud account details will appear.

In the below example, the two recommendations are:

  • For Resource Type RDS, the cost saving is $73.54 and the Optimization Type is Config. It takes any actions based on rules to save cost.
  • For Resource Type Lambda, the cost saving is $26.43 and the Optimization Type is Config.

Schedule Recommendations

The Schedule Recommendations tab is used to provide recommendations for resources to start or stop operations on VMs. This is based on consistent patterns of no usage to help reduce the cost incurred.

Perform the following to view recommendation details for resources:

  1. Click Cost > Cost Optimizer > Optimize Usage.

  2. Click the Schedule Recommendations tab.

  1. In the Cloud Provider list, click to select the required cloud providers and then click Apply, and in the Currency list, click to select a currency.
    The Optimize Usage screen shows the cloud account type, account name, impacted resource count, potential savings, tenant name, and the action icon.

  2. For a particular cloud account, under the Actions column, click the eye icon.

All the related resource details are shown.

  1. To take action on a particular resource, click the corresponding eye icon.

The Recommendation Details screen displays details about open recommendation, utilization metrics, utilization definition, etc. The Open Recommendations section shows resource ID, resource name, resource type, day, from, to, recommendation summary, potential savings (monthly), schedule finding, schedule status, and statistical method.

The following four tabs are shown below the Open Recommendations section:

  • Overview
  • Utilization Metrics
  • Utilization Definition
  • Actions

The Overview tab shows Resource Utilization Levels, Resource Utilization Summary, and Resource Details.

The Utilization Metrics tab shows the utilization trend for the resource. Specifically, it shows the Network Out, Percentage CPU, etc.

The Utilization Definition tab shows the definitions of utilization metrics along with the limits or values.

The Actions tab allows the user to take an action on the recommendation. Users can remediate, postpone, or reject a recommendation.

Users can perform the following steps to take an action for a recommendation.

In the Actions tab, click to select one of the following options:

  • Remediate Now: When a user selects this option, a message about remediation is sent to the user between a particular time and on a particular day. The user must fill the following details to take this action:
    1. In the From Time and To Time boxes, click the up or down arrows to set the from time and to time between which message will be sent to the user about resource remediation.
    2. In the Weekly day list, click to select the day when the message will be sent.
    3. In the Email Address box, type an email address for the desired user.
    4. In the Message text box, type a message for the desired user.
    5. Click Apply.
  • Postpone: Select this option to postpone the time at which recommendations will be given for a resource. Perform the following steps to postpone recommendations for a resource:
    1. Click to select either the Snooze by or Postpone by option.
    2. In the box at the right of the above options, type the appropriate values (hours or days).
    3. In the Email Address box, type an email address for the desired user.
    4. In the Message text box, type a message for the user.
  • Reject: Select this option to reject a recommendation. Perform the following steps to reject a recommendation:
    1. Click to select your preferred reason for rejecting a recommendation.
    2. Click Apply.

Manage Idle

Cloud resources shown here can be in an Idle or Orphaned state.

  1. Click Manage Idle. This sections shows resources that are idle and/or not being used.

In the below example, this account has one Recommendation and one Impacted Resource.

If this account is not being used, then it can be deleted.

There are no other recommendations for any idle cases.

  1. Click Actions.

  2. Click Remediate Now, and the resource will be removed. The cost savings are $6.72. Utilization Metrics should not be provided.

  1. Click Saving Details, and the Current Resource SKU will appear.

Manage Orphaned

  1. Click Manage Orphaned.

This section runs policies to find any orphaned resources. For example, an IP address onboarded and not attached to any resource can be considered an orphaned resource. It can be deleted, which will thereby optimize the cost.

In the below example, there is one recommendation and two impacted resources.

📘

Note:

  • Click the Edit column icon and select the required columns that will be displayed on the screen.
  • Click the Download icon to download the details listed on the screen in CSV format.
  • In the Search by Resource Id or Name box, type the resource ID or resource name to search for a particular resource and press the Enter key or click the search icon.

Optimize Rate

  1. Click Optimize Rate.

  1. Click Long Term Savings. The reservations will appear.

The long term savings are primarily based on existing contracts with cloud providers like AWS, Azure, and GCP. For instance, a three or four year-long contract will help save on costs.

The configuration plan and potential savings will also appear.

  1. Click License Benefits. The Azure data will appear, along with licensing benefits that can help you to significantly reduce the cost of running your workloads in the cloud.

Activity Log

In Cost > Cost Optimizer > Activity Logs you can view events generated by the system or by users. You can filter by various cloud providers, currency and period (current week or 30/60/90 days).

You can track activities with respect to a user or the system.

Users can use any of the following filters to view required details on the Activity Log screen:

  • In the Cloud Provider list, click to select the required cloud provider and then click Apply.
  • In the Currency list, click to select the required currency.
  • In the Period list, click to select the days for which the user needs to view the details on the Activity Log screen.
  • In the Action Type list, click to select the type of action. For example, Reactivated, Rejected, etc.
  • In the Activity By list, click to select one option among All, User, and System and then click Apply. If a user has performed an activity, then the details for that user can be seen on the Activity Log screen.
  • In the Type list, click to select the optimization type and then click Apply.

The Activity Log screen shows the cloud provider type, time stamp, username, resource type, resource ID, action type, event name, and cost savings til date. Users can click the eye icon to view the necessary recommendation details, resource details, and other related details.

📘

Note:

  • Click the Edit column icon and select the required columns that will be displayed on the screen.
  • Click Download icon to download the details listed on the screen in CSV format.
  • In the Search by Resource Id or Name box, type the resource ID or resource name to search for a particular resource and press the Enter key or click the search icon.

Activate a Rejected Recommendation

You can also activate a rejected recommendation from the Activity Logs.

  1. In Cost > Cost Optimizer > Activity Logs, under the Action column, click the eye icon for a resource with Action Type as Rejected.

The rejected recommendation details appear.

  1. Click Re-Activate to again activate the recommendation.
  2. Select a reason type. You can select "Rejected by mistake" or "Other Reason".

  1. In the Message box, type a reason.
  2. Click Save & Apply. The recommendation is moved back into the cost optimization listing and this event is captured in the Activity Logs screen with the Action Type as Reactivated.

ServiceNow Support

In Cost Optimizer > Top Recommendations > Actions > Submit for approval, you can create change request in ServiceNow account when recommendation is submitted for approval. Once approved, automatic trigger will initiate the remediation action.

Azure Hybrid Benefit

Azure Hybrid Benefit is a cost-savings benefit that lets you bring your existing on-premises Windows Server and SQL Server licenses with active Software Assurance or subscriptions to Azure.

📘

Note:

This feature is applicable only if the customer has purchased Windows Server and SQL Server Licenses.

License Eligibility

SQL Server and Windows Server licenses with active Software Assurance or qualifying subscription licenses. These include:

  • Windows Server Datacenter edition with Software Assurance.
  • Windows Server Standard edition with Software Assurance.
  • SQL Server Enterprise Edition core licenses with Software Assurance or qualifying subscription licenses.
  • SQL Server Standard Edition core licenses with Software Assurance or qualifying subscription licenses.

Process of applying Azure Hybrid Benefit

For pay-as-you-go or bring-your-own-license images from Azure Marketplace:

  • In the Azure Portal, check the boxes for Azure Hybrid Benefit for Windows Server and Azure Hybrid Benefit for SQL Server either during provisioning or for an existing virtual machine.
  • Use the resource provider to activate Azure Hybrid Benefit for SQL Server. Then apply Azure Hybrid Benefit for Windows Server using the PowerShell instructions.

For self-installation:

  • Use the resource provider to activate Azure Hybrid Benefit for SQL Server. Then apply Azure Hybrid Benefit for Windows Server using the PowerShell instructions. You can activate the benefit in the Azure portal by affirming that you have sufficient active licenses with Software Assurance or qualifying subscription licenses.

How do I know if I have Software Assurance?
To manage Software Assurance benefits, you must either be the administrator or have permission to perform the SA Manager role.

  • Sign into the Volume Licensing Service Centre.
  • Choose Software or click View Software Assurance Benefits in the Entitlements section of the VLSC home page to display the Software Assurance Summary page.
    If you don't have Software Assurance, it is available for purchase with new licenses at list prices or with qualifying subscription licenses.

For more information, please refer to this helpful article: What is Microsoft Software Assurance and how do I access it?

Settings for Azure Hybrid Benefits

By default, Azure Hybrid Benefits (AHB) is disabled for all Azure accounts. Users need to configure Azure Hybrid Benefits in the CoreStack application in order to view cost benefits through AHB. If Azure Hybrid Benefits is turned on, the cost savings show up in the FinOps Assessment Report and in the CoreStack user interface.

📘

Note:

The AHB listed in the CoreStack application are passed through from Azure recommendations and are not generated by CoreStack.

When Azure Hybrid Benefits is disabled in the CoreStack application, then it won’t be used for any type of cost calculations and it won’t show up in any reports. If Azure Hybrid Benefits is enabled, it will be used for cost calculations and will show up in reports as well as the CoreStack user interface.

Configuring Azure Hybrid Benefits

Perform the following steps to configure Azure Hybrid Benefits:

  1. Navigate to Governance > Account Governance.

  2. In the Cloud Account Summary section, hover the cursor over AZURE, and click the number next to Subscriptions.

  3. Select an Azure account for which Azure Hybrid Benefits needs to be enabled and in the ACTIONS column, click VIEW > View Settings. The Cloud Account Details screen displays.

  1. Click Governance Configuration > COST > Cost Recommendations.
    The Azure Hybrid Benefits field is disabled by default.
  1. To turn on Azure Hybrid Benefits, click to move the slider to right.

  2. In the confirmation dialog box, click OK.

This turns on Azure Hybrid Benefits for the selected Azure account.

📘

Note:

After Azure Hybrid Benefits is enabled or disabled, it takes up to 24 hours for the details related to it to be shown in reports.

If users need to turn off Azure Hybrid Benefits, they need to click again to move the slider to left.

Viewing Azure Hybrid Benefits

Perform the following steps to view Azure Hybrid Benefits for accounts that have AHB enabled:

  1. Sign in to the CoreStack application.

  2. Navigate to Cost > Cost Optimizer > Optimize Rate.

  1. Click License Benefits.
  1. In the Cloud Provider list, click to select Azure and in the Currency list, click to select a currency type for which you'd like to view Azure Hybrid Benefits.

All the Azure accounts that have Azure Hybrid Benefits enabled are displayed.

📘

Note:

  • Use the Search box to find any account related information.
  • Click the Download data as CSV icon to download a copy of account details that is shown on the screen.
  • Click the Edit column icon to select columns and rearrange columns so you can view them on the screen as per convenience.
  • The License Benefits tab also shows the Potential Savings (Monthly) and Impacted Resource Count. Potential Savings (Monthly) is the total saving potential of all the accounts displayed in the License Benefits tab for a particular month and Impacted Resource Count is the total count of resources that is shown on the License Benefits tab.

Viewing Azure Hybrid Benefits in Reports

If an Azure account has Azure Hybrid Benefits configuration enabled, then the cost details about AHB can be viewed in the FinOps Assessment Report.

Refer to the sample report shown below that shows Azure Hybrid Benefits and the cost savings associated with it. Since the user in this example had enabled the configuration for Azure Hybrid Benefits, the FinOps Assessment Report includes Azure Hybrid Benefits along with the cost savings details.

If Azure Hybrid Benefits is not configured for an Azure account, then the FinOps Assessment Report will not show any Azure Hybrid Benefits. If Azure Hybrid Benefits is configured for an account and there are no Azure Hybrid Benefits available for that account, then AHB will not show up in the report.