Blog March 14, 2019

Health Check | How to Tell that Your Azure Environment is in Good Shape

Choosing Microsoft Azure for your cloud infrastructure has numerous advantages. In fact, despite the fact that other cloud providers are growing quickly as well, Microsoft’s own offering has some unique advantages and benefits that can take your infrastructure from middle-of-the-road to competitive-advantage. Why? Because Azure is fine-tuned out of the box for Windows applications and services, meaning that the migration path to Azure is a lot smoother (and optimized) than it is when considering other clouds.

However, many organizations just like yours are making the move, but then find themselves with quite a few questions especially when it comes to some basic how-tos, such as ensuring that the infrastructure is set up as efficiently as possible. Of course, some general best-practices, tools, tips, and tricks exist that you can use to help in this endeavor.  Our team is here to help get you started down the right path.

First — Maximize the Potential

In order to take advantage of many of the high-level features and leverage the full potential of Azure, you should definitely consider installing PowerShell. This is completely free to download; just grab the PowerShell cmdlets at the Microsoft website and then install the desired components. PowerShell is also updated every month so you can be sure that the publisher is keeping the software secure and functioning properly over time.

Deallocate Unused Resources

Cut your costs by ensuring that you stop/deallocate the VMs (Virtual Machine) that aren’t currently in use. However, in order to be sure that you aren’t incurring charges for VMs that you aren’t using, you should use the Shutdown button in the web management portal as opposed to the Stop-AzureVM cmdlet. Why? Because if the VM using the operating system is simply shut down, it doesn’t deallocate the VM in the Azure fabric.

Forgetting to turn off resources, unattached disks, aged snapshots, unused resources, and disassociated IP addresses, as well as the unsuccessful launch of assets and failures in your de-provisioning script may all affect your infrastructure. To address these issues, you should delete storage when it is unattached for two weeks or more, set an organization-wide standard for the number of snapshots per machine and their retention periods, and address VMs that have had a maximum CPU usage of less than 5 percent for the prior 30 days.  It’s startling how many organizations do not properly audit their actual Azure usage on a regular basis, leading to wasteful spending and infrastructure that isn’t running properly.

Quickly Connect to Windows & Linux VMs

Using the “Virtual Machine” blade in the Azure Portal, you can quickly connect to an existing Windows Virtual Machine. At the top of the page, click the “Connect” button and download the Remote Desktop Protocol (.rdp) file. After clicking on that file, the application will open and Windows will give you a firewall rule that you’ll need to allow.  Then, simply enter your username and password and log into your new Virtual Machine.

For Linux VMs, click the “Connect” button on the “Virtual Machine” blade in the Azure Portal and copy the command.  Then paste the command into BASH or anywhere that supports SSH and you will then be prompted your username and password to log into your new Virtual Machine.

Load Test In Advance of New Initiatives

Determine whether your web apps can handle increased traffic during peak times and test their performance with Load Testing. Log into your Azure account, go to the desired App Service, and under the “Development Tools” blade, select “Performance Test.”

Select “New” and then under “Configure Test” you can select “Manual Test” or “Visual Studio Web Test.” With Visual Studio Web Test, you can select multiple URLs and even use a HTTP Archive file, but in general, it is best just to leave the testing option as “Manual Test.” Select a name and location, and ensure that you leave the defaults as “250 users for 5 minutes” and let the test run.

Eliminate Waste

When deploying workloads in Azure, it’s fairly common to oversize or over-provision specific workloads.  However, before you start rightsizing you should ensure that you understand how your machines are actually performing. For your SQL databases, you should be looking at DTUs (Database Transaction Units) and storage in order to gain important insight. For your VMs, you should be examining CPU, memory, the disk, and the network. For example, if you have a compute optimized VM that’s only using 10% or 20% of the available CPU capacity, you can change that machine type to something that has less CPU capacity, or possibly terminate the workload altogether.

Additionally, you should look at your CPU and memory utilization, selecting the size that brings your workloads into the 40-80% CPU range. You can also target your SQL PaaS databases to operate between 40-80% average DTU utilization. As mentioned earlier, don’t overlook the savings that turning off unused servers can amass, especially if you take advantage of trimming back on nights and weekends.

Archive the Activity Log

The Azure Activity Log provides insight into subscription-level events that have occurred and includes a range of data, from updates on Service Health events to Azure Resource Manager operational data. If you wish to retain this data for longer than 90 days for audit, static analysis, or backup, you may want to Archive it.

Open the portal and search for the “Activity Log” service and click on the “Export” button. Select a Subscription and Region and then check the box next to “Export to an Azure Storage Account.” Next, use the slider in order to select a number of days for the Activity Log events to be stored. Select zero to save it indefinitely. Once you’ve made your selection, click “Save.”.

Some More Basic Tips that Can Lead To Great Azure Health

For optimal disk performance, taking a few basic steps can help ensure that your Azure environment is running as efficiently as possible.

For storage configuration, some of the most important points to remember are:

  • Set the storage space interleave at least as large as the I/Os of your workload (256 kB for data warehousing workloads and 64kB for OLTP workloads).
  • Use the maximum size of data disks (1TB).
  • Format the partition with a 64kB cluster size.
  • In the storage space, set the number of columns to match the number of attached disks in Azure.
  • Use the maximum number of data disks that can be attached to this VM.
  • Utilize simple storage spaces configuration.
  • On the storage account, disable Azure geo-replication.
  • If performance for workload isn’t high enough using standard storage, change to premium storage.

For MS SQL Server configuration, some of the most important points to remember are:

  • You should avoid using the operating system or temporary disks for database storage or logging.
  • To get increased I/O throughput, stripe multiple Azure data disks.
  • Avoid utilizing the Azure data disk caching options (caching policy = none).
  • Place the log and data files on separate disks or in separate storage pools.

When You Need More Than Tips

Though Microsoft Azure is a flexible cloud platform, it can be quite complex and ensuring that your Azure environment is running efficiently and maintaining that status over time can be more than a full-time job. Optimizing and learning the tools, staying abreast of changes and updates, utilizing industry best-practices, and attempting to train yourself and your staff on the mentioned topics not only eats up a lot of time and money, but it can also be extraordinarily confusing.  In many cases that investment of time, energy, and capital can come at a great cost relative to using that those resources in other ways.

That’s why you need a partner like our expert team at Connectria. Our engineers are here to help simplify Azure for you, offering the only comprehensive suite of managed services in the market today. The most important piece of the puzzle is to make sure Azure works for you – and we’re here to make that happen.

Our team of experts can help plan, design, build, and deploy resources customized for your individual needs. Our 24/7 comprehensive security monitoring and infrastructure management ensure that your applications and data are protected and always running at an optimal level. We also utilize tools to continuously meet compliance standards such as HIPAA and PCI and our monitoring and support ensure that your Azure environment is always up and running exactly as it should.

For more information on how we can help with your Azure environment or other platform needs, contact us and a Connectria Solutions Architect will be in touch.

Related Resources

 
TRiA Helps Codify Cloud Governance
In my last post, I talked about the difference between cloud management and cloud governance. In a nutshell, cloud governance defines the structure within which…
 
Which Cloud Management Model Should You Adopt?
While cloud adoption has soared in the past few years—96% of companies use the cloud in one way or another, and 80% of enterprises have…
 
Elastic Compute v. Reserved Instances
If you’re looking at spinning up resources in an AWS or Azure cloud, you’ve probably come across two important terms: Elastic Compute and Reserved Instances.…