Application delivery….at the end of the day, it’s really what we do in IT, isn’t it? It’s what all the complexity, all the cost, and all the headaches are for: delivering applications to our users.
Sure it’s cool to talk endlessly of hypervisors and spindles and hybrid storage arrays and network virtualization, but we’re not paid to just have fun with racks of gear. We’re paid to make sure the applications our users need are accessible when they need it, wherever they may be.
Yeah. Let’s talk about Layer 7 baby. User space. C:UsersAppData, the registry Hive all that good stuff.
An executive once came to my IT department and said what he wants out of IT is for it to function like an electrical utility. When the user toggles the light switch, it should just work; the light should turn on, he said. Our job as infrastructure engineers, he continued, was to watch all the turbines and generators and power lines in the background to ensure the reliable delivery of just-in-time electrical capacity for the moment the user toggles that switch.
I wish I could talk with that executive again, because I think that analogy is useful, and what’s more, it’s kind of the model public cloud providers like Google Compute Engine, Amazon, and Azure are selling. They want to become your company’s computing utility provider.
I’m down with the “cloud” and excited by some of its potential, but to go back to that executive’s analogy, I don’t see the whole picture here. Sure, take my infrastructure, cloudify it, put some Azure or AWS way up into it…have at it. I get that.
But what’s the light switch look like? Does it operate the same as the one my users are familiar with on-prem? Does it toggle vertically, or does Cloud Provider.com require horizontally-toggled light switches for some obscure reason? Is it a radically different light switch, operating on Direct Current rather than the familiar but inefficient Alternating Current? What other surprises regarding the light switches are there?
Because I hate surprises. Especially on high visiblility & fundamental things like light switches that my users need to do their jobs.
- On Google Compute Engine’s cloud, app delivery from what I can gather is some mix of HTML 5, ChromeOS or Android apps, or, perhaps VMware View + ChromeBooks. Lots of Linuxy stuff. For an on-prem Windows environment, with some in-house .net coded business applications, the path to the Google cloud is murky and probably involves quite a bit of dev work.
- Amazon offers cloud VDI...they say they can virtualize your company’s desktop PC and park it in the cloud. Which is like taking my on-prem light switch and just putting in in the cloud. Cool! But the Windows tech they’re using, as Aidan Finn points out, is still Server 2008 R2. And my line of business applications are all in Windows 2012 & SQL 2012.
So Microsoft, you’re at bat: how do I deliver my apps to my users in Azure? What’s your light switch look like?
Well today they took a big step forward by announcing something I’m intimately familiar with: RemoteApp for Azure.
RemoteApp, if you’re not familiar with it, is old-school session virtualization, a sort of “first base” in the virtualization story. It’s how we got more out of our hardware before Hypervisors came along (Second Base, in my Virtualization is Like Baseball Bases theory, a diagram of which you can see to the left). It’s the bit of tech that made Citrix into an amazing software company and a valuable Microsoft partner.
RemoteApp is user session virtualization and it’s still around as part of Microsoft’s Remote Desktop Services suite. And it’s how many folks deliver rich Windows apps to their end users (XenApp is king in this space of course) on an increasingly large amount of diverse platforms.
And now Remote App is in Azure, in preview form, but still. This means the light switch in Azure is the same light switch my users are used to. It’s a little less friction in my path to the cloud, both for me, and my users.
That said, session virtualization can be a royal pain in the ass. So from an engineering standpoint, I’d love to see if Microsoft, acting as a computing utility provider, can fix the top three problems I have with session virtualization technologies:
- The Group Policy Blender: Session virtualization is tricky at scale because a lot of the management aspects for RemoteApp are Group Policy based. This was really true in Server 2008 R2; 2012 offers better control, but still, much can go wrong. If you use RDS/RemoteApp at scale, with multiple child domains logging into an RDS farm, you have to spend considerable time researching & perfecting Group Policy because you’ll be blending User & Computer group policies from multiple sources (and multiple domains) into that session. Guess what? A lot can, and does at times, go wrong when you build a computer that is logged into by multiple people simultaneously; this alone makes session virtualization almost as tough a nut to crack as VDI.Azure has the scale to just build out VMs to address that complexity; I don’t. Hoping there’s some new logic in place that may trickle down to me or justify me offloading this to Azure completely.
- Localization: Here’s hoping Azure RemoteApp has something more elegant and less-hackish than I what have on-prem to localize sessions. My RDS server is in North America. My user is in Australia. Make the session reflect the Aussie users’ time & date format and the goofy way they use commas instead of periods in monetary units. Oh and when the French user logs into the same RDS box, apply, the….je nais se quoi….qualities the French userbase demands. You know how I do this now? A simple vbs script is triggered upon login; if an LDAP lookup of the user matches certain criteria, the French regional settings.reg file is applied to the registry hive. I want desperately to Powershell this; I wonder how Azure does it…maybe the fix is to park the session in the Azure datacenter closest to Paris & Sydney, something I can’t do. In that case, awesome!
- Printing: Whole companies have been founded to optimize printing from session virtualization instances to the HP Laserjet on your desk. To say that printing can be a headache in session virtualization is a bit like saying a fire at a gas station can be a reason to call the fire department.
If Azure can solve these things, or at least make them operate reliably & securely and speedily (in the case of printing), they can really put themselves at the head of the pack when it comes to cloud adoption in organizations like mine*. As long as the cost for Azure RemoteApp is the same as or cheaper than on-prem RDS licenses, I don’t see why anyone would want to keep RemoteApp on prem.
Now, about App-V….
* I do not speak for my organization even though I just did