Information Technology as an industry cuts across every industry vertical. Regardless of the line of business an organisation is in, all IT businesses share a number of common objectives:
- To beat the competition to the market with innovative new products and services
- Retain customers by keeping them ‘Sticky’
- Sell more products and services to the existing customer base
- Attract new customers
We are in the midst of a fourth industrial revolution in which the delivery of new products and services via software at pace is paramount. However, how do we do this? .
The Old World Versus The New World
In the “Old world”, delivering changes and new software into a production environment would involve developers working in their own siloe’d teams, who would then plan for software to be released via operations teams. This operation might involve handover processes and procedures and change boards. This exact problem is summarised and solved in a now seminal interview that Amazon’s CTO Werner Vogels held with acmqueue magazine back in 2006:
The traditional model is that you take your software to the wall that separates development and operations, and throw it over and then forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day-to-day operation of their software. It also brings them into day-to-day contact with the customer. This customer feedback loop is essential for improving the quality of the service.
As is so often the case in information technology; concepts, practices and ideas are born that shake the industry to its very foundations. However, it usually takes time for the “Marketing machine” to catch up and package these things into a form suitable for mass industry adoption. In his interview; Werner Vogels alluded to ‘DevOps’ in its embryonic form. DevOps is the ethos of breaking down the development and operations silos in order to create end-to-end processes that deliver software into production with minimal friction:
As DevOps has evolved, an industry wide consensus has emerged for the practices that the ethos involves:
- Release small, fast and often
- Remove functional silos
- Continuously monitor all changes deployed to production in order to gain feedback for new releases and fixes
- Automate and script processes that are painful
- Favour immutable components, i.e. rather than patch and update components, replace them, a practise Pure use to avoid bloat in the Purity code base
- Component failure should be fast and when this happens the focus should be on fixing the root cause as expediently as possible
What Value Does Pure Bring To The DevOps Table ?
Once the functional silos have been removed and development to production end-to-end processes are in place, a number of software tool related capabilities can add tremendous value to an organisation embarking on its DevOps journey. Four pillars of value, if you will:
- Infrastructure as code
- Monitoring and feedback
An organisation’s legacy storage infrastructure may create several pain points, causing it to work against you and not for you when it comes to process automation and orchestration.
Tell Me Where It Hurts With Your Legacy Storage Infrastructure
- Does you legacy storage lack integration with popular automation, orchestration, infrastructure-as-code and software build tools ?.
- Does the provisioning of storage hinder end-to-end DevOps style workflows and processes ?.
- Is managing complex storage preventing infrastructure people from taking part in DevOps initiatives ?.
- Does orchestration involving your storage involve proprietary software that is cumbersome, difficult to use and difficult to manage ?.
- Is the cloning of environments for development and test, slow, inefficient when it comes to storage capability and at the cost of impacting the performance of the source environment ?.
The good news is that Pure can help remove all of these pain points.
One Simple REST API and A Whole World of Integration Possibilities
The REST API is the linchpin of the Pure Storage® FlashArray integration. REST or “Representational state transfer” to give it its full name is an industry standard for the development of web services, but what makes the Pure REST API special? Firstly, the FlashArray REST API furnishes the full command surface area for a FlashArray and whenever a new feature comes along, the ability to use that feature via the REST API becomes available simultaneously. In addition to this, the feedback that we consistently get from our customers is that the FlashArray REST API is incredibly easy to use:
- There is no requirement for any middleware
- No special gateways need to be used
- It was designed from the ground up for automation and orchestration along the same principles that many of the popular SaaS vendors use when crafting their APIs
- It is an always on ready to use straight out of the box service
For objects, files and unstructured data, a REST API now ships for FlashBlade™ which will follow the sample principles of being always on and ease of use as its FlashArray cousin.
Scripting and Automation
Any tool or piece of software that can invoke the FlashArray REST API can automate and orchestrate FlashArray activity. Pure’s free PowerShell and Python software development kits add even more value to this and we support a number of third party products that enable automation:
Infrastructure as Code and Orchestration
Infrastructure-as-code is the use of machine-readable configuration files to provision storage, compute and networking resources. To support this, a new class of tools has emerged which maintain a declarative representation of what the infrastructure should like then either via a push/pull to/from the client servers deploys the infrastructure. Pure provides integration for three infrastructure as code management tools:
Pure’s plugin can be found on GitHub
Pure provides a storage module for Ansible 2.4 onwards, to be found on the Ansible site
- Salt Stack
A Pure FlashArray module is available from the Salt Stack
By far and away one of Pure’s most popular data services is FlashArray’s snapshot capability, this incurs zero performance penalties on the source of the snapshot. FlashArray is phenomenally storage efficient when it comes to test and development environments cloned from production databases, as noted by one particular Pure employee:
For use cases involving file, object and unstructured data, FlashBlade™ now provides a snapshot-ing capability.
What Are The Information Technology Industry’s High Performers Doing ?
According to Puppet Labs State Of DevOps 2016 report, organisations in the “High IT Performers” category are deploying code at a high frequency:
Continuous integration and delivery go hand in hand with continuous deployment. Pure’s software development kits, PowerShell in this example, enable continuous integration and delivery to be carried out on-demand using test environments cloned from their production counterparts:
Whilst DevOps is technology agnostic, there are certain tools and platforms that lend themselves incredibly well to the tasks of developing, delivering and deploying software and infrastructure in a reliable and agile manner. Docker falls firmly into this category. Docker container(s) will run in the same manner irrespective of where they are deployed to, and in doing so they help avoid a problem that has perennially plagued developers:
In addition to this, Docker containers are an excellent fit for the implementation of micro-services, a software architecture paradigm that is gaining great traction. Pure supports the Docker container eco-system via a Docker certified volume plugin downloadable from the Docker store, also this recent blog post covers the plugin in detail.
Dealing With Fluctuating Resource Demands
Handling the fluctuating demands for resources when faced with sporadic activities such as the ramping development teams up and then down, prototyping and proofs of concept can be challenging. Also, take a continuous integration process: if this runs for an hour a day, wouldn’t it be preferable to provision resource for this activity in an elastic manner. Pure CloudSnap, a new data service coming in the future, is the solution to this problem. In essence, CloudSnap enables volumes to be copied from a FlashArray to the Amazon pubic cloud and NFS targets. Once the data is re-hydrated in the Amazon cloud, it is stored in Amazon AWS native storage formats, there is no vendor proprietary lock in (unlike some other vendors)!!!.
In order to adhere to Pure’s mantra of simplicity, this feature requires:
- no installation of additional software
- no gateways
- no handling of vendor proprietary storage formats once the data is re-hydrated in the Amazon AWS cloud
- no virtual machines running in the cloud that are is going to burn up your IT departments budget
As demonstrated at Pure //Accelerate this year, the PowerShell SDK enables this activity to be built into continuous integration processes.
So, Whats The Catch ?
There isn’t one, all of the FlashArray data services, software development kits and integration points outlined in this blog post are included at no additional cost with purchase. What is more, all of our efforts in this area are designed for simplicity and ease of use, you will not find any complex-to-install, difficult-to-manage or hard-to-troubleshoot tools or middle-ware here!. If DevOps, automation and orchestration is important to your organisation and your current storage platforms are hindering instead of helping you, we would love to have a chat about how we can help.