Automated, programmatic provisioning, configuration and management of Windows Server 2012 VMs deployed on Azure Cloud.

Some of the problems included:

  • Company’s product required automated, programmatic provisioning, configuration and management of Windows Server 2012 VMs deployed on Azure Cloud
  • WMI could not be invoked remotely on Windows VMs deployed in Azure cloud
  • Azure Java SDK was not packaged for use in OSGi container
  • It was not known whether transferring of files to and from Windows Server 2012 VM deployed on Azure Cloud could be done programmatically

Some of the solutions applied included:

  • Researching and prototyping to understand how provisioning, configuration and management of Windows Server 2012 VMs on Azure Cloud can be automated
  • Developing proof of concept for programmatically transferring files to and from Windows Server 2012 VM deployed on Azure Cloud
  • OSGifying Azure Java SDK for use in OSGi container
  • Implementing on-demand programmatic provisioning, configuration and management of Windows Server 2012 VMs on Azure Cloud and integrating it into Company’s product
  • Utilizing Get-WmiObject PowerShell cmdlet executed remotely via WinRM Java client to obtain WMI data programmatically from Windows Server 2012 VM deployed on Azure Cloud
  • Utilizing Windows Remote Management (WinRM) Java client and Powershell cmdlets and custom Powershell scripts for configuring and managing of Windows Server 2012 VM programmatically on Azure Cloud
  • Implementing custom PowerShell Remote Session scripts and utilizing Azure Storage and WinRM Java client for transferring of files to and from Windows Server 2012 VM programmatically
  • Integrating automated transferring of files to and from Windows Server 2012 VM deployed on Azure Cloud into Company’s product
  • Implementing Azure Cores Calculator for retrieving and calculating number of cores used programmatically
  • Implementing Azure Cost Calculator for retrieving usage and rate data and calculating cost of Azure Cloud resources programmatically
  • Implementing retrieving and displaying of Azure Cloud resources’ logs in real-time during provisioning in GUI of Company’s product

Technology stack

  • Java
  • Spring
  • OSGi
  • PowerShell
  • Azure Cloud API
  • Azure Java SDK
  • WinRM4J
  • Windows Server 2012

Industry

IT