By now everyone should be familiar with Microsoft's upcoming "RemoteFX" extension to RDP which will be available as part of Windows 7 and Windows Server 2008 Service Packs 1. RemoteFX promises to offer a near perfect remote display experience, including multiple displays, 3D, multimedia, and Aero glass.
The downside of RemoteFX is that it will require some serious host-side GPU processing, and that in the first release it will only be targeted for LAN scenarios.
It's no secret, though, that Microsoft plans for RemoteFX to be as ubiquitous as possible. In fact they'd like it to become as popular as H.264, with RemoteFX becoming the de facto standard for live-generated interactive content (screens, apps, games, etc.), while H.264 will be used for pre-rendered video content (movies, tv shows, youtube, etc.).
One of the qualities of RemoteFX is that while the remote host encoding requires quite a bit of horsepower, the client-side decoding is relatively simple--something that can be done via a very low-cost chip or even by adding a couple hundred thousand logic gates to existing system-on-chip designs.
And to that end, Microsoft has already announced deals with LG where LG is building displays that have RemoteFX decoding capabilities built right in. So when you buy your fancy new LG 42" flat screen TV, the Ethernet port on the back will allow it to connect to a network to essentially become a huge RemoteFX thin client.
Of course this shouldn't be surprising. Teradici has already done a similar deal with Samsung who now has a line of displays with PC-over-IP decoding chips built-in. And just about every TV you buy nowadays has advanced capabilities which let it play video-on-demand from various websites, so the idea that TV makers would add RemoteFX or PCoIP capabilities as standard offerings in the next few years is not too far fetched.
So what's this have to do with Azure?
Ok, so far, so good. But what's the point? Well so far I don't feel like we've really gotten a good answer from Microsoft as to why they bought Calista and developed RemoteFX.
Does Microsoft really care about enabling a great remoting experience for Windows? I mean they've been fine to let companies like Citrix and Quest extend and enhance RDP for the past decade--why the sudden urge now for Microsoft to have to do this themselves?
From a public standpoint, Microsoft has stated the goal of RemoteFX is to "push Hyper-V sockets," which means "since Hyper-V is required for RemoteFX, we want to make this awesome RemoteFX thing so that everyone will want to use Hyper-V." And I gotta say, for the past year or so, I believed that. I believed the reason they created RemoteFX was to push Hyper-V seats.
But recently it hit me. "Wait.. What?!? Does that actually make sense? Does Microsoft really want to embed RemoteFX capabilities into endpoints and clients and TVs around the world just to push Hyper-V?"
Last weekend I visited friend-of-the-site Benny Tritsch in his home outside of Frankfurt, and the topic of RemoteFX came up. "Come on..." Benny said, "RemoteFX is not about Hyper-V, it's about Azure!"
Of course! Benny mentioned this just a few days after Microsoft announced their Azure-based infrastructure as a service (IaaS), which is their Amazon EC2-like offering where you can pay a few cents an hour to run Windows Server instances in the Azure cloud. (Gabe wrote about this last week.)
The more Benny and I discussed this, the more I felt he was right. The current "v1" of the Azure IaaS offering doesn't offer GPU support in the VMs, and thus doesn't offer RemoteFX support, but that's ok because the v1 of RemoteFX is not going to be aimed for the WAN anyway. But think about Microsoft's direction. Let's assume that in a few years the server vendors and GPU vendors actually have datacenter-tuned GPU offerings. And let's assume that Azure offers more control over individual VMs (and even support for Win7 VMs). And let's assume RemoteFX v2 works better on the WAN. (Well, and let's assume that every home user has multi-mbps bandwidth and is no more than 30-40ms from an Azure datacenter.
If those assumptions come true, then you have a pretty compelling framework for desktops and applications on-demand from Microsoft via Azure. (And hey, guess what! When this is all real we also have RemoteFX decode capabilities built-in to lots of different TVs, and the stand-alone RemoteFX thin clients are available at Best Buy for $99.)
And by the way, don't think this stops with the Windows desktop and apps. Don't forget about Xbox from Azure. You'll just plug the Xbox controllers right into your TV. Or your $99 thin client. Games on demand. Apps on demand. You whole life in Azure. So let Google and VMware chase these new-fangled built-from-scratch Java/HTML5/whatever apps in the cloud. Microsoft will give you full rich Windows apps and games from the cloud, thanks to Azure and a little company called Calista that they bought almost three years ago.