Open Connect for Microsoft Azure
This library is designed to provide core integration wrapper PowerShell cmdlets in a Script Module to enable connectivity and configuration of Microsoft Azure ExpressRoute. The PowerShell Module can be downloaded from http://github.com/purestorage-openconnect/microsoftazure.
Version 1.0 is based on the Microsoft Azure Classic deployment model.
The Pure Storage All-Flash Cloud with Microsoft Azure provides a cloud solution that allows enterprises to easily connect and create a secure, scalable, and on-demand infrastructure using Microsoft Azure services with the performance and resiliency of the Pure Storage FlashArray platform. The solution uses a high-speed, proprietary Microsoft Azure ExpressRoute connection with the Equinix Cloud Exchange to connect Azure virtual machine services with co-located Pure Storage FlashArray equipment at an Equinix data center.
The diagram below illustrates the high-level connectivity components.
The Pure Storage All-Flash Cloud with Microsoft Azure can be managed with the Azure Portal or Windows PowerShell to manage and develop for extensive scripts using the Open Connect for Microsoft Azure. Each mechanism below describes from the least complex to the most extensible.
Microsoft Azure Portal – The Azure portal can be used to create and manage all Azure services. The diagram below illustrates the Resource Manager portal view of the Virtual Network connection that has been established between the Azure cloud and the Equinix data center. Illustrated below is the Virtual Network connection between the Azure Cloud via ExpressRoute to the Equinix Cloud Exchange where the Pure Storage FlashArray is co-located. The FlashArray is connected via redundant 1GB/s iSCSI connections.
Windows PowerShell – Provide full management through the use of the PowerShell cmdlets which are part of the Azure PowerShell Module. The below screenshot shows adding an Azure account to the session using Add-AzureAccount and then query for the configured services under the account. The configured services shown are virtual machines which are connected through iSCSI to the FlashArray.
The Azure PowerShell package includes two modules that are used, Azure and ExpressRoute. Each of these modules contains specific cmdlets to setup the different components for connecting the Azure Cloud to the Equinix Cloud Exchange. One of the value propositions for the Pure Storage All-Flash Cloud for Microsoft Azure is the automation of connectivity between Pure Storage systems and Azure via Azure ExpressRoute. This is done with a community developed Pure Storage Open Connect for Microsoft Azure PowerShell module. Delete: “accompanying PowerShell module appropriately named Pure Storage Open Connect for Microsoft Azure. This new PowerShell module provides wrapper cmdlets around the required Azure cmdlets for setting up the different components for ExpressRoute and Azure cloud.
Below is an example of the new PowerShell module shown in Visual Studio 2015. The new module is implemented as a Script Module for easy extensibility and customization. Instead of scripting out each cmdlet with the various parameters a custom configuration XML file has been created so customers and partners can enter the information and just pass in this XML file to configure the different components.
The connection that was tested as part of the solution validation between the Azure cloud and the Equinix Cloud Exchange was 1GB/s (10GB/s speeds can be used). The primary use case highlighted in this paper was for Dev/Test using Microsoft SQL Server 2014. There were several tests performed using diskspd and a TPC-E like benchmarking tool. Using the database that was populated as part of the TPC-E like testing several FlashRecover snapshots were created and connected to different Azure virtual machines showing the ability to scale-out the Dev/Test compute resources on-demand. This is fully documented in the Configuration and Deployment Guide.
Below is an example workload using the TPC-E like benchmark which shows some basic performance measurements. This example illustrates sub-millisecond latency handling 75% Reads and 25% Writes.