The scale of computing is expanding, enabling greater power on smaller devices on one end, and tremendous compute power and connectivity on the other. Somewhere in the middle are the devices which got us all interested in this industry to begin with, but perhaps because we're all parents at heart, "smaller" has a special place for us, and small devices a special appeal.
Which makes it all the more difficult for the leader of the big side of the scale to garner attention at a show devoted to all the transformation happening on the small side of the scale. Microsoft did not give away coupons for compute instances or VMs on Windows Azure this week at Build 2011. Which is sad, because in a way the more important stuff - the developments that will have a much greater impact on your life than a slick, sliding Start Screen - are taking place on the big end of the scale.
Scott Guthrie is one of the heroes of every Microsoft conference. Now the Senior VP in charge of Windows Azure, he became well-known and also very well-liked for being the tall, slim, soft-spoken champion of Silverlight, the lightweight app development platform that started Microsoft on the course of mobile apps. He's a believer in the power of the small scale. And yet here he is leading the big scale, letting Silverlight move on to its eventual destination, whatever that may be.
Guthrie spoke with me at length at Build 2011 on Wednesday afternoon.
RWW: When Windows Azure started, it was the .NET programming platform. What it seems to be now is the all-purpose repository for server functionality - the data store, identity management, connectivity. This seems to be as much the back end of Windows, in the modern age, as any other component of Windows.
Scott Guthrie: I'm not sure I'd go quite that far.
RWW: Well, we've seen demonstrations here of porting SQL Server databases whole into the cloud. But we're also seeing utilization of that by Metro apps on tablets. So it's the type of service that 10, 15 years ago, at that scale, would have been provided by a [Windows Server] library. Well, here it is provided through connectivity in the cloud. It gives me a sense of a global diagram of Windows where Azure's at the base.
SG: I think one interesting this is, seeing us take Azure a couple of different directions. One is, there's a huge TCO cost savings. [We're thinking], "How do you enable companies to run their infrastructure cheaper, their applications cheaper, and just make developers' lives better?" There's a whole element of what we do in the cloud that's around that; there's immediate cost savings and benefits provided by that.
I think the more interesting part about the cloud in the next couple of years is not how we make existing scenarios better. It's going to be about opening up new scenarios that, frankly, all of us struggle to conceptualize even today, because they feel like science fiction. We showed a few of those off today in the keynotes, showing identity, integration, and single sign-on with notification services integrating with Windows 8 devices, and we showed off games using Windows Azure as a back end for storage. I think over the next couple of years, there's going to be this steady number of scenarios that are going to be enabled by cloud-based computing, that are going to be really exciting.
Not just cloud apps, cloud data
SG: One of the things we talked about today, and I think you'll see us talking more about over the next couple of years, is the move from structured to unstructured data. The cost of data storage has plummeted to a point where it's almost cost-effective to store anything now because you can get economic value out of that gigabyte of storage, that easily pays for the actual cost of storing it.
RWW: In the development toolkits for Azure being distributed this week, will there be ways for new developers and small application developers in small businesses to take advantage of a contracts-like system, if you will, so that they can get a leg up into utilizing these new data schemas and platforms, as we saw in the Day 2 keynote?
SG: A couple of things we're going to see with Azure going forward: One is the getting-started experience. I come from a developer framework, tooling background. But one of the things I've always strived for in terms of things that might be built is, how do you have that initial concept count be really easy, and how do you pay-as-you-go in terms of concept counts on top of that? To your point of, how does a small business or new developer get started? How do we make it so that you can say, "Hey, go to our Web site, and in five minutes you can build and deploy an app, and then in a few more minutes you can take advantage of a new feature, and in a few more minutes another new feature?"
Is Azure moving to infrastructure-as-a-service?
RWW: A few years ago when Azure premiered, and I asked what service class it belonged to - application as a service, platform as a service - it was described to me as a PaaS, at that time. Do you see, in the evolution of Azure, this becoming a lot more of Infrastructure-as-a-service?
SG: I think you'll see us support more infrastructure scenarios. We have a VM role today that we're in the process of bringing out, there's a public beta. I think we've certainly heard from customers who've said, "I've got code that I want to port easily into the cloud without having to do much work." So there's a benefit of having VM roles. Certainly, look at what Amazon's achieved. "Take this OS image and run it!" There's benefits to that, and we want to make sure customers can do that with Windows Azure easily in the future.
At the same time, I think we often think of IaaS as a kind of important step along the way, but it's not the destination. That's why we've always been focused on Platform-as-a-service, as the end state that we think people want to get to. It can either be PaaS or SaaS. Those types of solutions tend to lend themselves much better from a cost savings perspective, and you can really take advantage of that elastic capability.
I don't think of IaaS as replacing PaaS. I think of it as complementary. If I was talking to an enterprise that was rebuilding a system today, an ISV or a startup that wanted to basically go big in a big way, the thing I would encourage them to do is think about, how can you have stateless roles, how can you elastically scale out and build on an architecture that you know isn't going to come back to haunt you when you go big? That's one of the things we've done with Windows Azure, and I think we've done a good job [of addressing the question,] "How do we guide you toward the pit of success?" There's a set of design patterns that we push pretty hard in Azure that really do give you that flexibility to scale out, that really does give you 99.95% SLAs, and makes it difficult, in some cases, to inadvertently shoot yourself in the foot. That's why we're still big believers in PaaS.
Scott Guthrie, Senior VP for Windows Azure, Microsoft: The place that I want to get to, and you'll see us move towards over the next 12 months, is how do we take some of these concepts that are hard to learn today - and not just in the Azure space, but distributed computing concepts - and democratize them for developers so that they can a) learn them, but b) start using them and get immediate return on value? Because that is always the thing that encourages you to go even further in your apps. It's both a concept count perspective and an approachability perspective for the platform, and that's something we've historically done pretty well with our developer tools, and our developer conferences like this.
I think also from an ecosystem perspective, things like the Marketplace in Windows Azure, like the Store in Windows 8, we're also creating that economic incentive where if you build something great, you can actually sell it to others and you can make money from it. I think getting that feedback loop... encourages developers to write a lot more code.
RWW: What I've seen institutions in academia do is develop some maybe frivolous, maybe scientific, application that everybody can participate in, and make that a distributed computing app. "Let's build this as a project, and along the way, we'll solve the problems of how to distribute distributed computing to the masses." The .NET Framework is wonderful for giving people access to ridiculously interesting languages, not just the straight-laced C#, but beautiful things like D and dynamic languages that move people in new directions, IronPython, IronRuby. Isn't there a way to create a staging environment for individuals, people who want to get a leg up, learn a new skill, to take part in a social, distributed computing environment that looks, on the surface, a lot like a sliding thing with tiles on it, maybe, and you select one of these tiles and it's a project. And maybe you might have time to contribute to it, so you sign up. What about Microsoft participating in something like that?
SG: I think certainly you're seeing the beginnings of that on Azure with the Marketplace. We are trying to create (our UI doesn't use tiles yet, but it might in the future) [something] where I could say, "I want to explore what data feeds are available." Take the Census data. We have Census data for free in our Marketplace, so, "Hey, I want to build a simple app, and I want to know how many couples have kids in this particular region of the country." The Census data you can get from the U.S., but if you could go into the Azure Portal and say, "Oh, I'd like to subscribe to this data feed, it's free." I could run a job against it and do data mining on it. That's the type of problem that you're going to be able to do in a couple of minutes, and then you can say, "I wonder if it has anything to do with the weather?" Let's go subscribe to the Weather data source, pull that data, and pull the Census data and correlate it, do something interesting with it. That's a fascinating way to think about how you can take different pieces of data, put them together, and you - whether you're a student, an academic, a startup, or an enterprise - can start to derive unique data, unique value that only you have, only you put together by basically peeling those pieces apart. Once you can make that so easy to do, you can in turn resell that data if you wanted to, and the rights are allowed with it, but you can build interesting apps and do interesting things with it.
In a world where we do have a marketplace full of services and full of data, and in the same way you can drag-and-drop controls from a UI perspective, today you can drop data sources and piece them together. That's a world that's going to be upon us very, very quickly.
[A fellow I know] was trying to correlate deaths from smoking, or how many people smoke in certain parts of a state, and he was talking to the State itself, and they said, "We don't have the money to do a survey. We'd love to do a census, but it would cost millions of dollars." And he said, "But you have all the tax revenue for cigarettes! It's in your database! Why don't you just run a job and basically compute from the tax how many cigarettes were sold at every county in the state?" "My gosh, you're right!" That's a simple example where the data was available - really interesting stuff that you can do that doesn't even require writing code. How do you take Excel and point them at those data sources?
Talk about democratizing: How do you enable anyone who can do a PivotTable today on a large spreadsheet, to do that type of data analysis and pull in those multiple, independent feeds? For an enterprise or a startup, it's not just about census data. It's about looking at your sales order history and your salespeople, where they're located, what times they work. There's a whole bunch of interesting insights that you can get around your organization, that you can really optimize around. Those are the types of scenarios we just don't think about today, or only a very few people think about. I think we're going to go way beyond that over the next couple of years, and that future's not far away. That's two or three years out; that's not science fiction now. When you can have your phone or take your tablet, and anywhere you can quickly connect over 3G or 4G and look up that information, that really is going to change the way we interact with life, the environment, and everything.
In Part 2 tomorrow: Scott Guthrie was Silverlight's champion as recently as last April. How does he feel about seeing his company move on to a bold new lightweight app model that leaves Silverlight behind?