ParkMyCloud now supports all three major cloud providers for resource RightSizing with the latest release of automated Azure Rightsizing!
How to Use ParkMyCloud’s Azure RightSizing to Automatically Optimize Costs
RightSizing is the process of matching a workload to the best supporting virtual machine to optimize costs. Why does it matter? Many virtual machines in the cloud are sized much larger than necessary for the workloads running on them. A recent analysis of the resources managed in the ParkMyCloud platform showed that the Average CPU across resources was merely 4.9%. Additionally, more than 95% of the resources sampled were operating at less than 50% average CPU. This means that they are provisioned for far more CPU than they actually need.
VM sizing and type selection has a drastic effect on cost –– one size down within the same VM family can reduce the cost by 50%, andwith changes between families or across more than one size, savings can be even greater. In the example shown here, ParkMyCloud has three RightSizing options, which could save the user 40-68% of the cost.
ParkMyCloud recommends VMs eligible for RightSizing; can take automated action to RightSize VMs, and can change VM families and modernize types.
Other New Features in ParkMyCloud
We’re constantly updating and improving the ParkMyCloud platform to bring you the best user experience and the most savings on your cloud environment. Here are some of the latest notable feature and support additions:
First, you’ll need to be an active ParkMyCloud customer or trial user. To set up an account, start a free trial and connect to your Azure account. You will have full access to the Enterprise Tier level features for 14 days.
Then, for customer and trial users alike, please contact us to enable the RightSizing beta, which supports Azure RightSizing as well as AWS and Google Cloud. In a few weeks, RightSizing will be made generally available for users on the new Pro tier as well as the Enterprise tier. Take advantage of this time to check it out!
In today’s entry in our exploration of container services, we’ll look at Azure Kubernetes Service (AKS). Azure AKS manages your hosted Kubernetes environment, making it simple to deploy and manage containerized applications without container orchestration expertise, divesting much of that responsibility to Azure – much like EKS and GKE do for AWS and Google Cloud. Critical tasks like health monitoring of ongoing operations and maintenance by provisioning, upgrading, and scaling resources on demand are handled by Azure.
Azure AKS Overview
Azure AKS is, as of this writing, just over a year old, released for general availability in June 2018. With AKS, you can deploy, scale, and manage Docker containers and applications. Azure AKS gives developers greater flexibility, automation and reduced management overhead for administrators and developers. This is because it’s a managed service, which takes some of the management burden off the user.
As applications grow to span multiple containers deployed across multiple servers, operating them becomes more complex. To manage this complexity, Azure AKS provides an open source API to deploy, scale and manage Docker containers and container-based applications across a cluster of container hosts.
Use cases for AKS include:
Easily migrating existing applications to Kubernetes
Simplifying the deployment and management of microservices based applications
Easily integrated DevSecOps
IoT device deployment and management on demand
Machine Learning model training with AKS
If AKS is free, what do you pay for?
Yes, Azure AKS is a free service since there is no charge for managing Kubernetes clusters. However, you pay for the VM instances, storage and networking resources consumed by your Kubernetes cluster. These should be managed like any other cloud resources, with attention paid to potential areas of waste.
AKS vs. ACS
Microsoft’s experience with cluster orchestration began with Azure Container Service back in 2017, which supported Kubernetes, Docker Swarm and Mesosphere’s DC/OS. It was the simplest most open and flexible way to run container applications in the cloud then, and now followed by Azure Kubernetes Services (AKS), which was made generally available in 2018.
ACS users who run on Kubernetes can possibly migrate to AKS, but migration should be planned and reviewed for it to be successful as there are many key areas in which they are different. If considering migration, check out Azure’s guide to migrating from ACS to AKS here.
Should you use Azure AKS?
Chances are, you’re locked into a cloud provider – or have a preferred cloud provider – already, so you’re likely to use the container management service offered on your provider of choice. If you’re on Azure, AKS will be the natural choice as you increase use of microservices and app portability with containers.
We recently chatted with Ben V., Network & Communications Specialist at a global company, about how his team uses ParkMyCloud for Azure cloud management.
Hi Ben, thanks for chatting with us. So tell me about what you and your team do within the company.
I’m a Network & Communications specialist on a team of four. We manage the infrastructure that end developers throughout the company use. For us, that’s Microsoft Azure.
So what made you realize there was an Azure cloud management need in your organization?
When I started working here, I saw that the Azure environment was running 24×7, including development resources. Specifically, we’re using Microsoft Dynamics which comes with a hefty parameter that uses a lot of resources.
When I saw the high bill, at first I actually looked to see what Azure offers. Azure does offer a piece of it. You can log in and shut down the servers. You can set schedules to shut down machines, but they often wouldn’t turn back on, you have to manually turn them back on. And not all our developers have permissions to go into Azure to turn on and off the servers.
So, I started looking for a solution to solve this problem. A friend of mine who I have worked with over the years told me about ParkMyCloud, so I looked into it and started a trial. I looked around at other solutions, and to me, this one just stood out as the best solution to the problem.
What was your initial experience using ParkMyCloud like?
Once I got it set up, we saved more than $6,000 the first month alone just by being able to turn off all of the servers that were constantly running during weekends and at night on weekdays when a lot of the developers weren’t even touching it or using it.
And then we gave developers access to override schedules during the weekend in case they needed to work. That was even better because when they had to ask permission it would cut into my time as well.
How much are you saving using ParkMyCloud?
We have been using ParkMyCloud for over a year now, and we’ve saved about $75,000. The great thing is, it’s a very reasonable cost for us for a huge amount of savings.
What other benefits have you gained while using the product?
We hit the jackpot due to the fact that it gave us the ability to set schedules and the ability to assign different developers to teams so they can log in and can override a schedule for 12 hours or whatever they need it for. Now we’re not having to constantly log into the Azure environment and deal with it that way. It saves my time.
It makes it easier to deal with the developers to save costs. We have some third-party developers, and it’s nice to be able to separate their permissions and give them access to as few servers as possible. We have a global employee base, so we set schedules based on developers’ locations. Most of our staff schedules for resources to run only Monday to Friday, 7 am to 7 pm on average, and off nights and weekends.
Through ParkMyCloud’s utilization data and recommendations, we also found environments running that hadn’t been accessed in weeks, so we turned those off right away.
Are you using anything else for Azure cloud management?
No, we haven’t found the need for any tools in addition to ParkMyCloud.
Do you have any other feedback for us?
The product is great! Anyone I know that is using Azure, I always tell them about the product. It’s such a great way to save money and for the overall cost – you can’t beat it.
Your team has also been very easy to work with and customer service has always been great. I’ve done different types of IT through the years and I can tell you, customer service can go a long ways, so that’s a big plus.
Among the many ways to purchase and consume Azure resources are Azure low priority VMs. These virtual machines are compute instances allocated from spare capacity, offered at a highly discounted rate compared to “on demand” VMs. This means they can be a great option for cost savings – for the right workloads. And we love cost savings! Here’s what you need to know about this purchasing option.
How Azure Low Priority VMs Work
The great part about these virtual machines is the price: it’s quite attractive with a fixed discount of 60-80% compared to on-demand. The “low priority” part means that these VMs can be “evicted” for higher priority jobs, which makes them suitable for fault-tolerant applications such as batch processing, rendering, testing, some dev/test workloads, containerized applications, etc.
Low priority VMs are available through Azure Batch and VM scale sets. Through Azure Batch, you can run jobs and tasks across compute pools called “batch pools”. Since batch jobs consist of discrete tasks run using multiple VMs, they are a good fit to take advantage of low priority VMs.
On the other hand, VM scale sets scale up to meet demand, and when used with low priority VMs, will only allocate when capacity is available. To deploy low priority VMs on scale sets, you can use the Azure portal, Azure CLI, Azure PowerShell, or Azure Resource Manager templates.
When it comes to eviction, you have two policy options to choose between:
Stop/Deallocate (default) – when evicted, the VM is deallocated, but you keep (and pay for) underlying disks. This is ideal for cases where the state is stored on disks.
Delete – when evicted, the VM and underlying disks are deleted. This is the recommended option for auto scaling because deallocated instances are counted against your capacity count on the scale set.
Azure Low Priority VMs vs. AWS Spot Instances
So are low priority VMs the same as AWS Spot Instances? In some ways, yes: both options allow you to purchase excess capacity at a discounted rate.
However, there are a few key differences between these options:
Fixed vs. variable pricing – AWS spot instances have variable pricing while Azure low priority VMs have a fixed price as listed on the website
Integration & flexibility – AWS’s offering is better integrated into their general environment, while Azure offers limited options for low priority VMs (for example, you can’t launch a single instance) with limited integration to other Azure services.
Visibility – AWS has broad availability of spot instances as well as a Spot Instance Advisor to help users predict availability and interruptibility. On the other hand, Azure has lower visibility into the available capacity, so it’s hard to predict if/when your workloads will run.
Should You Use Azure Low Priority VMs?
If you have fault-tolerant batch processing jobs, then yes, low priority VMs are worth a try to see if they work well for you. If you’ve used these VMs, we’re curious to hear your feedback. Have you had issues with availability? Does the lack of integrations cause any problems for you? Are you happy with the cost savings you’re getting? Let us know in the comments below.
When you create a virtual machine in Microsoft Azure, you are required to assign it to an Azure Resource Group. This grouping structure may seem like just another bit of administrivia, but savvy users will utilize this structure for better governance and cost management for their infrastructure.
What are Azure Resources Groups?
Azure Resources Groups are logical collections of virtual machines, storage accounts, virtual networks, web apps, databases, and/or database servers. Typically, users will group related resources for an application, divided into groups for production and non-production — but you can subdivide further as needed.
You will manage groups through the “Azure Resource Manager”, where you can deploy and manage groups. Benefits of the Azure Resource Manager include the ability to manage your infrastructure in a visual UI rather than through scripts; tagging management; deployment templates; and simplified role-based access control.
Group structures like Azure’s exist at the other big public clouds — AWS, for example, offers optional Resource Groups, and Google Cloud “projects” define a level of grouping that falls someplace between Azure subscriptions and Azure Resource Groups.
How to Use Azure Resource Groups Effectively for Governance
Azure resource groups are a handy tool for role-based access control (RBAC). Typically, you will want to grant user access at the group level – groups make this simpler to manage and provide greater visibility.
Effective use of tagging allows you to identify resources for technical, automation, billing, and security purposes. Tags can extend beyond resource groups, which allows you to use tags to associate groups and resources that belong to the same project, application, or service. Be sure to apply tagging best practices, such as requiring a standard set of tags to be applied before a resource is deployed, to ensure you’re optimizing your resources.
Azure Resources Groups Simplify Cost Management
Azure Resource Groups also provide a ready-made structure for cost allocation — groups make it simpler to identify costs at a project level. Additionally, you can use managing to manage resource scheduling and, when they’re no longer needed, termination.
You can do this manually, or through your cost optimization platform such as ParkMyCloud. To this end, we have just released functionality that allows you to use ParkMyCloud’s policy engine to manage Azure resources at the group level. For almost all Azure users, this means automatic assignment to teams, so you can provide governed user access to ParkMyCloud. It also means you can set on/off schedules at the group level, to turn your non-production groups off when they’re not needed. Try it out and let us know what you think.
Microsoft Azure VM types come in a wide range optimized to meet various needs. Machine types are specialized, and vary by virtual CPU (vCPU), disk capability, and memory size, offering a number of options to match any workload.
With so many options available, finding the right machine type for your workload becomes confusing – which is why we’ve created this overview of Azure VM types (as we did before with EC2 instance types, and Google Cloud machine types). Note that while AWS EC2 instance types have names associated with their purpose, Azure instance type names are simply in a series from A to N.The chart below and written descriptions are a brief and easy reference, but remember that finding the right machine type for your workload will always depend on your needs.
General purpose VMs are suitable for balanced CPU and memory, making them a great option for testing and development, smaller to medium databases, and web servers with lower traffic:
The latest family of virtual machines stand out for data protection and code confidentiality. SGX technology and a 3.7GHz Intel XEON E-2176G Processor back these machines, and in conjunction with Intel Turbo Boost Technology, they can go up to 4.7 GHz.
Dv2 VMs boast powerful CPUs – roughly 35% faster than D-series VMs – and optimized memory, great for production workloads. With the same memory and disk configurations as the D-series, based upon either a 2.4 GHz or 2.3 GHz processor and Intel Boost Technology, they can go to up to 3.1 GHz.
With expanded memory and adjustments for disk and network limits, the Dv3 series Azure VM type offers the most value to general purpose workloads. Best for enterprise applications, relational databases, in-memory caching, and analytics.
Similar to the AWS t-series machine type family, B-series VMs are burstable and ideal for workloads that do not rely on full and continuous CPU performance. Customers can purchase a VM size that builds up credits when underutilized, and the accumulated credits can be used as bursts – spikes in compute power that allow for higher CPU performance when needed. Use cases for B-series VM types include development and testing, low-traffic web servers, small databases, micro services, and more.
With a base core frequency of 2.7 GHz and a maximum single-core turbo frequency of 3.7 GHz, Fsv2 series VM types offer up to twice the performance boost for vector processing workloads. Not only do they offer great speed for any workload, the Fsv2 also offers the best value for its price based on the ratio of Azure Compute Unit (ACU) per vCPU.
F-series Azure VM types are great for workloads that require speed thanks to the 2.4 GHz Intel Xeon processor, reaching speeds up to 3.1 GHz with the Intel Turbo Boost Technology 2.0. The F-series is your best bet for fast CPUs but not so much when it comes to memory or temporary storage per vCPU. Analytics, gaming servers, web servers, and batch processing would work well with the F-series.
Memory optimized VM types are higher in memory as opposed to CPU, and best suited for relational database services, analytics, and larger caches.
For applications that require fast vCPUs, reliable temporary storage, and demand more memory, the Dv2, G, and DSv2/GS series all fit the bill for enterprise applications. The Dv2 series offers speed and power with a CPU about 34% faster than that of the D-series. Based on the 2.3 and 2.4 GHz Intel Xeon® processors and with Intel Turbo Boost Technology 2.0, they can reach up to 3.1 GHz. The Dv2-series also has the same memory and disk configurations as the D-series.
The Ev3 follows in the footsteps of the high memory VM sizes originating from the D/Dv2 families. This Azure VM types provides excellent value for general purpose workloads, boasting expanded memory (from 7 GiB/vCPU to 8 GiB/vCPU) with adjustments to disk and network limits per core basis in alignment with the move to hyperthreading.
For big data, SQL, and NoSQL databases, storage optimized VMs are the best type for their high disk throughput and IO.
VMs provide as much as 32 vCPUs with the Intel® Xeon® processor E5 v3 family. The Ls-series comes with the same CPU performance as the G/GS-Series and 8 GiB of memory per vCPU. This type works best applications requiring low latency, high throughput, and large local disk storage.
GPU VM types, specialized with single or multiple NVIDIA GPUs, work best for video editing and heavy graphics rendering – as in compute-intensive, graphics-intensive, and visualization workloads.
NC, NCv2, NCv3, and ND sizes are optimized for compute-intensive and network-intensive applications and algorithms.
NV and NVv2 sizes were made and optimized for remote visualization, streaming, gaming, encoding, and VDI scenarios.]
High Performance Compute
For the fastest and most powerful virtual machines, high performance compute is the best choice with optional high-throughput network interfaces (RDMA).
For the latest in high performance computing, the H-series Azure VM was built for handling batch workloads, analytics, molecular modeling, and fluid dynamics. These 8 and 16 vCPU VMs are built on the Intel Haswell E5-2667 V3 processor technology featuring DDR4 memory and SSD-based temporary storage.
And besides sizable CPU power, the H-series provides options for low latency RDMA networking with FDR InfiniBand and different memory configurations for supporting memory intensive compute requirements.
What Azure VM type is right for you?
With six virtual machine types belonging to multiple families and coming in a range of sizes, how do you determine the right Azure VM type for your workload? The good news is that with this many options, you’re bound to find the right type to meet your computing needs – as long as you know what those needs are. With good insight into your workload, usage trends, and business needs, you’ll be able to find the Azure VM type that’s right for you.