Automate your Azure compute business case
Mapping of your current virtual machines to Azure machines is a time-consuming task. Microsoft offers no API to retrieve machine sizes and prices in a single call. Resulting in endless copy and paste actions from the Azure price calculator to Excel and repetitive validation of the best option.
The ‘best option’ depends on a large number of factors:
- Is it a development, test, acceptance or production machine?
- Is processor power more important than memory capacity?
- Do you bring your own license?
- Are license costs bound to the number of cores?
- What availability figure (SLA) is required?
In practice, the list of servers will vary over time. Not all Azure machine types are available in your Azure region and pricing depends on the Azure region. Servers will be phased out or transformed into platform or software services (PaaS, SaaS).
For better quality, actual & local prices and the consistent use of design principles (e.g. taking care of Azure limits) automation of the Azure compute business case is a must-have.
Our objective is to automate the mapping of virtual machines from the Current Mode of Automation (CMO) to the Future Mode of Operation (FMO).
FMO = MapReduce(CMO, Requirements)
The tool supports the upload of a CMO.xlsx file with the current specifications and requirements and will output an FMO.xlsx file with the appropriate Azure machine types and price & size information.
As shown in the figure above:
- The database server (DB01) retains the number of cores because the SQL license is core bound.
- The DevTest (CRMDB01) machine is mapped on the less expensive Azure basic tier.
- The monitoring server (NAGIOS01) will be placed in a scalability set (2 machines needed) to match the required SLA of 99.95% uptime.
As displayed in the figure below the tool can generate a list of alternatives per machine. The input was a memory optimized machine with 2 cores and 6GB of RAM.
Price & Size
It is even possible to generate a list of all VM price&size information for you Azure Pay-as-you-Go, MSDN or CSP subscription.
On the backlog
I like to add IOPS-optimization, Azure managed disks and Azure backup pricing before publication of the tool (i.e. a Jupyter Notebook using the RateCard API and Azure ResourceManager API’s) on Github.
Sign up for the Solvinity Newsletter
Receive the latest news, blogs, articles and events, every quarter. Subscribe to our newsletter.
Read in this blog by Marc Guardiola which five steps every organization should take to guarantee...READ MORE
For secure software, developers must focus on 3 principles: testing, testing and testing. Yet this is...READ MORE