posted

3 Comments

Our goal is to build labs that are useful to you, our customer. To be honest, our secret evil plan is to get you to buy our products… but don’t tell anyone. Now, it would be really nice if we could put everything you might need into each lab and allow you to do anything you want inside the environment. Unfortunately, there are some limits to what we can offer while continuing to provide a consistent and positive experience.

As an example of one of these limitations, we do not currently offer installation labs via our online portal or at VMworld. These are labs that would contain the installation media and bare infrastructure components. We receive several requests for this kind of thing via our surveys, and I wanted to address these with a little behind-the-scenes information. Part of the challenge is that these kinds labs create a lot of stress on the back end that causes everything to slow down.

We all have to share…

While I’m not saying that the possibility of labs featuring installation is completely out, I would like to share my perspective. Like you, we have limited capacity and performance available. Being careful with our workloads, allocation and usage allows us to provide a reasonable user experience while maintaining the high levels of scalability that we require for our service. We do not currently have enough capacity to provide fully allocated, dedicated resources to each lab environment we deploy. In order to provide dedicated access to gear, we would likely need to implement a fee-based scheduling model rather than the current on-demand (and free!) access model. So, today, everyone taking our labs is sharing the pool of hardware.

Purpose of the labs

It is important to understand that the labs we provide today are designed to showcase our products’ features and demonstrate use cases. These labs are not intended to showcase performance or serve as generic sandboxes. Each of the labs available today has a defined purpose, flow, and story. Make no mistake, each of these labs is a live, independent and self-contained environment rather than a simulation. This means that you can “freestyle” within the confines of the lab environment you select. As long as you understand that is not the fundamental purpose of these environments, I think you’ll be fine.

Challenges with installation labs

Even armed with that information, you may continue to wonder why we do not offer install labs. Ultimately, it has to do with workload. Installation activity requires a lot of disk I/O and tends to perform very poorly at the scale we experience, especially during a conference like VMworld. Why? Installation I/O consists of a very high percentage of writes. This type of I/O tends to fill the write cache of the backend storage arrays and makes them work unnecessarily hard. When the cache is full, the array must go to disk to service the requests. That’s not fast and requires the array do all kinds of work writing transient install data that gets wiped out as soon as your lab is over. That is not necessarily a problem, but the resources required to perform that work take away from the resources available to perform other actions like deploying and servicing new lab instances for other users.

Compare this to the I/O required for a typical lab with all of the software installed: we spawn a differential clone from the base lab template and boot it up. This is a mostly-read operation accessing commonly-accessed blocks and benefits greatly from read cache on the backend storage. Because of this, many users can start up the same lab simultaneously while maintaining high performance. Conversely, when two users perform the same installation, even though they might be writing the same data, the data goes to different blocks on the storage, meaning that each user’s I/O is unique. That means twice as much work for the storage. When you scale that to hundreds or thousands of users, it becomes interesting.

Installation = Interesting? Fun?

So, ask yourself this question: “Is installing software fun?” In my IT career, I have performed many installs for a lot of companies. In my opinion, actually installing the software is the least interesting, most tedious part of any implementation. You may have a different perspective. However, our current goal is to provide you with an express pass to the really interesting stuff: actually using the products to see if their functionality meets your needs.

As a consultant in a past life, I can’t tell you how many times I talked to customers who just wanted to “see” what a product looked like before purchasing it. We’re here to make that much easier than in the past. That said, I completely understand that practicing an install can be invaluable, especially when you are expected to scope an engagement or walk a customer through the installation. There are few better ways to validate requirements than walking through the actual installation: that required database that the manual never mentioned reveals itself pretty quickly during the installation. =)

A Compromise

In order to provide a bit of the installation experience, we started providing links in some of the lab manuals to videos showing the software installation process for some of the components used in the lab pods. I think this provides a similar experience with less overhead (for us) and waiting (for you). Hopefully, you will agree that this is a reasonable compromise.

Another Option: Evaluation Guides

If you really want to perform a hands-on installation and base configuration of the products, you can download, install and configure them in your environment where you can control the whole stack. You wouldn’t have anywhere near that flexibility within one of our labs. To get started, you can sign up for an evaluation license of most of our products and get access to the actual software.

To provide you with “kick the tires” guidance, we have a great team of folks in Technical Marketing who create White Papers and Evaluation Guides. If you haven’t seen those, you are missing out. There is nothing better for actually getting the bits running in your own environment for testing purposes. (Well, nothing besides hiring someone to do it for you — but that costs money). Some examples of these Evaluation Guides are listed below:

You can find more of the available Evaluation Guides by Googling for something like, “evaluation guide site:vmware.com”

Thanks for reading and Go Take a Lab!