…and why Datrium has no knobs or dials.
Design Thinking is the idea that products and interfaces should be designed around the needs of the people who will be using them.
However, it is often technical capabilities or market opportunities that either push or pull the development process. In the case of enterprise software, the complexity of the product, the size of the budgets, and time constraints confound things even more.
We have all witnessed enterprise software products becoming disarrayed and cluttered over time, with intricate dials and knobs making the life of users painful. Even the most advanced Design Thinking oriented companies over time end up with a complex set of dials and knobs that are commonly pushed or pulled by the product development process, and design teams have no alternative other than accommodate it as part of the overall user experience.
What does that have to do with SDS and HCI?
Most hyperconverged solutions on the market today have been originally architected in a way to test the market potential (initial market analysis has proved tremendous potential), and for almost all of them, enterprise data services have been implemented as an afterthought. Furthermore, ‘special’ customers often make demands that are not well-thought out and forces vendors to implement features as a priority matter. Trying to meet all these varied requirements, often results in complex products that require ‘special consultants’ to come in and tune the system to make the features work correctly.
Up and above the stack
In the world of private and hybrid clouds, self-service portals, and higher level orchestration services, it does not make sense to require users to identify, and in most cases make assumptions, about applications and data behavior. Users should not bother if application data is de-dupable, or RF2 vs. RF3 vs. Erasure Coding, or if compression delay should be 30min or 60min, or if checksumming, erasure coding and compression are to remain enabled for a given application. We don’t worry about all that when using the public cloud, so why should we when using private clouds?
Truth be told…when data services are added as a bolt-on, as an afterthought, it becomes challenging to efficiently integrate new features and services in a meaningful way embracing Design Thinking and eliminating complexity – and a quick look at HCI solutions on the market today prove this point.
In the SAN world, things are not easier either, perhaps even more complicated, and components such as LUNs, zoning, masks, WWPNs, and RAID groups are a perpetual struggle for users.
Enterprise Software does not have to be Complicated
When file systems are built from the ground up to support data services, they are designed to maintain services running in-Line and all the time, and yet providing the best resiliency, tolerance to failures, and durability.
However, for vendors that developed such services as an afterthought and need to maintain and support new and old modes, it is challenging to seamlessly implement these services into their existing journaling file systems without making huge compromises to performance, stability, resiliency, or user experience. Moreover, in many instances requiring enormous expertise.
Datrium was built from the ground up to support enterprise data services. We built the Datrium file system from scratch with data services and Design Thinking in mind, moreover many of the architectural choices have been initially made to remove unnecessary and complicated decision-making processes.
Datrium DVX has virtually no knobs that need to be adjusted or configured, and yet presents an extensive list of quintessential enterprise data services, such as Deduplication, Compression, Erasure Coding, Checksumming, End-to-End Encryption, Replication, Snapshotting, Cloning, Compression over Wire, etc.
From an implementation perspective, the file system always uses distributed Erasure Coding for reliable data protection against at least 2 simultaneous disk failures (comparable to RF3 or FTT2), and the software stack uses no more than 20% of host CPU to deliver all data services, Always-On and Always In-Line.
In a spirit of openness and truth, there is only one knob in the Datrium DVX that may be used by users. It is the Encryption ON/OFF switch, and it’s FIPS compliance selection mode.
Managing in the Design Thinking world
Design Thinking elements are evident throughout the platform, and one of my favorite features, besides zero-touch config, is the ability to create dynamically binding Protection Groups.
Protection Groups control scheduling, retention and replication policies, and always create snapshots consistently and atomically while removing the burden on the end user by eliminating all the typical cumbersome steps. As an example, there might be a 3-tiered application running in three different VMs, and all need to be snapped together (not one by one) for application consistency, and all this is done automatically without the user having to explicitly configure additional checkboxes.
Moreover, Protection Groups dynamically bind arbitrary collections of VM, vDisk, and files objects and apply scheduling, retention and replication policies. As an example, a Protection Group may be set with a VM naming pattern, and any new VMs created with the naming pattern is dynamically bound to the Protection Group. In private clouds or deployments with 100’s or 1000’s of VMs, this assures that applications and data are invariably protected, without user interaction.
We are not blind to the fact that we have to keep improving. Most of the user experience today is driven by the consumer products, and enterprise software vendors must incorporate Design Thinking into the development process. Having made the initial architecture efforts necessary to implement features that just work, and avoiding knobs as much as possible, we have paved the way to an uncomplicated system that is ready to manage applications and workloads at scale.
Thanks to Sazzala Reddy for review and commentary.
VM Private Cloud: Managing VMs at Scale
What’s Design Thinking got to do with it?
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net.