An introduction to Nimble Storage
Nimble Storage was founded in 2008 by Varun Mehta and Umesh Maheshwari (both formerly at Data Domain) and the company delivered their first product to market in 2010 (they went out of stealth mode and announced the CS200 array at Tech Field Day 3 in 2010); since then Nimble Storage witnessed a rapid growth, counting now more than 9000 customers in 50 different countries. In the meanwhile the portfolio of products also grew and Nimble Storage now define themselves as an all-round “Storage Provider” for hypervisors and applications. Particularly notable is the network of Technology Alliances Nimble established with very diverse vendors like Cisco, Microsoft, Splunk, Oracle, Veeam, VMware, Citrix, Commvault and very recently Lenovo; this alone should say a lot about how versatile and interoperable Nimble solutions are.
Reducing the Application Data Gap
Right now Nimble is focusing in differentiating themselves from other storage vendors by addressing (and hopefully solving) the “Application Data Gap”, which essentially represents the distance of application data from the users requesting it, measured in terms of delivery time and availability; there is often a gap between what the users expect from their Apps and what the infrastructure is capable to deliver.
Nimble approaches the App Data Gap from different points of view that eventually converge and finally allow the customer to close the gap. Fist of all, Nimble offers both Hybrid and All-Flash Arrays, both manageable through a Single Consolidation Architecture better known as the “Unified Flash Fabric”. This allows the customer to start with a reasonably cheap Hybrid Array and then extend the fabric adding an AFA when more performance is needed, all whithout the need to introduce further complexity in the management layer. Another scenario would be the adoption of an AFA on the Primary site and of an Hybrid Array in the DR site, both seamessly managed together as part of same Unified Flash Fabric. The Capex savings obtained should be evident. The core of this consolidated architecture is a common Data Services Framework (Nimble OS) whose features and capabilities can be upgraded non disruptively: any upgrade would be applied with new or improved features distributed throughout the whole fabric, regardless of the type and number of arrays.
Another fundamental software component that comes out of the box with any Nimble array is InfoSight: the array will start sending telemetry information to Nimble immediately after its deployment, not only to report its health status (call home) but also to allow Nimble support to predict and isolate issues – not limited to the storage layer of the infrastrucure – before they become evident and lead to performance or availability problems.
The other aspect of addressing the App Data Gap begins with acknowledging the reality that Storage and Application engineers usually speak different languages: Storage admins traditionally provide LUNs and are focused on low level constructs such as RAID Groups and Block Sizes while Application Admins are concerned about requirements dictated by SLAs such as performance, availability, DR policies, encryption, retention etc. Nimble’s approach is different than that of other vendors because instead of simply providing capacity and IOps, Nimble arrays provide “storage services” to applications; this outcome is the result of applying profiles based on specific application requirements, by enabling, disabling or tuning features and parameters such as Guaranteed Latency, Compression, Deduplication, Encryption, Local Backups, Data Protection, etc. This is what Nimble calls the “application-centric approach”.
Therefore, we are not discussing anymore about LUNs, but workloads instead. Imagine this approach coupled to the “Unified Flash Fabric” concept and you’ll understand how easy it would be to non-disruptively migrate workloads among arrays with different characteristics (AFA/Hybrid) by simply modifying their application profile.
NimbleOS comes out-of-the-box with profiles optimized for the most common applications, but of course the Admin can edit them or create new ones from scratch.
The next natural step would be to match Nimble’s application profiles with VMware’s VVols and completely remove the traditional constraints of legacy DataStores, de-facto extending VVols own capabilities with Nimble’s ones (adding on top of VVols features like App-level Clones and Snapshots, Encryption, Replication). VVols is a great technology but it is as good as the storage’s vendor implementation: by all means Nimble’s integration with VVols is one of the most complete and features-rich. One peculiarity of Nimble’s VVols implementation is that the VASA Provider it relies onto is living inside the NimbleOS itself (e.g. into the controller): as mentioned before, a one click upgrade of NimbleOS will upgrade the VASA provider for all the Arrays in the same “Unified Flash Fabric” namespace.
It is also worth mentioning that Nimble doesn’t stop with VMware as it also natively supports Mirantis OpenStack and Docker, another proof of how much this company believes in interoperability and in providing the best possible level of integration for the most diverse platforms.
Predictive Infrastructure Analytics with InfoSight and Application DNA
Let’s now go into deeper detail with what is probably Nimble’s Storage most interesting feature: InfoSight Predictive Analytics.
As briefly mentioned before, each newly installed Nimble Array begins immediately to collect metrics and sends them (properly scrubbed and anonymized) to Nimble’s HQ; the data collected is analyzed and correlated with other telemetry sent by all other Nimble users who opted into the InfoSight programme. Telemetry info is sourced from the array itself but also from other infrastructure elements; for instance there is a Nimble plugin for vCenter which allows to gather even more information. The result is a massive amount of customer generated information that Nimble can use for the benefit of its entire user base.
One obvious outcome is the simplification of the support process. According to Nimble, the support chain is dramatically compressed and within 60 seconds from a call, the user is connected to a Tier 3 engineer who not only has access to all the diagnostic data coming from the array but most of the time is capable to provide an immediate solution by correlating the telemetry data sent by the customer making the call with all that is available on Nimble’s Data Warehouse and coming from other users. Nimble’s InfoSight is smart enough to look beyond storage because it is capable to “fingerprint” the application behavior and address deviations from the expected by isolating the root cause even if it is not strictly storage related: application IO profiles are profiled over time, resulting in a DNA-like graph showing the timeline of IO patterns.
Once again, the intelligence in InfoSight comes from the correlation of massive amount of telemetry information coming from Nimble installed base. The more arrays are deployed with InfoSight enabled, the smarter it becomes. Put simply, InfoSight is Storage AI at work.
Nimble Storage is quite a peculiar storage solution as it moves away from the traditional Storage constructs and focuses on applications, abstracting the undelying infrastructure complexity and working with Application Profiles. Particularly notable is Nimble’s implementation of VMware VVols, just one of the many successful outcomes of Nimble’s technology alliances. On top of this already innovative approach, Nimble delivers a proactive and predictive analytics engine (InfoSight) which simplifies troubleshooting, support and optimization by correlating customer sourced telemetry.
It is no wonder how Nimble quicky established themselves among the most innovative storage vendors in such a short time.