The Magical World Of Integration: Pure Storage

  • Posted on: 20 March 2015
  • By: David La Motta
“It's a magical world, Hobbes, ol' buddy... Let's go exploring!” 

In this installment of sharing exciting and interesting information with you, we are going to show you how Integra leverages Pure Storage APIs in order to bring a new automation offering to the platform, directly from vCenter and any other northbound interface that Integra provides.  Pure Storage has a mature PowerShell toolkit, conceived and currently led by our friend Rob Barker (aka Barkz).  The toolkit--as of version 155 cmdlets which allow you to perform a wide gamma of operations on the storage array.  Integra exposes PowerShell cmdlets as provider actions, so this means we have 155 new actions at our disposal to combine with any other provider actions to build complex workflows that can satisfy the most intricate use cases.


To get started with Pure Storage through Integra we are going to need a few key ingredients:

Installing these components is really simple, so you should be up and running in a few minutes.   To give you an idea, you will have to:

1. Download and run a .msi to install Pure's PowerShell toolkit.  You can then verify the installation succeeded from Programs and Features

2. Run Integra's 1-line judo installer to get Integra and its core components running, including the vCenter plugin.

3.  Expand the .zip file we provided which includes Integra's PowerShell provider and run the .exe file.  This executable contains the PowerShell provider and the VSS requester.  We will focus on PowerShell this time and save using the VSS requester for a future post.  The Microsoft-based provider will soon be distributed as a Windows service and have an installer of its own.  Stay tuned for that!

With the essential components installed and running, it is time to expose Pure Storage via Integra.

Pure Storage Integration

As we launch our web browser and point it to the vSphere web client, we can see that the Integra vSphere plugin was installed successfully.  The next step consists of getting the aforementioned PowerShell module exposed through Integra so that we can tap into the world of Pure Storage.

The Windows machine where you are running Integra's PowerShell provider must be accessible by the Integra Reactor.  Adding the provider to Integra is simply a matter of specifying the host and port, and giving it the name of your choice.  In this particular example we have aptly named ours Pure Storage.

Pure Storage Actions

The flexibility that the Integra PowerShell provider brings is unparalleled.  Pure Storage is very active in adding new functionality to its PowerShell toolkit, so it would come as no surprise if the version of the toolkit today already differed from the version we used in this example.  Fear not, all you have to do in this case is update the toolkit on the Windows machine where you originally installed it, and then tell Integra to re-import the module.  Simple as that; any action that you may have previously configured does not have to be modified--unless, of course, the cmdlet's parameters changed in the toolkit itself.

Speed is the #1 challenge in IT today, and with Integra's PowerShell provider your time to market on supporting new platforms is practically 0.  Moreover, a hot swap of Pure's PowerShell toolkit underneath the covers means you can keep up with the latest versions of the software without affecting anything else you may already have configured.

Right on.  As eluded to, we configure an action called Import Module, specify PureStoragePowerShell as the name, and we execute it.  This brings the Pure Storage PowerShell toolkit into the Integra runspace.

And then we can proceed to invoke actions against it.  The next image shows the module successfully imported.

And, as you can see below, the number of Integra actions we can now use from our newly minted Pure Storage provider is indeed 155.

Configuring an action is equally simple.  Many of the actions in the Pure Storage provider require an API token.  We can get that token by configuring and executing the Get-PfaApiToken action.  Integra's PowerShell provider has excellent support for PowerShell variables, so we can simply assign the value of the API token to a variable and make use of it in future actions.  We will show this in action in a future post.

Lets Go Exploring

At this point we have all the pieces in place to start doing exciting things with Pure Storage.  We can create workflows that protect Oracle, DB2, MySQL, Postgres, MaxDB, or Sybase running on Pure Storage; we can leverage Integra's VSS requester to protect SQL Server, Exchange, or SharePoint running on Pure; we can do interesting things on vSphere, XenServer, KVM, RHEV and Hyper-V; or we can copy data to Azure or S3 for an extra layer of cloud protection .  The possibilities are endless.  In addition to being able to do all sorts of different things with Pure Storage and Integra, you will benefit from:

  • A REST API that supports JSON / XML accessing and executing workflows you may have created
  • SDKs in 8 different languages to access and integrate with your own software
  • Exposing and using your own PowerShell modules in Integra, just like we did with Pure Storage in this post
  • Concurrency in executing actions
  • Scheduling workflows
  • A mobile portal for executing actions
  • Security
  • ...and more
If there is a use case you are trying to cover and you find that a key action is missing, please reach out and let us know so we can work with you and create it.  You can always find us on Google+, LinkedIn, Twitter or Facebook.

Happy exploring!