Storage upgrades used to be a big deal—kind of like going in for surgery.
First, there’s the pre-op work, such as assessing the risks and checking on the health of the arrays, switches, hosts, and applications. Many specialist teams had to get involved. For example, the virtualization team had to migrate virtual machines to another array and make extra certain to unmount everything so their hosts wouldn’t wind up in a vegetative state. The database and application teams needed to fail over their delicate applications to secondary instances. Finally, the help desk had to be ready on the front lines.
On the night of the upgrade, you could expect to be out for a few hours and hope you didn’t forget anything. It was a big production. I’d be lying if I said there wasn’t an aspect of luck involved.
Nowadays, with Pure’s non-disruptive upgrades, this once high-risk procedure is more like a routine call with a telehealth professional. You can do it from anywhere at any time, even during the day on a Friday!
Now Offering Self-service Upgrades
Up until now, Purity upgrades have always been performed with Pure’s support engineers on the phone, walking you through the entire process. This included prep work, such as performing health assessments prior to the upgrade to make sure the entire process is as smooth as possible on the day of. This isn’t a practice I’ve seen done by a lot of hardware vendors before, except maybe by some converged infrastructure vendors or professional services.
“Pure’s self-service upgrades are a fully automated version of our support-led upgrades. It’s like we took the knowledge of our support engineers and uploaded it to the cloud!”
However, support-assisted upgrades do come with one major dependency: the alignment of your schedule and the schedule of our support engineers. Thankfully, this isn’t a big deal, as you can easily see support’s availability and schedule the upgrade with them right in Pure1®.
However, in many cases, storage upgrades are a part of a much larger project, and if those timelines slip, then you may be looking for a more flexible option. Thankfully, such an option exists within Pure1 with self-service upgrades.
Figure 1: Scheduling support-assisted upgrades within Pure1.
Despite the name self-service, Pure has stuck to our mantra of simplifying data storage for you. Rather than offering a complete do-it-yourself solution where you have to find all the bits and read through documentation, KBs, and release notes, Pure’s self-service upgrades are a fully automated version of our support-led upgrades. It’s like we took the knowledge of our support engineers and uploaded it to the cloud!
Figure 2: Initiating a self-service FlashArray upgrade from within Pure1.
This means that once you have enabled edge management (Pure1 login required), the entire upgrade process is done from within the Pure1 UI. No hours of reading documentation or hunting for binaries. And because everything is initiated from Pure1, you can upgrade from anywhere.
Watch the entire process demonstrated in this Digital Bytes episode.
New Self-service Upgrades Are Simple, Secure, and Stable
Pure Storage® has a reputation for offering painless non-disruptive upgrades and we intend to maintain that reputation, no matter what upgrade approach you choose. When we designed the new self-service upgrade, we focused on several key factors:
- Simplicity: Self-service upgrades need to provide a similar experience to support-led upgrades. That means we don’t add additional complexities by burdening you with manual compatibility and health checks. The entire upgrade process is automated from the initial health checks through to the upgrade validation.
- Security: Self-service upgrades need to be secure from tampering or unauthorized users. Not only do we provide secure communication channels between the Pure1 Cloud and your FlashArray™ (which you can read more about in this KB—Pure1 login required), but we also provide checks to ensure the binaries are unaltered before performing the upgrade. We even provide two-factor authentication to validate a user’s identity before initiating any upgrades.
- Stability: Self-service upgrades need to be performed safely and with ample risk mitigation. This starts with the health checks to make sure your FlashArray device is healthy and configured in a way that won’t disrupt the upgrade or your workloads. We’ve spent years reviewing support cases to create the pre-flight checks which are run several times throughout the process. Additionally, the upgrade process will require user input before initiating the upgrade and failing over to the secondary controller.
The Pure1 Edge Service and What It Can Do for You
If being able to perform FlashArray upgrades on your own time is appealing to you, here’s how to get started.
First, you’ll need to request access to the Pure1 Edge Service. Do this step early, as it can take some time while we perform some additional validations, including enrolling you in step-up authentication. You can perform this step in the Edge Service menu located under the administration heading in Pure1:
Figure 3: Requesting access to the Pure1 Edge Service.
Once you have access to the Pure1 Edge Service, you need to run just two commands on your array to enable it (Pure1 login required). One requirement of the Pure1 Edge Service is you’ll need a FlashArray that’s running at least Purity 6.2.10 or 6.3.1. (6.3.0 isn’t supported.) If you don’t have that, you’ll need to upgrade first.
“Pure1 Edge Service does more than just facilitate upgrades—it’s Pure’s conduit to SaaS-ifying your storage.”
The Pure1 Edge Service can do more than just facilitate upgrades. It’s Pure’s conduit to SaaS-ifying your storage. For example, it allows Pure Fusion™ to deliver a self-service cloud operating model, as well as intelligent workload placement and balancing. It also allows us to respond quickly to critical issues such as when Log4j dropped a bombshell that rocked the IT community. The Pure1 Edge Service is basically how we enable secure, two-way communication between the Pure1 Cloud built on a zero-trust platform.
The Self-service Upgrade Process
Self-service upgrades can be performed from within the Pure1 UI from the Software Lifecycle dashboard. Yes, it’s the same dashboard you use to schedule your support-assisted upgrades!
Figure 4: Purity version assessment in the Software Lifecycle dashboard.
Get Visibility into Versions and Vulnerabilities
This dashboard also gives you an idea of what other upgrades you might want to consider in the near future. You’ll get an idea of what arrays are at high risk and running end-of-life versions of Purity or might be included in a common vulnerabilities and exposures (CVE) announcement. These arrays should be at the top of your list to upgrade. You’ll also get a breakdown of what arrays are running older Purity versions and should be upgraded when you reasonably can.
Figure 5: Results of the health check in the Software Lifecycle dashboard.
Run a Health Check to Stay Ahead of Disruptions
After you choose an array, all you need to do is select the desired version of Purity and run a health check. This will look for common issues that might interrupt the upgrade process or potentially disrupt your workloads. This includes things like hardware health and compatibility, making sure all paths are connected and symmetric to each controller.
The great thing about the health check is that you can run it on demand as many times as you’d like, so it’s a great idea to run this early on in your upgrade project to give you enough time to address any issues that may arise. You can run the assessment based on the latest data that we have in the Pure1 Cloud or based on live data on the array. We’ll run multiple on-array checks during the upgrade process, so, in most cases, a cloud check is sufficient. All checks can be exported and easily shared with others.
Figure 6: Software upgrade process in the Software Lifecycle dashboard.
Performing the Upgrade
When it’s time to perform the upgrade, simply select the array in the Software Lifecycle dashboard, and click on the Software Upgrade tab. The entire process is performed from within the Pure1 UI and is on rails, so the sequence of events will be consistent every time. This includes running a pre-check, downloading the upgrade bundle, upgrading each controller in series, and performing additional checks throughout the process.
With self-service upgrades, you can also download the upgrade bundle ahead of time, just like you can with support-assisted upgrades. We do recommend performing the upgrade within 48 hours of downloading the upgrade bundle to the array.
Figure 7: A look at the two-factor authentication verification you’ll get to validate your identity.
Before any data is downloaded to the array, we need to validate the user’s identity. This is done via a text message sent to the number we have on file for your user account. If you haven’t previously provided Pure with this information, or if you need to update your number, you can simply open a support ticket or provide this information to support when enabling Pure1 Edge Service.
Figure 8: User account information.
You can view the phone number on file by clicking on your username in the top right corner.
Figure 9: Before initiating the upgrade, user confirmation is required.
We also require user interaction before initiating the upgrade on the secondary controller. This is your last chance to pause or back out of the upgrade process. We also require your input before failing over storage controllers just to keep you in sync with what’s going on (and to make sure you’re ready for the failover). From there, we’ll upgrade the new secondary controller before running a final health check on the array and completing the upgrade.
Support-led Upgrades Will Still Exist!
This new upgrade option doesn’t mean that support-led upgrades are going anywhere. Self-service FlashArray upgrades are about giving you the choice to perform non-disruptive upgrades on your own time. You and all of the other teams that were previously involved with storage upgrades will have more time to focus on other important tasks.