In this chapter, you will learn some fundamental aspects of Software-defined Storage, its evolution, and its role in a Software-defined Data Center. You will also get an overview and a basic understanding of VMware Virtual SAN.
To understand the transformation that is taking place in modern data center, we will discuss:
What is a Software-defined Data Center?
The significance of Software-defined Storage
An introduction to VMware Virtual SAN
Virtualization has come a long way in terms of evolution and dates back to 1960, where mainframes first supported virtualization.
Decades later, leading into the x86 era, there was a strong need to leverage the virtualization concept on a x86 platform. The need was straight and simple, a transition from an application/operating system per server to running multiple such instances per server. The reasons were obvious as well, server hardware capabilities had increased exponentially and much of the server resources were wasted. There was room for the consolidation and optimization of resources, and needless to say, this also meant significant return on investment.
While there were a few players who threw their hats into the ring, not many made a mark. In the year 1998, however, VMware was established and their first product, Workstation, made it possible to successfully virtualize the x86 platform. They were also the first to successfully boot Microsoft Windows as a virtual machine. They continue to lead the pack and are the undisputed leaders of this domain. To further endorse this, Gartner named VMware the leader in the Magic Quadrant for x86 server virtualization infrastructure for the fifth consecutive year.
Virtualization starts out creating an abstraction layer on hardware, and then carving out resources and pooling these resources to achieve agility in availability and load balancing. Furthermore, to increase efficiency, we automate tasks.
While virtualization made it very easy to deploy workloads from a computing perspective, there were still organizational silos and the inevitable dependencies on storage requirements and network requirements to complete the provisioning. Hence the concepts of abstraction, pooling, and automation, which made compute virtualization simplified, extended to storage and network as well. This paved the way to the concept of the Software-Defined Data Center (SDDC), as shown in the following figure:
To understand SDDC, we must start by clarifying that it is not a data center controlled merely by automation or scripting. As depicted in the previous figure, it is rather the creation of abstraction layers for compute, storage, network, and security that are managed at the software layer on top of which virtual data centers are built and scaled.
The former CTO of VMware, Steve Herrod, describes SDDC as:
"Software-defined means (1) abstract logical from physical (2) distribute functionality (3) manage as single system."
In this book, we will discuss Software-Defined Storage and VMware's flagship product in this area—VMware Virtual SAN.
Traditionally, storage was confined to the server's hardware; eventually, due to the increasing demand for storage capacity, availability, and centralized management, there was a need for a robust system to manage storage provisioning and maintenance. This lead to the evolution of storage area network (SAN) and Network Attached Storage (NAS). While a typical Fiber Channel, SAN, proved to be quite expensive, particularly the Fabric switch and the array itself, it also had other form factors that leveraged the existing network infrastructure in the form of iSCSI and NFS. Interestingly, a complete cycle of evolution is taking place and we are heading back toward storage being confined to the server and forming one of the methodologies of achieving Software-Defined Storage.
In a typical data center, we have several types of resource-intensive workloads that can be compute-, network-, memory-, or disk- intensive. While the compute and network needs are serviced by server virtualization solutions, such as ESXi, and network virtualization solutions, such as NSX, all the workloads need disk capacity, but with varying requirements in terms of redundancy and performance. The storage resources need to be elastic and dynamic, catering to different I/O requirements.
This implied that we needed a much more granular and dynamic management of the storage infrastructure, and such a degree of control can only be achieved at the software stack; we needed Software-Defined Storage.
Very simply put, Software-Defined Storage can be defined as a storage infrastructure that can be fully managed at the software stack.
Software-Defined Storage is truly aligned with the SDDC vision of the abstraction, pooling and automation of all the data center's resources.
The deliverable of Software-Defined Storage is a Virtual Data Service that is policy - driven; the three primary attributes of this deliverable are:
To better understand the value proposition of SDS, one should understand the current state of affairs, options at disposable, and the advantages of each option leading to the newest fad in enterprise storage; in this section, we will closely evaluate these options.
Storage arrays, such as EMC-Clariion and HP EVA/MSA, are some examples of traditional storage. These are presented in their raw form, and their conventional storage management software comes along with them, most often lacking intelligence, unaware of the consumers and workloads albeit at a high level. For instance, we define the host mode as Windows/Unix indicating that the server accessing the array has a specific type of operating system, such that any known optimizations for the OS can be applied. This, of course, does not suffice the level of intelligence that can enable Software-Defined Storage. Nonetheless, the traditional storage may continue to exist for several unique reasons and certain advantages/features until Software-Defined Storage is completely adapted. Most likely, these will eventually shape up as commodity hardware and the offload management capability to the software stack, and then these will converge to SDS; until such time, this technology will complement SDS.
Innovating from traditional storage solutions, software-based storage solutions decouple the basic management capabilities (if existent) or take commodity hardware and govern it through the software stack. Microsoft Windows Server storage space and Red Hat Gluster are some examples of software-based storage solutions. What is being sold here is purely software, and the choice of hardware is slightly flexible and commonly outlined in a compatibility list. The key thing to note is that the software only manages the storage and is not combined with the compute/server virtualization platform.
As the name indicates, Hyper-converged solutions unify the compute, storage and/or network under one roof. That is, one or more vendors will provide a packaged solution that will come in the form of a set of hardware that provides storage and network capabilities with a choice of hypervisors such as VMware ESXi or Microsoft Hyper-V.
In summary, Hyper-converged solutions arguably pose as hybrid solutions stemming out off and, effectively, may replace traditional SAN and Software-based Storage.
Of particular importance in this area and a key differentiator among the rest, is the VMware VSAN solution, wherein an abstraction layer for storage is in-built in the hypervisor. VMware has cranked up a notch ahead on this note and carved out a significant milestone with EVO: RAIL, an evolutionary Hyper-Converged Infrastructure Appliance (HCIA). This is done in partnership with an elite list of hardware vendors, in essence, vSphere and Virtual SAN are sold and supported in a box.
So what's the big difference?
VSAN natively understands vSphere Storage needs—this is crucial in terms of performance
Other Hyper-converged vendors need a controller VM to provide the storage abstraction, while for VSAN, this becomes a feature to be enabled
With some basic configuration settings after racking and stacking, you are ready to deploy the VMs
There is a single point of support for all issues
There is no specialized skill set needed to be a vSphere administrator than a bit of reading from this book!!!
In particular, EVO: RAIL is an all-inclusive licensing model, shipping with vSphere Enterprise Plus 5.5 U2 and includes the licenses needed for vCenter, ESX, VMware VSAN, and LogInsight
EVO: RAIL carves out an SDDC with these simple steps:
Procuring the appliance, racking and stacking it
Connecting to the top of the rack switch
Attaching your laptop to the switch and connecting to the RAIL IP address
If you are in a real hurry, just click on "Just Go!" and you are all set to deploy Virtual Machines.
Here is the definition provided by VMware—"VMware Virtual SAN is a new software-defined storage tier for VMware vSphere environments. Virtual SAN clusters server disks and flash to create radically simple, high - performance, resilient shared storage designed for virtual machines."
They say history repeats itself; true to this, we have completed a cycle moving from server-based in-built storage to storage array networks (SAN), we did this primarily for the following two basic key requirements:
Scalability: The local disk capacity was insufficient
Mobility and Resiliency: Server-based disks proved to be a single point of failure
Hence, moving to SAN storage addressed these requirements and brought to the table many more advantages, it also brought a challenge along in terms of cost.
The cost factor was, by itself, a significant driver to move away from the SAN infrastructure back into server-based storage.
VMware Virtual SAN is one such solution (arguably the best) that eliminates the limitations of server-based storage and optimizes performance by coupling hard disks with flash storage in its first generation. With the latest release, VSAN 6.0 supports all flash storage.
At a high level, the following diagram depicts a four node cluster that provides HDDs and SSDs formulating a Virtual SAN Clustered Datastore which, in turn, serves as the abstraction layer on which vSphere platform provides the disk capabilities for the Virtual Machine deployment.
Furthermore, we can implement granular control to frame individual virtual machine-level policies. Through policies, we can govern service-level agreements and the requirements of the workloads.
At the very root, while designing a virtual machine, the requirements are driven by the operating system and the application that will be contained in the virtual machine, that is, the requirements in terms of CPU, memory, disk, and network. All of the resources need to work in tandem to ensure that the end user experience meets the expectations/service-level agreements. From a disk perspective, the business will be interested in IOPS and redundancy, these requirements are embedded in virtual machine storage policies that will ensure that a virtual machine obtains the entitled resources during its lifecycle.
The future of IT is inclined toward a Software-defined Datacenter, whether it is on-premises or off-premises. Software-defined storage is the factor that accelerates this adaption by providing a very high degree of control and dynamism to Storage Management and Provisioning. While the directive is clear, the means of achieving software-define storage are aplenty. The question is, which solution will be optimal and be more advantageous than the rest? There are very strong indicators that a hybrid model that is cost-effective will lead the way, VMware have their noses ahead with Virtual SAN & EVO: RAIL. We have discussed the options available thus far and will closely assess the nitty-gritty aspects of VMware Virtual SAN in the upcoming chapters.