March 28, 2023 By Spencer Mehm 10 min read

Microsoft Azure is a cloud computing platform that offers a wide range of tools and services to help organizations build modern applications that can drive digital business success. Azure provides a scalable and reliable platform that can be used to develop, deploy and manage a variety of applications and services, from web and mobile apps to data analytics and AI-powered solutions. However, due to its complexity, achieving operational excellence in the cloud is difficult. Fundamentally, as a cloud operator, you need to ensure great end-user experiences while staying within budget.

In this post, we’ll give you a quick overview of the various methods to optimize Azure cloud costs. However, regardless of what cloud cost management strategy you use, achieving operational excellence at scale and taking advantage of the elasticity of the cloud requires software that optimizes your consumption simultaneously for performance and cost—and makes it easy for you to automate it, safely and continuously. Let’s see how IBM® Turbonomic® software helps clients optimize their Azure cloud costs.

Rightsize instances

The Microsoft Azure operating expense (OpEx) model charges clients for the capacity available for different resources regardless of whether they’re fully utilized or not. Clients can purchase instances in different sizes and types but often default to buying the largest instance available to ensure performance. Rightsizing resources is the process of matching instance types and sizes to workload performance and capacity requirements. To optimize costs, rightsizing resources must be done on a continuous basis, however, organizations often rightsize reactively like, for example, after executing a “lift and shift” cloud migration or development.

Azure customers can use Azure Advisors rightsizing recommendations to rightsize their Azure virtual machines (VMs). These recommendations are generated based on historical CPU utilization to make sure the instance is correctly sized. Let’s see how IBM Turbonomic software helps clients rightsize Azure VMs through percentile-based scaling. The diagrams represent the IBM Turbonomic UI. Diagram A shows the application stack. The supply chain on the left represents the resource relationships that the Turbonomic software maps out from the business application down to the cloud region and can include other components, such as container pods, storage volumes, VMs and more—depending on the infrastructure that supports the application. This full-stack understanding is what makes Turbonomic recommendations trustworthy and gives cloud engineers and operations the confidence to automate. For this particular Azure account, the Turbonomic software has identified 197 pending scaling actions.

Diagram A

After selecting SHOW ALL clients are brought to the Turbonomic Action Center, which can be found in Diagram B. This diagram represents all the scaling actions available for this Azure account. From viewing this dashboard, clients can see important information, including the account name, instance type, discount coverage and on-demand cost. Clients can select different actions and execute them by clicking EXECUTE ACTIONS in the top-right corner.

Diagram B

For clients looking for more details on a particular action, they can select DETAILS where the Turbonomic software provides additional information that it considers in its recommendations. As shown in Diagram C, this instance needs to be scaled down because it has underutilized IO throughput, IOPS, vCPU and VMem. Other information for this action includes the cost impact of executing the action, the resulting CPU and memory utilization, uptime and net throughput.

Diagram C

Scale instances

Public cloud environments are dynamic, and to meet budget and performance goals, Azure clients must scale their instances both vertically—rightsizing—and horizontally. To scale horizontally, Azure users must monitor application load balances and then scale out instances as the load increases from increased demand. Distributing the load across multiple instances through horizontal scaling increases performance and reliability, but instances must be scaled back as demand changes to avoid incurring unnecessary costs.

For horizontal scaling, Azure users can use the Azure Monitor autoscaling capabilities. Azure Monitor can scale workloads based on metrics, such as CPU use, queue length and available memory. Users can also scale based on a schedule. Users must configure the metrics considered and schedules in the rules.

The only way to optimize horizontal scaling is to do it in real-time through automation. IBM Turbonomic software continuously generates scaling actions so applications can always perform at the lowest cost. Diagram D represents an Azure account that needs to be scaled out.

Diagram D

The horizontal scaling action for this Azure account can be executed in the Action Center under the Provision Actions subcategory found in Diagram E. Here you can find information on the actions and the corresponding workload, such as the container cluster, the namespace and the risk posed to the workload, which in this case is transaction congestion.

Diagram E

In Diagram F, you can see how the Turbonomic software provides the rationale behind taking the action, in this case a container pod needs to scale back its vCPU and Vmem to improve performance. Our software also specifies all the container pod details, including the name, workload controller, namespace and container cluster.

Diagram F

Suspend instances

Another impactful way to reduce Azure spend is to shut down idle instances. An organization may suspend instances if it’s not currently using the instance, such as during nonbusiness hours, but expects to resume use in the near term. When deleting an instance, the instance will be shut down and any data stored on the attached Azure storage volume is also deleted. However, when suspending an instance, users don’t delete the underlying data contained in the attached Azure storage volume. Suspending an instance only stops the VM’s compute resources, which include the CPU, RAM and temporary disk. When you resume the suspended instance, the attached Azure storage volume will still contain the same data that was there before the instance was suspended. The data will be available to the instance as it was before it was suspended, so there will be no data loss or configuration changes.

Microsoft Azure clients can manually suspend Azure VMs through the Azure Portal or schedule suspension through the Azure Resource Manager.

IBM Turbonomic software automatically identifies and provides recommendations for suspending instances. To suspend a VM with the Turbonomic software, clients will need to first select an Azure account with a pending suspension action as shown in Diagram G.

Diagram G

To execute a suspension action, Turbonomic clients simply need to go to the Action Center, select the corresponding action and execute it. See Diagram H.

Diagram H

If clients need additional details before executing, they can select the DETAILS shown in Diagram I. The details provided for this action include the reasoning behind the action, in this case to improve infrastructure efficiency, as well as the cost impact, age of the instance, the virtual CPU and memory, and the number of clients for this instance.

Diagram I

Use discounting

Clients can also use discounted pricing through optimizing Azure Reservations coverage and utilization to reduce costs. On Azure, the discount only applies to compute and not the other metrics used to measure usage for Azure VMs. When purchasing Reservations, users need to determine the VM size to buy. Clients can use recommendations provided from the Azure Portal and Azure Advisor to determine the size.

The IBM Turbonomic analytics engine automatically ingests and displays negotiated rates with public cloud providers and then generates specific reserved instance purchasing and scaling actions so clients can take full advantage of existing reserved instance (RI) inventory and maximize reservation-to-instance coverage. Diagram J represents an Azure account that has pending actions to increase RI utilization and coverage.

Diagram I

Diagram K represents the “Buy” actions that can be executed in the Action Center to increase RI coverage. Some important details listed in the Action Center here are the platform the RI will be purchased on, the term of the RI, the payment type and the region. Diagram L provides more details for this action, such as the cost impact and resulting RI coverage. All this information can again be found in the corresponding DETAILS tab.

Diagram K
Diagram L

For longer-term commitments, the Turbonomic solution provides reserved instance planning scenarios for added customization. On the Turbonomic platform, users simply select PLAN on the dashboard on the left and then select NEW PLAN. After selecting NEW PLAN, clients can then select the reservation planning option shown in Diagram M.

Diagram M

First, clients need to indicate the scope of the reservation purchasing plan. We’re going to select Azure for this plan. Turbonomic users can also scope by custom groups, accounts, billing families and regions as shown in Diagram N.

Diagram N

After indicating the scope of the reservation plan, clients can then configure the plan to the preferred offering class, term and payment type shown in Diagram O. Clients can also customize the historical usage period they want the Turbonomic platform to analyze, as well as whether to use data from deleted VMs.

Diagram O

After running the plan, the Turbonomic software will provide a dashboard as found in Diagram P. In this plan, clients can see the current cloud cost comparison versus after executing the plan. This comparison covers RI coverage, RI utilization, on-demand compute cost and reserved compute cost. The Turbonomic solution also provides insight on VM mapping and discount inventory.

Diagram P

Finally, the Turbonomic software summarizes all the actions that will be executed as part of your VM reservation plan. These actions are summarized under the PLAN ACTIONS and are shown in Diagram Q.

Diagram Q

Delete unattached resources

Finally, we’ll review deleting unattached resources. As organizations build and deploy new releases into their environment, resources are left unattached. Unattached resources are when clients create a resource but stops using it entirely. After development, hundreds of different resource types can be left unattached. Deleting unattached resources can significantly reduce wasted cloud expenditure. Diagram R shows an Azure account that has 99 pending delete actions to remove unattached resources. Similar to suspending idle instances, Azure Resource Manager also allows clients to delete resource groups. Just as with suspension, Azure Resource Manager will send an alarm to users to delete an instance based on utilization thresholds.

Diagram R

The delete actions for this account are listed in the Action Center in Diagram S. The information listed in the Delete category of the Action Center includes the size of the Amazon Elastic Block Store (Amazon EBS) volume, the storage tier, the amount of time it has been unattached and the cost impact of removing it.

Diagram S

For additional insight on the impact of these delete actions, again, clients can select the DETAILS tab and find more information as shown in Diagram T. The purpose of this action is to increase savings. Clients can also see additional information, such as the volume details, whether the action is disruptive, the resource and cost impact.

Diagram T

Azure App Service optimization

Azure App Service is a fully managed platform as a service (PaaS) that allows Azure users to quickly deploy and run enterprise-ready web and mobile applications for any platform or device on a scalable and reliable cloud infrastructure. Azure App Service users pay for the compute resources they provision based on the App Service plan pricing tier they select. Microsoft Azure users can use Azure Advisor and Azure Autoscale to manage their app service plan count and scale based on CPU and memory usage.

The IBM Turbonomic platform provides continuous optimization that helps you safely automate to help Azure users get the most out of their PaaS investments. The IBM Turbonomic solution provides dynamic vertical scaling—so Azure App Service plans are never overprovisioned—while also automatically eliminating unused service plans. Diagram U shows the Action Center for Azure App Service scaling actions. In the Action Center, you can see the resulting instance type, vMEM capacity and on-demand price from taking the action.

Diagram U

Diagram V shows the details for an Azure App Service scaling action. Here you can find the reasoning for the action, which in this case is due to underutilized storage amount, vCPU and vMEM.

Diagram V

Diagram W depicts delete actions for unused Azure App Service plans. The important information you can find in this subsection of the Action Center is the instance type, the number of days the plan has been empty and the corresponding cost impact of deleting it.

Diagram W

Diagram X represents the action details for an Azure App Service plan delete action where you can see the App Service Plan details and the cost impact of taking the action.

Diagram X

Trustworthy automation is the best way to maximize business value on Microsoft Azure

For cloud engineering and operations teams looking to achieve budget goals without negatively impacting customer experience, the IBM Turbonomic platform offers a tested path that you can trust. The Turbonomic solution can analyze your Azure environment and continuously match real-time application demand to the unprecedented number of Azure configuration options across Azure compute, storage, SQL databases and existing savings inventory. Are you looking to reduce spend across your Azure environment as soon as possible? IBM Turbonomic automation can be operationalized, allowing teams to see tangible results immediately and continuously, while achieving 247% ROI over three years.

Want to explore IBM Turbonomic cloud optimization at your leisure? Try IBM Turbonomic software in our live sandbox environment.

Want to learn more about how the IBM Turbonomic platform supports your own specific use case?

Book a live demo

Read the Forrester Consulting commissioned study to see what outcomes our clients have achieved with the IBM Turbonomic solution.

Was this article helpful?
YesNo

More from IBM Turbonomic

Application performance optimization: Elevate performance and reduce costs

4 min read - Application performance is not just a simple concern for most organizations; it’s a critical factor in their business's success. Driving optimal application performance while minimizing costs has become paramount as organizations strive for positive user experiences. These experiences can make or break a business, that’s why prioritizing high performance among applications is non-negotiable. What’s needed is a solution that not only safeguards the performance of your mission-critical applications, but also goes above and beyond through reduced cost, time efficiency and…

Operationalize automation for faster, more efficient incident resolution at a lower cost

3 min read - IT is under enormous pressure. The expectation is 24/7/365 performance while also delivering increasingly better customer experiences at the lowest possible cost. The reality is that it’s difficult to keep apps performing as designed, especially in modern, cloud-native environments with microservices and Kubernetes. Cloud costs are out of control, and teams spend too much time fixing instead of innovating. And it all happens at a rate that makes it impossible for humans to keep up. It’s time for IT to…

AWS EC2 instance types: Challenges and best practices for hosting your applications in AWS

7 min read - When it comes to hosting applications on Amazon Web Services (AWS), one of the most important decisions you will need to make is which Amazon Elastic Compute Cloud (EC2) instance type to choose. EC2 instances are virtual machines that allow you to run your applications on AWS. They come in various sizes and configurations—known as instance families—each designed for a specific purpose. Choosing the right instance offering and instance size for your application is critical for optimizing performance and reducing…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters