Microsoft's Distributed Destination: Oslo
When John Shewchuk, Robert Wahbe and Brad Lovering met for grilled steaks at Lovering's Seattle-area home in 2000, lutkefisk (Norway's most famous dish) might have been more appropriate. After all, that meeting paved the way for Oslo, Microsoft's new distributed computing/modeling platform, which the company will unwrap next month at its Professional Developers Conference.
At that seminal meeting, the trio had no idea how far their idea would carry them, but they did realize they were making a big bet that could take Microsoft beyond the .NET era and deeply into Web services, SOA (service-oriented architecture), software modeling and cloud computing. In short, the trio was looking to advance Microsoft's play in the world of distributed computing.
"Advance" may be putting it mildly. The trio thrust Microsoft into a decadelong effort to emerge as a driving force in the world of distributed computing and to push Microsoft's core enterprise technologies to become prominent in both on-premises environments and what we now refer to as "the cloud." Back then, only a select few were talking about "on demand" or "utility computing," with Microsoft notably absent from the picture.
Lovering and Shewchuk are both Microsoft technical fellows-Microsoft's top technical honor-in the company's Connected Systems Division. Lovering is leading Microsoft's effort to implement a software modeling strategy, and Shewchuk is working to service-enable some of Microsoft's core technology.
But back in 2000, the two had existed almost at odds as leaders of different Microsoft development tools teams. Leading up to the creation of .NET, they had offered different approaches to achieving the .NET goal before coming to agreement on what should be done. That ability to effectively hash things out brought Shewchuk and Lovering together to begin to discuss an effort that would be even broader than .NET.
When Shewchuk and Lovering embarked on what Lovering refers to as a "careerlong" move to make a "big bet" on the future of the company, they knew that, despite the clich??Â«, they needed a "fearless leader" to run the project.
Shewchuk said he immediately thought of Wahbe, now corporate VP of CSD, who had worked for Shewchuk previously at Microsoft. Perhaps presciently, when Wahbe interviewed with Shewchuk for that earlier job, Wahbe revealed his high expectations. "I asked him, -What job do you want?'" Shewchuk said. "And he said, -Well, I wouldn't mind having yours.' I told him, -Dude, you're not going to get my job!'"
Shewchuk set up a meeting between himself, Lovering and Wahbe. The meeting took place in a courtyard on the Microsoft campus outside Building 42. That meeting then led to the fateful dinner at Lovering's home, where more details of Microsoft's quest to become a key force in distributed computing emerged.
The trio then began to put together a team, pursuing talent both inside and outside Microsoft.
The group that began as three now consists of hundreds of people.
Early on, Wahbe sought out Steven Lucco and Oliver Sharp. The three had met when they were doing graduate work at the University of California, Berkeley.
In 1996, Microsoft acquired the startup the three had formed out of Berkeley called Colusa Software, which had developed some innovative virtual machine technology. Sun Microsystems had just released Java, in 1995, and Microsoft was beginning to take a lot of heat as being proprietary when Java's VM technology offered a "write once, run anywhere" promise.
Lucco and Sharp said they would do two years at Microsoft and then go back to startups. Wahbe stayed on at Microsoft, later bringing Lucco and Sharp back into the Redmond fold to work on what was established as an incubation effort under Eric Rudder, Microsoft senior vice president, Technical Strategy.
When the CSD team first started in the summer of 2000, "we really tried to have a very open mind about the way in which we would help the industry build these distributed applications," said Wahbe. "It wasn't clear that would be a software play, whether that would be a services play."
All the pieces for a "cloud" environment existed back then, and the Microsoft CSD team-along with other teams in the organization-was thinking about the concept.
Indeed, at that time, Microsoft was considering what an on-demand play might look like.
The team began looking at content delivery network providers such as Akamai. Wahbe said Microsoft at the time was starting to think not only about putting content out on the edge, but also about putting more and more of the functionality of its Web sites out on the edge-both for reliability and latency.
Wahbe and company built their plans on the then-emerging Web services phenomenon, and teamed with IBM to develop a core Web services stack of standard protocols that became known as the WS stack. On this foundation, Microsoft launched Indigo, the code name for Windows Communication Foundation.
Indigo became the communications fabric-the flexible framework for Microsoft's service-oriented vision for enabling a broader distributed computing ecosystem, he added.
Indigo had another significant influence on Microsoft, according to Lucco: It made the company more open with its focus on Web services interoperability.
Meanwhile, with the Indigo substrate in place, Microsoft began to look at how to better enable developers to build applications for the broad distributed computing system the company envisioned driving. The potential scale and complexity of the systems meant Microsoft would have to help lessen the burden on developers.
What's more, the company hoped to empower more people to build applications, not just hard-core developers.
"We aren't done until your mom can build a distributed application," said Sharp, a general manager in CSD.
To that end, the team looked to one of Microsoft co-founder and Chairman Bill Gates' favorite subjects-software modeling-for help.
Lovering set off in 2003 to begin work on a software modeling platform, code-named Oslo, which would enable users to create applications from models. That same year Gates began talking in earnest about Microsoft's plans to support modeling more directly in its products.
Oslo is one of the ways Microsoft will simplify development of distributed applications for the cloud.
"You don't want to have to hand-code to what's going on, on potentially tens of thousands of computers, hundreds of thousands of computers, around the world," said Shewchuk. "So Oslo is going to play an incredibly pivotal role. In a sense, think of it as the-I mean this in a most general way-next-generation compiler that takes the ideas that are in the developer's head and brings them to this new distributed world."
Microsoft announced Oslo last October and plans to share the first CTPs (Community Technology Previews) of the Oslo deliverables at the Microsoft Professional Developers Conference this October. Those deliverables include an Oslo visual modeling tool that helps to simplify development by enabling users to diagram what their applications will look like, a new declarative modeling language for developers, and a modeling store or repository for managing the models and metadata.
Don Box, a partner architect at CSD who is working on the Oslo language stack, joined Oliver as the first two CSD members to move over and begin work on Oslo beyond Lovering's initial designs. Box described the overall effort: "Oslo is a tool, language and a store that basically lets you express your intention, your requirements, what do you want the software to look like. It allows us to capture that as data, and then process that data, including actually being able to execute it, building the application in terms of that data."
Microsoft is making key investments in cloud computing across the board.
In fact, sources said Shewchuk is heading up an effort code-named Zurich that will extend Microsoft's .NET application development technologies to the cloud. Microsoft also is working on a project code-named Red Dog that is aimed at delivering what some refer to as a cloud operating system akin to Amazon's EC2 (Elastic Compute Cloud), according to sources.
Shewchuk would not confirm or address either of the code names or any potential projects. He did note, however, that the cloud is "a very important new kind of inflection point that the industry is experiencing," and that it is one that is improving the economics for people to build applications.
"You can really think about Oslo and the cloud effort as being two sides of the same coin," said Shewchuk. "Oslo is all about getting that 10X increase in the ability to describe things declaratively. And the cloud is all about making sure that the run-time necessary to go build that is around. So, I've been focused on that run-time portion, and other people have been focused more on that tooling and application description portion of that problem."
Wahbe said his group is building both cloud and server assets.
One area likely to soon come to light is Microsoft's BizTalk Services. CSD released a CTP of the "R12" release of BizTalk Services in mid-July. In a July 15 blog post (vasters.com/clemensv/default,month,2008-07.aspx), Clemens Vasters said: "-BizTalk Services' is the code name for a platform-in-the-cloud offering from Microsoft. Currently in active development, BizTalk Services provides Messaging, Workflow, and Identity functionality to enable disparate applications to connect quickly and easily."
Moreover, Vasters said, "-BizTalk Services' provides the cloud-based platform building blocks to create sophisticated (Internet-) Service Bus solutions with broad reach."
BizTalk, plus all these other components, is part of Microsoft's grand software plus services plan. Whereas companies such as Salesforce.com talk about "the end of software," Microsoft contends that users really want a combination of on-premises software and cloud-based services, and that developers want the same: tools on the desktop coupled with an application development platform in the cloud.
"One of Microsoft's core tenets is that we're not going to only offer you that cloud value proposition or the premises value proposition," Wahbe said. "We're going to build our software in a way that you can decide whether you're going into our cloud or whether you're going to put it on your own premises and build your own local cloud. That is an extra amount of work that we will do. If you look at competitors right now, they tend to choose one or the other. They always choose the same one, but they tend to make you choose one or the other. Our notion is that [software plus services] is the next big wave."
Microsoft is also aiming to make it easier for companies to build their own cloud.
"We're also going to build a cloud for you ... that makes it even easier because it's all there configured for you," said Wahbe. "And we're running the servers, and we're making sure the power and pipes stay up, and we're making sure it's geo-scaled if you need it to be geo-scaled-in other words, multiple data centers. That's even easier."
That rings true with moves Microsoft is making in the data center world.
Asked about the company's data center plans, Shewchuk said: "We're probably one of the biggest acquirers of data center space around the world. I think you've probably seen these statistics. There's Google, there's Microsoft, Amazon to a degree, but really we're making a massive, massive, massive investment in having the computational capabilities, the Internet connectivity capabilities and the geo-presence to be a leader in that business. Now, it's a little bit hard to see what we're doing until we bring more of those pieces together, but I think you'll be excited about the work that we're doing in that space."
Shewchuk, who has been through several transitions inside Microsoft, said the one occurring now around distributed computing, modeling and the cloud may be the biggest yet.
"Let's put it this way, I've lived through a lot of transitions inside this company," Shewchuk said. "I was there for the Internet one. I was there when we did Visual Studio. This one I would describe as bigger even than the kind of transition that we went through as the Internet hit. Every group has people engaged on it, and I think it's going to have a profound impact on what we do across the board."
Have Microsoft's competitors awakened a sleeping giant? Answered Shewchuk: "I know there are a lot of people who think that Microsoft is out there sleeping, but we have not been asleep."