Over the last few years we’ve truly delivered a huge infrastructure to enable us to grow our services at scale around the globe. Whether it’s our flagship facilities in Quincy, Washington or Boydton, Virginia, or some of the newly announced facilities in Shanghai, Australia and Brazil, it really is key for us to make smart investments around the world to deliver services in a resilient and reliable fashion.
A lot of people ask, what goes into site selection at Microsoft and how do we decide where to place our datacenter investments? There are over thirty-five factors in our site selection criteria. But really, the top elements are around proximity to customers and energy and fiber infrastructure, insuring that we have the capacity and the growth platforms to be able to grow our services.
Another key element is about skilled workforce. We need to insure that we have the right people to run and operate our datacenters on a day to day basis.
Timing: 2 minutes
Talking Points:
Microsoft Azure Virtual Machines allow you to easily move your applications and infrastructure back and forth from on-premises to the cloud without requiring any changes to the existing code.
Customers can run both their existing Windows and Linux-based applications in the cloud. Compatible operating systems/images include CentOS, openSUSE, SUSE Linux Enterprise Server, Ubuntu, and Windows Server, further illustrating Microsoft’s commitment to openness for customers and partners.
Key point is – It’s just a Virtual Machine, a container for any software (OS all the way up) you want to run in it. You pay for the underlying resources you are reserving (CPU and RAM). These VM’s (using Virtual Networking) can be private to your corporate network – they can see your corporate AD etc.) Even though they live in the public cloud you can surround and protect them so they are just part of your own infrastructure.
First, this slide really is the summary slide for the multi hour arch review that we are scheduling, so we’re really only going to scratch the surface here.
There are three key pieces to our architecture: The runtimes that participate in this model driven world and their associated content, a place to store content called the repository and a tool to manipulate that content called Quadrant.
Executable content is the center of value
I mean two things by this: first is that we see many runtimes storing and leveraging their content inside the repository and using it directly, not via codespit. We’re trying to create a very dynamic environment that is not modal in the way many systems are today, no design time vs. run time. Updating the database is enough to change the application. You’re going to see an example of this in our demo.
Second is that we are recognize that the system gets more value as we get more content and as we get the associated runtimes that leverage the content. We have a staged approach for targeting content and in the Oslo timeframe we’ll be focused on the middle tier (SOA) and systems management. We’re working with other groups like SharePoint and TFS to get them in our next product iteration.
We store this content in a “Natural” SQL database repository
This means that our repository is designed to be a classic database application that deeply bets on the features of the database and doesn’t try to encapsulate it or build multiple layers on top of it.
This approach allows us to not only leverage the features that the SQL team is building, but it also allows us to leverage the whole database ecosystem that exists, things like reporting, BI, integration with Office and other tools for example. When a customer looks at the repository through an existing tool, our goal is to ensure that they can make sense of what is there and leverage that tool.
We are focused on modeling for the masses, not the ivory tower.
We want a very broad base of developers to be able to use our system, and we want customers like business analysts, architects and systems management folks to also be comfortable editing these models. Thus we need a broadly approachable, general-purpose modeling tool. We call this tool Quadrant.
It is designed to be able to edit any model in the repository using a set of generic viewers such as table, tree and diagram, much like Excel or Access can edit any tabular data. These views can also be customized to provide a more specific experience when editing certain models. You’ll see lots of examples of this in the demo. Finally it is important to note that Quadrant is really the first customer of this platform in that it, itself is model-driven. I’ve got a couple of slides that drill into Quadrant next and we’ll go into that in a little more detail.
Because the file based world is not going away anytime soon, we are also creating a human-friendly textual representation of the content which is a modeling language called “D”
D is a new declarative language designed for cases where you need a text based representation of your repository content and has a compiler and tool chain that allows you to build your .D files into SQL Scripts you can store in the repository or visa versa.
Visual studio can then operate on these files directly in the file system.
We also recognize that there is much content already in the world that will we will want to get in and out of the repository. Depending on the content, we expect customers to either load it directly into the repository (“Loaders”) or transform it to .D or .SQL files which can then be loaded via D.