The vSphere Pocketbook 2.0 Blog Edition has been released!
If you were unfortunate to not receive your copy at VMworld, you can always order at Amazon
I have also decided to post my contribution to the pocketbook here for all to read as well! Enjoy!
Systems Thinking Impacting Design Decisions
As with most design decisions it becomes imperative that all steps are taken to prove out a design that meets and exceeds all expected goals. In the world of virtualization, the choices we make are the new foundations of the enterprise. This is why it’s more important to get the process right in making a good design decision. It’s much easier to correct the implementation than having to go back and start over with the entire process. It is with this mantra that I want to explore one idea on how to implement a Systems Thinking approach for good design decisions in virtualization.
As technologists we thrive on new products and services that tickle our inner ego. This is where it becomes imperative to implement a process that incorporates all inputs that can help drive a successful design decision. The old military adage of “7 P’s” (Proper Planning and Preparation Prevents Piss Poor Performance) can even be relevant in a virtualization type of project design. This preparation and planning can be realized in the collection of inputs to a project design, where they can be broken down into smaller pieces for ample analysis. This is called the Feedback loop – a causal path that leads from the discovery of a design gap to the subsequent modifications of the design gap.
It’s this reciprocal nature of Systems Thinking that provides a constant feedback loop to the design. The ultimate goal is a design that changes based on external parameters to meet a new set of goals or challenges. If you can get to a design like this, then you can become more agile and not have to implement patch solutions to accomplish a new forced or unforeseen change.
To illustrate how such a process can impact design decisions, let’s first look at a common problem in many environments. Many organizations are growing their virtualization environment at a rapid pace therefore, there is a constant pressure to provide enough storage capacity/performance as the VMware environment constricts.
As you can see this is a simple, yet applicable example of a feedback loop that can help you break apart the pieces of a design to come up with an effective solution. Let’s now go through the pieces to understand the relationships and the effect they can have on the design.
As the “User Base” or as “Applications” are virtualized this puts added pressure to increase the number of ESXi hosts to support the compute requirements. As in most environments the number of ESXi hosts increase; this will increase the demand and contention on the storage systems to keep up with the I/O load. In order to keep up the capacity growth demands and I/O performance load, this pushes the admin to add more spindles to the storage environment. More spindles allow for more I/O processing which as a result could increase the demand for a faster storage fabric. This loop finally decreases the demand on the storage system in a response to the growth, but as you can see it’s only temporary, since there is still added pressure from new user and virtualization growth. The only way to turn the tide on the storage pressure is to instrument a negative reinforcing loop. An “I/O Offload” solution can help by decreasing the demand on the storage system and thus provide better consolidation back onto the ESXi Hosts.
What this illustrates is how a Systems Thinking approach can help overcome some of the complexity in a design decision. This is only a small subset of the possibilities so my intention is to provide more examples of this on my blog. If you want to learn more about Systems Thinking check this short overview to a larger context. http://www.thinking.net/Systems_Thinking/OverviewSTarticle.pdf