If you ask me what a software defined datacenter is, I think of it as follows…
A software defined datacenter is a set of highly virtualized infrastructure – comprising compute, networking, and storage – that provides policy-driven protection and performance guarantees for all workloads on the platform.
I would like to break this down a bit to explain further.
Do you remember your first virtualization project? Do you remember why you first virtualized, and decided to go from this…
… to this?
I ask a lot of folks this question, and I get a lot of different answers – everything from “it was simpler” to “faster provisioning” to “operational efficiency”… All of which is true, but most companies really started to virtualize for one main reason – savings. It was cheaper (and still is, by the way) to deploy, say, 10 physical systems instead of 100.
So, let’s say you first virtualized for savings on hardware, savings on environmentals, and ease of provisioning.
Almost to a person, nearly everyone forgets about some of the surprising benefits that vSphere has brought along the way – they are so taken for granted at this point it is assumed to be just ‘the way things are…’
In addition to aggregating the physical CPU and memory capacity of your cluster, and sharing it across physical hosts, your virtual machine is essentially encapsulated in a software wrapper. This wrapper has he ability to do some pretty interesting things with your virtual machine, as far as CPU and memory are concerned- it gives you the ability to provide limits or reservations for both! Furthermore, the cluster provides mechanisms to protect your virtual machine – such as vSphere High Availability, Fault Tolerance, DRS, etc.
In other words, you have the ability to create a policy for your virtual machine(s) that dictate both the protection and the performance of the virtual machine’s processes in CPU and memory – all in software.
“Well,” you think, “that’s all very nice… but what about the network?”
Great question – what about the network? NSX Datacenter provides fundamentally the same capabilities! It aggregates all the physical network ports for the cluster into a single, shared pool of network capacity. Then, using tags, virtual machine names, IP addresses and other network constructs, it allows you to write rules that will:
- allow or disallow virtual machine communication
- guarantee or limit throughput
- redirect traffic to a third party security appliance
- provide load balancing services
- et cetera…
In other words, you have the ability to create a policy for your virtual machine(s) that dictate both the protection and the performance of the virtual machine’s network traffic – all in software.
Lastly, let’s consider storage. For a long time, VMware built out its ecosystem of storage partners, and helped those partners better understand and meet the needs of virtualized infrastructure. Over the past few years, while we continue to cultivate those partnerships, the growth of solid state storage and high-speed networking has made some things possible that were previously unimaginable. vSAN, the industry’s most popular software defined storage for hyperconverged infrastructure, takes the capabilities of virtualization and extends them to the storage layer. It aggregates the performance and capacity of physical drives across your cluster into a shared pool of storage for your virtual machines. It then provides the ability to create rules that:
- provide specific protection levels for VMDK files
- create stripes for better performance
- set IOPs limits
- encrypt your storage
- et cetera…
In other words, you have the ability to create a policy for your virtual machine(s) that dictate both the protection and the performance of the virtual machine’s storage (VMDK files) – all in software.
Where does that leave us?
- a highly virtualized set of infrastructure
- comprising compute (vSphere), networking (NSX), and storage (vSAN)
- providing policy driven protection and performance guarantees…
…for all workloads on the platform.