This, of course, isn't going to be the "normal" list of geekery and kitsch that other writers waste valuable bits on. This is the ultimate list of what a virtualization geek wants for Father's Day. Realize that none of VMware, Citrix, Microsoft, Oracle, or Red Hat ever call me up and say, "Hey, Ken, we were thinking that we'd like to know what you would develop for enterprise-level virtualization, if you had the resources and skills to do so." Nope, they just don't value my opinion on such things, although I've given it several times over the past several years. So, I've decided to give it away for free (again) and see what happens.
If I had the resources or skills to do so, these are the enhancements I would make to enterprise virtualization. See if you can add some of your own to mine. If you like mine, tell VMware and the others about them and maybe make them reality. I can dream can't I?
Unfortunately, the developers at the big companies won't let me in on any upcoming technologies that aren't publicly displayed, so even if someone were working on some of this, I'd never know it.
- Dynamic Cloning - I want a virtualization solution that employs dynamic cloning when systems are load-stressed or are in pre-failure mode. A group of three load-balanced web servers are overwhelmed during a marketing promotion for a new soft drink. Ordinarily, three is one too many but now, it's not nearly enough. The management software would "sense" the stress of the overloaded systems and dynamically clone one of the systems to be used in the pool. As need rises, so do the number of clones. When usage drops off, the clones power down.
- Dynamic Capacity Allocation - Related to Dynamic Cloning is the concept of dynamic capacity allocation (DCA). CPU, memory, network bandwidth and disk space could all use a little automated dynamic capacity allocation. The management software would check performance thresholds for DCA. If a system needs a little more memory, it's added. If a system needs more disk space beyond the maximum statically allocated, it's added. Yes, operating systems will have to grow up a bit to have additional memory and CPU added without reboots but it's a fine goal to aim for.
- Cloud-aware Management Tools - It would be an excellent opportunity for one of the big virtualization software companies to add on some tools to make the use of cloud storage and cloud computing capacity much simpler and more dynamic. The best example I can think of beyond adding more system capacity on cloud systems is that of disaster recovery (DR). Using cloud-based systems for DR is not a good idea. It's a great idea. If your service suffers an outage, your management software's built-in DR "heartbeat" monitor would spin up your cloud-based DR systems and minimize your downtime and preserve your SLAs. But, even less esoterically, you want to add some capacity for a special project. It's currently kind of a pain to spin-up that extra capacity. Better tools are needed to make these elastic transitions possible and more seamless.
- Automatic Space Distribution - Yes, another entry on automated capacity but with a twist. This time, your management software not only balances CPU and memory load via a Distributed Resource Scheduler (DRS) but also redistributes your disk images to different LUNs to enhance performance (Disk I/O and expansion (DCA)). It's almost impossible to know how disk capacity is eaten up by a mixture of thick and thin provisioning. And, with DCA, you'd need this to balance those dynamic capacity needs anyway. And, no you wouldn't want your VMs moving about in haphazard fashion, so you'd set thresholds and limits in much the same way you do now for DRS.
- Resource Pooling and Reporting - What I wouldn't give to have to stop worrying about cores, processors and vCPUs. To replace that, I'd rather allocate processing capacity as a percentage or a slice of the total available pool and provide authorized working ranges for those resources. Same goes for memory. And, yes, I do realize that this sounds an awful lot like mainframe computing (The original virtualization platform and cloud system). But, no, I don't want to return to those thrilling days of yesteryear and deal with the whole mainframe shtick. I just want my VMs to be up all the time. And, I don't want to worry about running out of resources on Host X and watching them do the DRS dance trying to find some.
These five items are at the top of my wish list of desirable features but I certainly won't hold my breath and wait for them to materialize. And, I know that someone will say that company X implemented this feature five years ago. Well, they haven't to my specifications, so there. I work with XenServer, ESX, KVM, OpenVZ, VirtualBox and Hyper-V and these are still the items that I wish I had at my disposal. XenServer comes close with resource pools (from #5 above) but still isn't quite there for my desires. And, I really don't have enough space here to go into explicit detail but just realize my dreams haven't come true yet with currently available technology.
And, as I said, I don't want a mainframe. Those things are too much of a black box. And, I really hate green phosphor character-based terminals and terminal emulators, so no thank you. I haven't logged into a 3270 in at least seven years and don't plan to anytime soon.
So, now it's your turn. What are some of the items on your virtualization technology wish list? Talk back and let me know. Let's get this discussion moving so that we can see our ideas materialize.
More Father's Day ideas