Infrastructure Scalability and Datacenter Design for VDI
We’re all familiar with the concept of the core four
resources: CPU, Memory, Network and Storage.
These days, we tend to combine CPU and Memory into a single “Compute” resource
(since they are both contained within a single object, the ESXi host), but the
concept still holds. When we’re talking
about resource utilization for a VDI solution, we’re usually concerned with
Compute resources and Storage resources; PCoIP, RDP, ICA – they’re all pretty
efficient protocols, so even a single gigabit adapter provides more than enough
bandwidth for the VMs on most VDI ESXi hosts (IP based storage, on the other
hand, might see more benefit from additional bandwidth).
So, how do we scale our Compute and Storage resources, as
the project advances from POC to Pilot to a phased production rollout? The answer to that question depends on how
your infrastructure was designed – it was designed to be scalable, right? At a high level, I’m seeing two different
movements within the industry right now – call them discrete infrastructure and
converged infrastructure. Each one
scales in different ways, and there are some very interesting things happening
in both spaces right now.
Discrete infrastructure refers to those designs that use a
collection of specialized, purpose built boxes. This methodology was traditionally used in the
virtualization space, with dedicated systems providing the Compute resources
(the ESXi servers) and separate dedicated systems providing the Storage
resources (the SAN). This infrastructure
includes using rack mounted or blade servers with a separate storage device. This design philosophy traces its roots back
to the Mainframe, where all of the various resource components are tied
together into a single powerful datacenter which can be accessed remotely.
Converged infrastructure, on the other hand, brings all of
the resources together into one system.
A single box has Compute and Storage resources (and, in some cases,
Networking resources as well), and is generally both modular and self-contained. This design philosophy is more in line with
the Desktop/Smartphone model where we see self-contained computing resources
distributed to the points where they are needed (which could very well be a
single datacenter, although I see more movement towards a distributed model
with converged infrastructure).
How do these two classes of infrastructure scale? Well, it depends. If designed well, both can be easily scaled,
but each has its own challenges.
Discrete infrastructure gives us finer control over the individual
resource components. Are you running out
of CPU/Memory? Just buy another blade;
assuming that your storage is fine, it’s a comparably cheap upgrade. Need more storage performance? Well, that can get tricky – and that’s the
situation in which many people find themselves when expanding a VDI
deployment. Adding spindles to a big
storage array can add some performance… but the bulk of your storage
performance isn’t going to come from those spindles, it’s from the storage
controllers and their cache (usually the Write Cache, to be more
specific). Depending on your SAN
solution, adding another storage controller can be very expensive. So this
model scales very easily, up to the point where more storage performance is required. At that point, a large investment is required
in order to add another large chunk of storage performance.
Converged infrastructure, on the other hand, bundles all of
those resources together into a single system.
If you need more CPU/Memory, you need to buy another server, which
brings with it another chunk of storage.
This makes that server more expensive than one that only provides
Compute resources, but it means that the Storage resources are now scaling
linearly along with the Compute
resources. In a well understood VDI
environment, where the Compute and Storage resource requirements are known, a
good design on converged infrastructure can fully utilize each node. This allows the environment to take advantage
of that linear growth capability; the customer does not need to overprovision
their storage in the initial VDI phases, as the storage grows along with the
compute resources. This efficiency
requires careful planning and assessment though, as both the Compute and
Storage requirements in the environment must be well understood.
Another interesting development that has come about recently
is the hybridization of the two models.
Call it a software converged infrastructure. In that model, the physical infrastructure can
be discrete – with dedicated compute systems and dedicated storage
systems. By running virtual appliances
though, each compute system can run its own optimized storage (sometimes in RAM
for blazing fast speeds) creating a converged-like scenario. This allows for a more linear growth in
performance, as each Compute node also brings with it Storage performance,
while utilizing a customer’s pre-existing investment in a large-scale SAN.
Any way about it, the infrastructure must be scalable for a successful
VDI deployment. Different designs will
scale in very different fashions. Since VDI tends to scale much more aggressively
than VSI, it is important to understand the scalability implications of any
specific design and to plan for easy growth as more and more of a given
enterprise moves to virtual desktops.
Comments
Post a Comment
Sorry guys, I've been getting a lot of spam recently, so I've had to turn on comment moderation. I'll do my best to moderate them swiftly after they're submitted,