Microsoft, Windows Azure and Assisted Transitions
I've been working on a big Windows Azure research project recently, and it's got me thinking. For well over a year now, developers have been inundated with cloud messaging and evangelism. The marketing, news and analysis make the on-premises model sound completely passé, and yet cloud development is still far from common.
As with any big shift in technology, a lot is at stake for developers. No one wants to make significant investments of money, attention and free time on something that will be a mere flash in the pan -- or even a stable, yet niche, technology.
We've been here before, with the launch of microcomputers, the advent of client/server databases, the growth of GUI technologies, the flight to object-oriented programming, the shift from 16-bit to 32-bit APIs, the emergence of the Web, the move to managed code and more. Each of these technology shifts brought huge burdens in learning, capital investment, application rewrites and more. I'm afraid the cloud-computing model -- for all its benefits -- will impose another round of these cyclical burdens.
Getting There from Here, and Vice Versa
For Microsoft developers, though, there's good news here. When it comes to easing these generational transitions, when it comes to bridging the gaps they introduce, when it's necessary to create new development environments that work intuitively for the experts in the older ones, Microsoft really shines. Think about it: When Windows reached prominence, Visual Basic gave QuickBASIC developers a chance at bat. When SQL Server came out, we could query it with the APIs we used with Access. When the Web became prominent, Active Server Pages let us use Visual Basic to program it. Successive versions of Visual Studio made ensuing changes more approachable, too.
These transitioning aids are often themselves transitional: Not so many people use DAO against SQL Server anymore, and lots of people do their Web development in C# instead of Visual Basic. Our new code doesn't look like our old code, but with Microsoft, we had a path to get from old to new, and it was pretty smoothly paved.
This tradition continues. I've written about the value of the consistency of Windows Azure with on-premises Windows Server and the Microsoft .NET Framework; I've applauded SQL Azure and its symmetry with SQL Server. I've also discussed how the Professional Developers Conference 2010 Windows Azure announcements -- for things like the Extra Small Instance, AppFabric Caching, SQL Azure Reporting, the VM Role and SQL Azure Connect VPN access -- build on that symmetry and serve to further ease the transition from corporate datacenter to cloud.
But it's only with some significant hands-on research of late that I've really grown to appreciate just how important all of this is.
Here's my take: Doing Windows Azure development feels like starting a new job, but in the same line of work. You use the same tools and techniques in your work, and draw on the same experience to do your job. Put another way: You'll still know the ropes and you'll maintain your confidence.
This works on the business side, too. Windows Azure services are being integrated into MSDN subscriptions and corporate Enterprise Agreements, just like conventional software licenses. Windows Azure training comes from the same Microsoft and partner channels -- even the same trainers -- that you already know. You'll keep your account reps and your partner account managers, and you'll likely keep your consulting providers, too. But you're still getting the cloud, not just a bunch of on-premises stuff hosted on a virtual machine.
Does Microsoft have a self-interest in maintaining this continuity? Of course. Change and retooling is expensive for Microsoft, as would be jettisoning the value and stability of the on-premises server platform Redmond has built over the last decade and more. That doesn't compromise the efficacy of Windows Azure, though -- in fact, it helps assure it. Microsoft needs a platform that's competitive, complete and mitigates disruption. So do you. After significant hands-on work with Windows Azure, I can safely say that's exactly what you get.
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!