If you're considering building your cloud infrastructure on the latest version of vSphere, you probably weren't banking on Adobe Flash being part of your set-up.
VMware has announced vSphere 5.1 and along with it an updated web based management client. Features new to vSphere 5.1 will only be available in the new web client, effectively deprecating the old C#-based management interface. A number of factors lie behind the decision to jettison the C# client, and the web based one isn't as bad as you think.
Hm. Not as bad as you might think
The new web client is Apache Flex based, meaning it requires Adobe Flash to run. That little alarm that just went off in your head; it went off in mine too. To say that I am not comfortable with the idea of managing my critical network infrastructure using anything related to the bug-ridden security nightmare that is Flash is more than a mild understatement.
The alarm bell kicked in when VMware invited me to Palo Alto for a thorough look at the new stack of vSoftware 5.1. After an hour and a half of hands on with the interface however, my knee-jerk reaction has been tempered. The developers at VMware have obviously put a lot more effort into this interface than any other Flash-based anything I've ever had the misfortune of working with. This isn't some hastily-coded Flash-based video player or gaudy advertisement.
The new vSphere web client is a serious enterprise application that – after an hour and a half of trying to be a hot shot and find flaws in the beta – I couldn't crash even once. Abnormalities in layout, questionable design items, even spelling mistakes; those were found (and presumably since been fixed). Over a dozen experienced technorati – journalists, vExperts, sysadmins and analysts – hammered on the new web client until they kicked us out. We couldn't crash it.
While VMware has produced one of the few usable Flash anythings ever designed, speed is another question altogether. More than a few people have set out to prove that the web client couldn't hold its own. Here, results are more mixed.
The web client was ever so slightly slower at performing common tasks than the C# client. The lag is nearly imperceptible – sub-second delays – but noticeable if this is the tool you use all day, every day. To be fair, I was using Internet Explorer; most people aren't going to use a browser that slow in the real world. Additionally, the VMware bodies present assured me that a lot of the lag was due to the test lab being run from under-resourced VMs that were being hammered pretty hard that day.
That minor – and potentially irrelevant – gripe aside, the web client has a huge advantage over the old C# client. It gets rid of the "white screen of death." In the traditional C# client, certain tasks – such as enumerating a large number of objects – can cause the client to freeze until complete. Often this results in the client window turning white. This is "get up and have coffee" time.
The web client solves this by moving lengthy tasks like object enumeration to the background. You can see them running and step back in if you choose, but you can also carry on and do other tasks while you wait. The end result however does not justify the platform choice. To that end, I spent some time asking the uncomfortable, pointed questions…and I came away oddly satisfied with the answers.
To get the tinfoil hat stuff out of the way; a Flash-based client was nobody's first choice. There wasn't a secret cabal of moneyed someones paying VMware to breathe life into the ailing corpse. The choice of Flash isn't some bizarre attempt to bite the corporate thumb at Apple. Nor is there a suit high up the ladder somewhere at VMware clinging desperately to the past, inflicting their awkward choices on the staff; and by extension all of us.
The answer to the "why Flash" question is something that should have our entire industry hanging our collective heads in shame. The C# client was getting painful to maintain, and no other cross-platform technology was good enough.
Silverlight isn't exactly cross-platform. In the systems administration world, Linux and Unix both matter. The moonlight project doesn't quite keep pace, and even considering only the official Silverlight client on supported operating systems, browser support isn't quite fully populated.
Java poses similar problems. Systems administrators are already inundated with Java versioning issues. A lot of the management apps we run are Java, and a good many blow up if you use anything other than the precisely tested version it shipped with. VMware did not want to add to these troubles. An additional consideration is that by developing an application requiring bleeding edge capabilities and going Java, you write off mobile devices just as they are proliferating at unprecedented levels.
Isn't HTML 5 supposed to be the land of faeries and unicorns, open standards and interoperability? Turns out, not so much. To build a management interface with the complexity required to meet VMware's ambitions, they would have to code everything to the absolute bleeding edge. While core HTML 5 functionality is (mostly) gelled, the really good stuff is still a moving target that isn't implemented properly in all browsers just yet. In the future, after the spec has settled a bit and browser vendors have pulled their fingers out, VMware would love to make an HTML5 client. It simply isn't feasible today.
There is hope; the existing web client uses the very same APIs available to anyone in order to get things done. If you felt like writing your own client, you could go ahead and do so. More to the point, when the day comes that HTML5 is good enough to run the "single pane of glass" management interface for your entire datacenter, VMware will be ready.
If you want the latest greatest from VMware, and to take advantage of all the new features, stop worrying and learn to love Flash. Adobe finally gave the thing an autoupdater, and you can always use Ninite if you don't trust users to deal with the occasional pop-up. There are browser extensions to keep it under control if need be. Most importantly of all: the alternatives are worse.
VMware has done a spectacular job of delivering the first enterprise-class Flash application I have had the pleasure to use. The web client in vSphere 5 was an interesting toy that we collectively poked at, shrugged, and went back to the familiar C# client. This time the training wheels are off, and VMware doesn't disappoint. ®