ANNOUNCER: Ladies and gentlemen, please welcome Microsoft corporate vice president, Brad Anderson. (Applause.)
BRAD ANDERSON: All right, welcome, everybody! Hey, welcome! It's great to be here. Good morning. Good morning, Amsterdam. Good morning, Europe. Welcome to the thousands of people that are here in the room and to the tens of thousands that are going to be watching online today and over the next couple of days.
It's just amazing to be here. You know, we were here the last time for TechEd in Berlin. So much has happened since them. You know, I remember we were here and we got the keynote a year and a half ago, and it was the first day that Kinect had just been released, and what an amazing innovation Kinect has been, so much innovation around that. Yesterday was the one year anniversary of Office 365. Look at what's released just this year so far: new versions of SQL, new versions of System Center, updates to Azure.
Look at what we've announced in the last week, right, Microsoft Surface. Everybody was able to see Microsoft Surface? Windows Phone 8, OK? Last night, we announced our intent to acquire a social organization that really focuses on enterprise called Yammer.
It's just a time of incredible innovation, a time of incredible change, and I think that right now at this point in time I think Microsoft is doing its absolute best work.
And so on behalf of all of Microsoft, you know, it's a privilege to be here with you, we're so grateful for the fact that you take a week out of your time to spend here with us. We hope it's beneficial. We've worked hard to make sure that we put on some great, great sessions for all of you, you know, over 350 sessions. We have over 250 Microsoft employees here to talk with you, 75 industry experts. So, we are really, really looking forward to it.
So, with that in mind, you know, there's all the conversation in the industry about cloud, about BYOD, and you can look at this in two ways. You can look at this changing and say, wow, this introduces chaos, this makes it uncomfortable. Is this good for me, for my personal career, for my organization, or is this something that I should be concerned about?
You know, so as we look at this change, change is all about opportunity. It's all about taking advantage of things that are disruptive and advancing your careers and advancing the organization, advancing your business.
So, to start with let's just ask the question: With all of the change that is happening and all the innovation that is happening, is the glass half full, is the glass half empty?
Over the next 90 minutes what we want to talk to you about are the things that we have learned by operating these incredible Internet-scale services and how we've driven that into the tools and the products that we deliver to all of you. We're going to spend a lot of time talking about these innovations and how they can help you.
Now, when you think about all of the things that are happening around us in the world, what it really comes down to and what everybody in this room, everybody watching really is all about is how do we build and deploy and then operate these services that are continually available 24 by 7 around the world to all of our users, and how do we do that, and then how do we enable our users to consume those applications and services across all of their connected devices.
And really what it comes down to when you think about cloud computing, when you talk about BYOD, it really comes down to these two things, delivering continuous services across all the connected devices that your users and your consumers want to use.
So, that's going to be the frame of what we're going to talk about, and with that we are living in the era of the cloud OS. You know, if you fundamentally think about what the operating systems responsibilities are, it really is two things. It's responsible for managing the hardware and it is responsible for providing a platform on which you can build applications.
But this is changing. You know, historically, as we've built Windows it has been for a single-server operating system, and it was deployed and thought about really as a single-server kind of deployment. But in the era of the cloud the role and responsibility of the operating system is expanding, and it's expanding in a way that now needs to enable services to be deployed across multiple servers, and you need to think about all the servers in your datacenter as one. And not only your servers but you need to think about your servers, your compute, your storage and networking, and you need to be able to think about that as one holistic fabric of capacity that you can use, and that's the era of the cloud OS.
So, with that as the context, what we're going to spend time talking about is we're going to spend time talking about what we call the modern OS and the modern datacenter, and again we're going to take all of the things that we have learned by operating these 200-plus services that we do in Microsoft and how we've brought that learning into Windows Server 2012 and are delivering that to you. We're going to talk about what modern applications, modern apps are, how they're architected, how they're deployed, how these all work together. Then we're going to talk about all the data that's being generated by all these applications and how you can make that data accessible to gain new insights for the business to users across your organization. And then we're going to talk how you can deliver these apps to all your users' devices in this world of bring your own device, and that's going to be the context for the next roughly hour.
So, with that in mind, let's dive right into the modern datacenter and let's spend some time talking about what the characteristics of the modern datacenter are.
So, the first this is the world is just converging. No longer do we think about compute and storage and network as these separate entities but actually co-evolving together.
You know, several years ago, actually going back 20 years ago, which was actually the time that TechEd started, this is actually the 20th anniversary of TechEd, Microsoft and a few other companies started deploying and operating these huge, huge Internet-scale services, and with that we found bottlenecks, we found challenges, we overcame those, and we operate today at Microsoft over 200 services on the same platforms and the same technologies that you use in your datacenters.
But with that we learned. We learned a great deal.
And to give you an idea of just the scale of some of these services let me give you a couple of data points that you may find really, really interesting.
Windows Azure, our public cloud platform, the compute capacity in just Windows Azure is equal to the all compute capacity that was used in the world's datacenters in 1999. That's just in one of our services on our cloud platform.
Another interesting data point, if you were to take the storage of Windows Azure, you could allocate 10 megabytes to every single individual in China and still have storage left.
So, we're taking this incredible amount of capacity, this incredible service, and we're seeing how all this converges, and we're working across the industry with all of our partners and the other individuals who are involved in this with us and we're evolving storage, we're evolving compute, and we're evolving networks and bringing it together in one to make it more useful for you.
And what that enables is it enables you to start building and deploying services at Internet scale.
And what do I mean by Internet scale? OK, just think about for a minute deploying a service that could be used by either your employees or your customers around the world that's available 24 by 7 by 365, is always available, and the ability to do that on a low cost platform, on low cost capabilities with the tools that really enable it; that is what we deliver with Microsoft that enables you do these Internet-scale services.
And I mentioned all the services we have at Microsoft. I'll just give you a couple of data points. You know, you know about Hotmail, you know about Communicator, you know about Xbox LIVE. You know, with Live ID we serve up over half a billion identities every single day for use around the world. Today, we have hundreds of megawatts of power that come into our 16 large datacenters around the world, petabytes of data. Bing itself, just Bing the service has over 300 petabytes of data in it.
And I give you these data points just so you can understand this is a uniquely differentiated thing for Microsoft in that we operate these services every single day, we learn every single day, and we take what we learn and we drive it into the products that we deliver to you.
You know, there's just no substitute for experience. This is not one of those things that you can head-fake your way into.
And so, for example, in our organization the engineers that build the products that we deliver to you say in Windows Server or in System Center are the same engineers that are building the services that are used across the company and the tools that support all those services.
And the reason I think this is unique is let me put it into context. When you decide who your private cloud partner is going to be, you want a partner with an organization that has that experience of building an operating cloud and is giving you all that experience.
You know, think about it as you're interviewing people to come to work for your company. You would want to hire an individual that has experience operating clouds. When you partner with Microsoft on your cloud you get that. When you partner with the other guys you don't. OK, it's as simple as that.
So, let's now peek into the modern datacenter for a minute, and these are the four attributes that I would encourage you to think about that we believe are just fundamental precepts to the modern datacenter.
First of all, you have to have services and an infrastructure that is scalable and elastic. The applications have got to be built in a way that dynamically scale up, contract down when necessary, but the system does it on its own. You want to have that service always available, so this concept of always up and always on. You need to have solutions and applications that are built that just understand that failures happen.
You shouldn't have to worry about mean time to resolution, because the system and the applications should automatically understand how to react when failures happen because it's been architected into the service, into the platform, and the system does that for you.
The third thing is the concept of shared resources. So, whether it's business units in your organization, whether it's customers if you're a service provider or someone providing capacity, you want to leverage every single last cycle of compute power you have on that shared infrastructure. So, you want to have something that's multi-tenant and understands the concept of isolation that isolates your different users, your different organizations, your different customers.
And then finally, when you operate at a scale of a thousand servers or tens of thousands of servers you have to have automation, you have to have that process that allows you to do a one-to-many and one-to-thousand rather than a one-to-one.
So, these are the fundamental core building blocks of a modern datacenter, and they're the building blocks on which we defined Windows Server 2012.
So, if we look now at these characteristics, at the work that we've done in Windows Server 2012, I just want to touch on a few of them.
First of all, on this concept of elastic and scalability, with the work that we've done in the hypervisor, in Hyper-V, in Windows Server 2012, there is no workload -- let me repeat that, no workload that you have that you cannot virtualize and run on Hyper-V. The scalability increase that we've done in Hyper-V are phenomenal. And, in fact, here in a couple of minutes you're going to see the world's largest VM that's ever been built and publicly displayed on Hyper-V that will ship with Windows Server 2012. All your SQL workloads, all your database workloads, all of your mission-critical workloads can now run hypervisor virtualized with confidence.
In the area of always up and always on we've done a lot of work to make sure that the system is resilient, that the platform is resilient.
And we've done work like, for example, the ability for you to patch and update your clusters with zero down time to the applications and services running on those clusters.
Shared infrastructure. We've done some amazing innovations into network and storage. Multitenancy and isolation is just built into the platform now, and we've done some really amazing work in those areas.
And then finally, in the area of automation with Windows Server 2012 you'll get more than 2,400 new PowerShell commandlets. Everything about the operating system can now be automated, can be run from a command line in a one-to-many kind of environment.
You combine that then with System Center and you really get the private cloud, the world's enterprise grade private cloud solution, with everything being automatable.
Now, Windows Server 2012, really the best word to describe it is breathtaking. Thousands and thousands of engineers have worked on this, there's been hundreds of thousands of downloads of this. In fact, we like to put our money where our mouth is. Two weeks ago, we upgraded all of the Windows Servers that are the front-end for Bing to the release candidate of Windows Server. That's how much confidence we have in the scalability and the reliability of this product.
And so with that, I think the best thing is to actually just give you a tour of it. And I'll tell you one of the most difficult challenges we have as we prepared for today's keynote is which things in Server 2012 should we show you. There's so much new value, so much new innovation, but we've identified a handful, and to do that we're going to have Jeff Woolsey come out and give you a walk-through of Server 2012. Let's give him a hand. (Applause.)
JEFF WOOLSEY: Thanks, Brad.
Amsterdam, good morning! It's a pleasure to be here.
Windows Server 2012 is about making your business more agile. It's about making your datacenters more flexible. It's about providing you the ability to securely extend your datacenter to the cloud on your terms. Quite simply, Windows Server 2012 is about providing you the best cloud OS.
Let's start with scale. With Server 2012 we want to virtualize those workloads considered non-virtualizable, workloads that require dozens of cores, hundreds of gigabytes of memory, are likely SAN attached, and with exceptionally high I/O requirements. Think massive scale-up SQL Server.
Well, today, we want to redefine performance, we want to redefine scale. With Hyper-V in Windows Server 2012 we'll support servers with up to 320 logical processors per server, up to 64 virtual processors per VM.
In addition, you can see this virtual machine has been allocated 100 gigabytes of memory, but we'll support up to a full terabyte of memory per VM and up to 4 terabytes of memory per server.
In addition, whether this VM has been allocated 10 gigabytes, 100 gigabytes or a full terabyte, it still costs the same.
In terms of storage we now support the largest virtual disks in the industry, up to 64 terabytes per virtual disk. That's 32 times anyone else in the industry.
We also support the largest clusters with up to 64 nodes and 4,000 virtual machines in a cluster.
All of this included in Server 2012.
Now, quite honestly the key to running mission-critical scale-up workloads is balance. If you have a virtual machine with 64 virtual processors, a terabyte of memory, quite honestly it's irrelevant if I can't keep those resources busy.
So, let's talk about Hyper-V I/O performance. In this next demonstration I'm going to use an industry standard four-socket server. It has 80 logical processors, 256 gigabytes of memory, has five LSI HBA, host bus adaptor controllers, attached to 40 SSDs.
Now, you may be wondering why is he using SSDs, why didn't he use traditional SAS disks, spinning disks. Well, I could have, but for this next demo I would have needed 10 full sized 42U racks, full of over 4,000 disks for this next demo. So, I decided to opt for 40 SSDs instead.
Now, here I've got an industry standard tool Iometer, and I'm going to run an industry standard test. This is 4k random I/O with a queue depth of 32 and 40 concurrent threads. I should also point out at this time that the folks at VMware claim that they can deliver up to 300,000 IOPS from a single VM.
Folks, you're seeing over 1 million IOPS from a single virtual machine. (Applause.) Over 1 million IOPS. That's over three times what VMware can deliver.
And folks, let me be clear, this isn't a Hyper-V limitation, this is a limitation of the hardware. The hardware doesn't go any faster than this. If I had a larger server with more storage, more host bus adaptors, Hyper-V has plenty of headroom to scale much, much higher.
With support for up to 64 virtual processors, a terabyte of memory, and over 1 million IOPS from a single virtual machine, we can now easily run and virtualize over 99 percent of the world's SQL Server. All of this included in Server 2012.
Now, whether you choose to use direct-attached, file-based, SAN-based or cloud-based storage, we've made huge investments across the board in terms of storage.
For example, the new scale-out file server. In Server 2012 we have a new scale-out file server where all nodes are active. In a scale-out architecture this inherently and intrinsically means that as you add more nodes you get more performance and more scale, but even as you remove nodes you get continuous up time. It's a powerful technology.
If you're using the file server or if you're using SANs we have a key new technology called offloaded data transfer or ODX. With ODX it allows Windows Server 2012 to leverage and harness the power in your storage platform. Let me show you.
Now, in this first example I'm going to copy a 10 gigabyte file, and this is on a non-ODX system. Now, as I do the copy what do you see? Well, No. 1, you can see that the server is performing the copy. It's doing the read and the write, the read and the write. And the way I can tell is No. 1 my CPU utilization shot up to about 30, 35 percent. Look at my network utilization. My network utilization is completely pegged. In terms of performance I'm getting some pretty good performance, about 90 megabytes per second. This is on a non-ODX system.
Now let's compare this to an ODX system from our partners at EMC. Now, in this case I'm going to copy that same 10 gigabyte file. Make sure you don't look away; I wouldn't want you to miss the demo here.
So, I'm going to copy that same file. Now what do you see? Well, you're seeing that I'm getting over 1 gigabyte per second. I'm copying a 10 gigabyte file in 10 seconds. And look at the network utilization. There isn't any. That's because offloaded data transfer is securely leveraging the power in the storage platform to dramatically increase performance and scale. And when you couple offloaded data transfer with a number of our other storage investments, for example virtual fiber channel in a VM and numerous, countless cluster enhancements, quite simply if you own a SAN, Server 2012 is a no-brainer, it's the obvious choice.
Now, when it comes to network we've also made some huge investments in networking, for example, network virtualization. With network virtualization we can provide secure, multi-tenant solutions, multi-tenant networks in the box. And let me be clear about this: No other virtualization or purported cloud operating system includes network virtualization. We include it in the box.
In addition, we've made some huge investments in Hyper-V and the virtual switch. We've added numerous enhancements for performance, for scale, for automation, for security.
In addition, we know we can't be all things to all people. So, in addition, we made the switch open and extensible. In doing so our partners can plug in and augment then virtual switch capabilities without needing to rewrite the entire switch.
So, let me give you an example with the Cisco Nexus 1000V for Hyper-V.
In this case I'm going to go to the virtual switch manager, and I'm going to go to this virtual switch and click on extensions, and you can see that lo and behold here is the Cisco Nexus 1000V.
Now, I'm going to go and minimize this and show you here in perfmon over here -- go back over here to perfmon and you can see that I've got some virtual machines using a significant amount of network bandwidth. So, my network admin is going to probably see this very quickly if it hasn't popped up on his monitoring already, and he's going to want to apply some sort of bandwidth or quality of service to meet his Service Level Agreements.
Well, no problem. Because with the Cisco Nexus 1000V I can manage my physical and my virtual switches from a consistent interface. In this case I'm going to come over here, modify a port profile, and I'm going to apply a QoS port profile. And what do you see? Now we're providing QoS and I can make sure that I'm meeting my SLAs.
Now, the Cisco Nexus 1000V is just one example of the ecosystem we're creating around the extensible switch. While you're here at the show please make sure you check out the tech expo. You'll see our partners are developing some serious innovation in plugging into the extensible switch, and there's a lot of innovation in networking going on right now as the industry embraces software-defined networking.
Now, one of the best ways to drive down cost and drive up efficiency at scale is pervasive automation. With Windows Server 2012 we're introducing a world class automation engine with PowerShell. With PowerShell and over 2,400 new PowerShell commandlets virtually anything can be automated in Server 2012.
In this next example let me show you how PowerShell is the underlying automation engine when used with System Center and one of our hotly new anticipated features, Hyper-V Replica, for site migration.
In this example I've been using Hyper-V Replica to replicate VMs from one location to the next. Now I'm ready to actually perform the migration. In that case what I really want to do is I want to have my runbook automation perform the last bit of the migration. So, I'm going to type in my destination server, I'm going to type in my source host to verify, and I'm going to select my runbook server and click start.
And what's happening here right now is the runbook automation is actually verifying, checking on both sides that everything is ready to go. It's verifying the source and the destination. Once it's confirmed that it's ready to do that, it's going to start bringing up and starting up the virtual machines in the destination, in the target location, in the order specified by the runbook. This ensures that I bring up my new site in a systematic and methodical way.
Now, what if I don't need to, for example, migrate my datacenter, what happens if my datacenter is simply out of capacity? I need additional capacity; wouldn't it be great if I could go to a service provider, purchase additional capacity that I could manage with my on-premise clouds? Well, we think that would be great, too. Let me show you that with Server 2012 and System Center 2012 SP1.
Now, in this case I've got an overview of my clouds, and, in fact, let me go here and you can see that I've got my dev cloud, my infrastructure, my preproduction and my production workloads.
Now, what I'd like to do is I've actually purchased some capacity from AMS Hosting, and so I need to broker that connection. So, I'm going to click here on my connections, and I'm going to click on SPF, which is our service provider foundation. And I'm going to type in the name of my hoster. They've given me a URL. I obviously need a certificate for obvious security and encryption reasons. I'll type in my password and click OK.
And what's happening now is System Center is brokering the connection with AMS Hosting where I purchased my additional capacity, and what I want to be able to do is I want to be able to manage that additional capacity from the context where I manage my local clouds.
So, if I go back here now to the clouds where I showed you before, you'll see as this updates that lo and behold here is my AMS Hosting and it appears here in the context with my other clouds.
So, in just a few minutes we've shown a number of capabilities: massive performance, massive virtual machine scale, a million IOPS from a single server, the extensible switch, pervasive automation with PowerShell, replication and the ability to extend your datacenter to the cloud on your terms. Quite simply, these are just a few of the dozens of reasons why Windows Server 2012 and System Center 2012 is the best way to cloud-optimize your business. Thank you very much. (Applause.)
BRAD ANDERSON: All right, what did you think about Windows Server 2012? (Cheers, applause.) Yeah?
Let me just talk a little bit more about that. It was interesting as I was backstage for a second there watching all the tweets from the audience the No. 1 tweet going during Jeff's demonstration there was the million IOPS and just people blown away by that level of scalability.
You know, we talk inside Microsoft about what we call the public design point, the public cloud design point. Many of you may be asking yourself, wow, a million IOPS, Brad's talking a lot about these Internet-scale services, but, you know, hey, I just have a few users, I don't have millions or hundreds of millions of users.
Well, I would recommend you think about it. As you think about building out your new services and applications, let your imagination run wild. If it was incredibly successful, what kind of capacity would you need to have? Build your application, your platform, your cloud, your infrastructure in a way that gives you that flexibility to expand as it's needed.
It's remarkable, one of the things we get a chance to work with right now is a number of companies who have stood up these consumer-facing services, and in their wildest dreams they hoped to have maybe a million or 2, 3 million users using it, and they're seeing that they're adding a million users a week right now, and the infrastructure as they're trying to learn how to scale that and how to scale these applications to these incredible numbers, taking advantage of Windows Server, taking advantage of Windows Azure, but that's what it's all about.
One other point that I would make here, in Windows Server 2012 we've done a lot of work in the virtualization layer. And just to give you a comparison in terms of the capabilities and the scalability, on every single metric that we have measured we are at least on par with the other guys, and in most of them we're 2X the other guys. In some we're as much as 32X the scalability that VMware could offer you.
So, as you think about your movement from a virtualized infrastructure into a private cloud or into a hosted cloud, please give us a chance to partner with you. I will tell you right now the No. 1 most common conversation that I'm having with customers right now is customers who are standing Hyper-V up alongside the other guys and using System Center to manage all that, because they now see what Microsoft is capable of doing in that virtualization layer.
Now, let's talk a little bit about what differentiates us just in terms of some of the value compared to the rest of the industry, and there are four things I'd like to talk about with respect to Microsoft's private cloud that are differentiators.
The first one is it's all about the apps. We deeply understand the applications you're running in your cloud. We deeply understand the applications you're running in your virtualized infrastructure. We can give you the knowledge about the health of those applications, how they should be provisioned, how they should be managed. We understand your apps; the other guys do not.
The second piece is we are what we call cross-platform from the bare metal up. As we've built System Center -- and remember our private cloud is a combination of Windows Server and System Center -- System Center is architected in a way where all the hypervisors are treated as first-class citizens. So, you can make the choice of what's best for you or maybe what you've deployed in the past -- that could be VMware, that could be Xen, that could be Hyper-V, we bring it all together in an easy-to-use and consistent interface inside of System Center, but it gives you that flexibility and enables you to make the choice that's best for you.
The third is the foundation for the future, and this is really about as you move from a virtualized infrastructure to a cloud we believe we by far have got the best solution that helps you make that movement at a far lower cost, as much as one-tenth to one-fifteenth the cost of the other guys.
And then finally, that last is about the cloud on your terms. Every organization we talk to has told us that they're going to be using multiple cloud capacities, their own cloud capacity, clouds coming from their service provider partners, Azure, other public clouds, but we bring that all together in a holistic way and let you see all of your cloud capacity and then make the decision on what's best for you.
So, let's talk a little bit more about these multiple clouds. In a multi-cloud environment -- again the research that we've done has told us that over 85 percent of everyone we've surveyed has told us they're going to be in a hybrid cloud environment -- you want to have the ability to take your VMs and have those VMs be movable across all of the clouds.
And to do that we have really put a lot of emphasis on what we call the commons across the virtualization and across cloud and in these four areas of identity, management, virtualization, and developer tools. If we do our jobs right, we give you a common set of building blocks so that you can build out your applications and your platforms, and then that gives you VM portability and the ability to move your VMs and your applications to multiple clouds to do what's best for your business.
So, this is what you're looking for. You want the ability that on-demand, as your business needs that, you can move your VMs to the best place to run that. This is all about compatibility and it's all about ensuring a consistent experience and a consistent set of APIs and interfaces that allow you to, for example, take VMs running in your datacenters today and move them up into Azure.
Now, two weeks ago, we made some significant announcements about Windows Azure and some updates, and we introduced what we call the Windows Azure VM. Now, what this is is this is delivering infrastructure as a service on Azure. So, we've been delivering platform as a service on Azure for quite some time now, but two weeks ago, we announced and released the capabilities where you can now start to take your existing VMs and move them up.
So, for the IT pros in the audience what this means is you can take your existing applications and you can move them up into the public cloud without any modification and they just run.
So, with that we actually wanted to give you a demonstration of some of these capabilities, some of these new capabilities that we did, and so with that we want to invite out Mark Russinovich to give you a demo. Let's give him a hand. (Applause.)
MARK RUSSINOVICH: Thanks, Brad.
Good morning, everybody.
So, the first thing I'm going to show you is just how easy it is to create a virtual machine now in Windows Azure. We wanted to make it so easy even your boss can do it.
So, I'll take you over here to the new portal and show you that this new portal, if you're familiar with Windows Azure, is a little bit different. First of all, you can see that it's been Metro-optimized, but it's also now pure HTML5, so you can look at it on all sorts of devices, all sorts of operating systems, even ones we wish you actually didn't have.
So, the first thing I'm going to do is show you this Create New Resource menu where you can create a whole bunch of different types of resources. I'll pick virtual machine, and then there's two options. There's a quick create option, which is a single page, which lets me just fill out common information and then get going, and then there're a more advanced option here from gallery which is the one that I'll take you down because it will show some of the more advanced features we've introduced.
Now, first you can see that we've got a number of platform images you can pick from to get started in your virtual machine, including -- yeah, it's really there -- Linux versions. We've partnered with several Linux vendors to make sure that their Linux variants actually are supported on Windows Azure. We want to really be the no-excuse cloud. So, if you're using Linux, you can use Linux on Windows Azure.
But I'm going to pick the best operating system in the list, of course, and that's Windows Server 2012. It's so good it doesn't even need an icon. (Laughter.)
And I have to give it a virtual machine name. So, I'm going to give it a name that represents what a lot of people are interested in these days. Give it a password, and now I get to -- whoops, didn't match. All right, this one doesn't match. (Laughter.) There we go. Now I get to pick a size. I'm going to pick the largest since I'm not paying for it. Press next, and now I get to choose whether I want to create a brand new standalone virtual machine or connect this with other virtual machines. I'll pick the standalone, and I'm going to give this a name for the team that I'm kind of in favor of, because I was born in Spain.
I get to pick a storage account now, and this highlights the fact that we're using Windows Azure storage to back these virtual machine VHDs. We explicitly made this choice because Windows Azure storage has things like durable replication within a datacenter, as well as asynchronous replication across datacenters, a whole bunch of APIs and tooling that we just get for free by using it as our back-end for virtual machines.
I get to pick a place to deploy this virtual machine including a private network that's connected back to on-premise. So, I'll choose that option. Press next.
Now, this page lets me pick something called an availability set, which I'll explain in a few minutes.
I press OK and then I'm off and running.
Now, what if I've already got a virtual machine that's running on-premise that I'd like to move up into the cloud? This machine right here or this application right here is running on my intranet. It's a line-of-business application that is IIS on the front-end, SQL Server on the back-end, and I want to push that up into Windows Azure.
System Center 2012 App Controller, which Jeff introduced, actually makes this extremely simple. You can see here that in this installation we've provisioned two clouds, a private cloud as well as Windows Azure as a public cloud.
When I click on the virtual machines list I can see a bunch of machines running, including that application we just saw there running locally in my private cloud. I've previously snapshotted that and made a backup that I've stored in a library you can see here, and to migrate it into a different cloud it's as easy as right-clicking and saying migrate.
Now I get to pick the cloud that I want to deploy to, and, of course, pick Windows Azure. I've got to choose whether I want to create a new cloud service for it to deploy it into or an existing one. I'll put it with that other virtual machine we just created. And now I have to configure some of the virtual machine settings, including giving it a name, picking a size like you saw me do in the portal, and then a storage account to upload that VM's virtual disks to. I'm going to go put it in the migrated VMs folder up in this account.
And the nice thing about System Center App Controller is that it knows that that virtual machine actually consists of two disks, an OS disk as well as a data disk where the SQL database is stored. It's automatically going to upload both of those. And if I press deploy, which I did earlier, we've got that application now running without modification up in Windows Azure.
So, that was a fairly simple application. What about more advanced applications like multitier applications or ones that are built on Active Directory or SharePoint?
To talk about some of those more advanced scenarios I'm going to ask onstage Jeremy Thake from AvePoint, who's going to talk about the way that his company's solutions can take advantage of Windows Azure and some of these more complex applications. Jeremy? (Applause.)
JEREMY THAKE: Thanks, Mark. It's an honor to be onstage with you, so thanks very much.
Just three quick things about AvePoint. We were founded in 2001 when Tahoe first came out, and we've been a Microsoft partner ever since. We provide enterprise-class governance and infrastructure management products for SharePoint, and we offer true 24/7 support through our Microsoft certified technicians globally.
So, in terms of where we're coming from with Windows Azure and our DocAve platform we're really focused on four key scenarios. The first scenario we see is this concept of using Windows Azure to spin up SharePoint farms that can be used for standby, and we can then leverage our DocAve product to replicate at a very granular level those list items or maybe those individual sites for organizations to use until those on-premise servers are back online. And then we can decommission those Windows Azure servers once they're not needed anymore.
The second scenario is really around this concept of letting administrators configure settings and report cross-site collection across multiple farms at once, whether they're on-premise or in the cloud.
And our new governance automation product is very much about this concept of providing a service catalog for business users to allow them to request via an approval process policy-driven site collections.
And lastly, from a granular perspective being able to migrate and replicate content cross-farms, and today we're going to show an environment where we have an intranet on-premise and then we're going to have an extranet which is hosted in Windows Azure, and we're going to replicate some published content at the list item level between those three environments.
So, Mark, would you like to show us how you've configured that in a Windows portal?
MARK RUSSINOVICH: Sure.
Let's switch back to the portal. I've got this application listed here with its virtual machines. You can see there's a whole lot of them, starting with AvePoint's management server.
If I go back, let's take a look at the various tiers that make up this application. So, first of all, we've got a front-end tier. You can see it consists of four virtual machines. This is the SharePoint farm front-end. We've scaled it out so that we've got load balancing across the front-ends. We've got SQL -- actually let me sort by name here. We've got the SQL Server tier because SharePoint farms require SQL Server. There's two instances here, and you can see that there's another machine which serves as the witness for it, because this is actually a SQL Server mirror. Then you can see the SharePoint application tier itself. This is where SharePoint Server is running. And then finally, SharePoint requires a domain controller, Active Directory. So, we've got two domain controllers up here as part of the Active Directory domain that it's connected to.
Now, the reason that there's at least two virtual machines in each of these tiers is either for availability or for scalability or both. And like I mentioned, the front-end is scaled out behind a load balancer, and it takes advantage of a feature we introduced with this release called a load balance set where you can take multiple virtual machines and connect them behind the load balancer.
If I go to the particular details on this virtual machine, you can see first of all that we are also collecting performance information from the infrastructure and surfacing it up in the portal, including CPU usage as well as network traffic and disk traffic, so you can get an idea of what's going on with your virtual machines.
I'm going to click on end points and that's where you can see the networking configured for this virtual machine, and you can see that it's got an HTTP port configured on it, and then that port is load balanced.
If I click edit end point, that's where I can configure which machines are also in that same load balanced set, and you can see that the other front-ends are part of that load balanced set here so that requests coming from the outside get spread across these machines.
Now, we also from building high availability applications in the cloud, we want to make sure that if there's a failure in the datacenter that it doesn't take out the entire application. So, we've introduced another feature called availability sets that let you put virtual machines into an availability set that directs the infrastructure to spread them across single points of failure. So, for example, if a top-of-rack router fails the entire application isn't taken down, just part of it.
I can do that configuration here by setting an availability set that consists of those other front-ends. Now, if the rack fails, all of the front-ends aren't taken down, just a subset of them, and the SharePoint farm continues to operate.
And then finally, we also wanted to connect this to our on-premise SharePoint farm, and we do this with a feature called Windows Azure Virtual Network Gateway. You can see here I've configured the virtual network for this virtual machine so that it's in the SharePoint front-end subnet. And that virtual network is configured here in the networks area, and you can see that I've got my on-premise site connected through the VPN gateway here to the cloud site with the various subnets, including the one we just looked at for the front-ends, to get that connectivity from the SharePoint farm in the cloud back to the SharePoint farm on-premise.
When I navigate back to the virtual machines and go to one of those front-ends, I can click on the DNS name here to open up that application, and you can see this is the user interface for the SharePoint farm.
So, Jeremy, why don't you tell us how this public side gets replication data from the on-premise side?
JEREMY THAKE: Sure, no problem.
So, as Mark mentioned, we've got the two farms here. So, this is our extranet farm, which is obviously hosted on Windows Azure, as you can see from that URL there. But then if I shift over to the intranet farm, which is actually hosted on-premise on a different URL internally within the organization, you'll see they're exactly the same.
Now, essentially with our agents we dropped in on each individual SharePoint farm on the Web front-ends and over that virtual network our manager is talking to both farms.
So, in this scenario what we typically do is we'd have authors authoring content on our intranet. So, I'm just going to simply upload a new image into our environment -- or a new video, sorry. And when I upload that I'm just going to give some metadata in there for that video so it displays correctly. And you'll see that it comes through in a draft state.
Now, if I jump over to my intranet page, you'll see that when I refresh there that that new video actually appears, but if I jump to my extranet page on a different URL here, you'll see that when I refresh that that page hasn't updated that content yet. And the reason for that is because we've got a filter policy rule in our replication products that is filtering on only approved documents only get pushed from this library.
So, in this scenario, once the author is happy with that content, he can click in there and click publish. And he can click OK there, and that will leave them in a pending approval state. Now the reality is here from time to time, I'm actually going to go in here and approve this myself. But in a real-world scenario, this would send a task to someone and they would log in and click that approval themselves.
Once it approves that, our engine will then reach out and replicate that content across. Now, in this scenario, it's one way. We're moving from an Internet to an extranet. But other workloads, such as the collaboration workload, where you may be working with external customers, you may want to do two-way replications. So, we have full conflict resolution there as well. So, in that sense, we can have collaboration going on in our extranet environment on a scaled out farm, and then push that back into the content on the Internet.
So, now when I come into the extranet farm and refresh that page, you will see now that that content has now appeared on our extranet. So, hopefully from that you can understand that you can start splitting your workloads in SharePoint across your on premise environment, and your Windows Azure virtual machine environments as well, and start to scale those things out to your organizations.
MARK RUSSINOVICH: So, I think that's a really cool example of how you can create simple virtual machines all the way to multi-tier, highly available, highly scalable apps that have hybrid connectivity back on premise.
If you would like to learn more about these features, I'm giving a session a little bit later today called Windows Azure Virtual Machines and Virtual Networks. I hope to see you there, and I hope you have a great TechEd. Thanks very much.
JEREMY THAKE: Thanks, guys.
BRAD ANDERSON: Thanks, Mark and Jeremy.
OK. So, we talked a little bit about Windows Server, we've talked a little bit about Azure. Let me give you a couple of examples of how some of the organizations here in Europe are using this. I'm going to focus in just for a minute on the aviation industry. Many of you probably flew into the conference on either KLM or on Lufthansa. Both of them have actually deployed private clouds on top of the Microsoft Private Cloud Solution.
Menzies is an organization you may or may not know, but I'm sure you interact with them without even knowing. It's the organization that does most of the baggage handling, and a lot of the work that happens at the gates throughout Europe, throughout the world, at the airport. We've been working closely with them on Windows Server 2012 in what we call our RDP program. They've been a tremendous partner in giving us input, and they're in the process of getting ready to deploy a private cloud on that infrastructure as well.
Finally, I'll give you one other example, Easy Jet. Easy Jet has been working with us on Azure specifically, and in Azure they've been looking to actually build a solution that they can actually have their customer agents at the air path out roaming through the gates rather than behind a desk, and just make it a lot more interactive, and a lot faster for you to interact with them as a customer.
So, lots of great things happening.
OK, so we've talked about modern datacenter. We now want to focus in on modern apps, and so we want to cover some experiences, and some recommendations, and some of the work that we've done on how you can build out these applications that have Internet scale, that scale up and scale down, and have all these attributes. Now, for many of the IT pros in the audience who may be thinking, OK, hey, we're about to transition into a developer kind of conversation, but I encourage you to look at what we're doing here, especially as we get towards the end of this next set of demonstrations, because we want to walk through the work that we're doing across operations and across development, so across Visual Studio and across System Center, to bring these worlds together.
You know, as we visit the world's startups, these startups and some of these incredibly fast-growing companies, dev and ops are the same people. Inside of Microsoft, my engineering organization where we stand up Windows Intune, and my team is responsible for all the anti-malware that we build; dev and ops are all on the same team. OK. So, operations is just a fundamental part of my organization, not some organization that sits outside the development team.
So, the worlds are converging and we're doing a lot of that work inside of our tools, as well. So, as I dive into the modern app there's a couple of attributes I think are really important. First of all, these applications are very personal. Users are just not doing what they used to do of create, edit, publish, delete. They want to have much more involved experiences as they work within these applications. They want to collaborate. They want to have the social things that they use in their private life also help them in their work life.
So, these concepts of being personal, of being social, and then about equipping them to get insights from all of the data. If you really think about the world's most interesting applications, the applications that I think are the most interesting right now; they all are enabling the use of big, big data. And so we've done a lot of work that basically helps all the data that's being generated by all these applications around the world, help that to be usable by the masses, be usable in your tools like Office that really put the power of being able to gain these insights into the hands of everybody.
So, we talk about Windows Server in the modern datacenter with these attributes of elastic and scalable, always on. Inside of Azure just the whole system from the day one we started building this, these have just been core principles. Remember, Windows Azure is based on Windows. So, we take Windows and that is the foundation of all this. We add some pieces to it, and one of the great things about Windows Azure is we're able to put some of the capabilities up into the cloud, try it, prove it, and then we bring it back to Windows Server.
So, you get into this virtuous cycle of the platform and the service all working together for the benefit of the industry. Here's a couple of data points that I thought you might find interesting. I mentioned a couple of these before, but just think about those numbers for a minute in terms of 10 megabytes of storage for every single of the 1 billion plus individuals in China, and we would still have storage left. You take a look at the amount of compute capacity that exists inside of Windows Azure and it's just a phenomenal experience.
Incidentally, as I was watching the tweets come through during hat last demo the No. 1 kind of most popular tweet was people talking about just how crisp and clean and beautiful that HTML5 experience is and how easy it is. In fact, one individual said, I don't know if I want it to be so easy that my boss can do it. I think for many of you the public cloud introduced some angst in terms of what does that do to your role and the infrastructure that you build inside of organizations. But, what you also saw in those demonstrations is with System Center you can bring all of the cloud capacity that your users want to use into one place and then you as an IT organization can start to put some compliance and controls around that, but still giving dev and the line-of-business builders all the rights and all the privileges that they want.
So, let's dive a little bit deeper now and let's actually get into some demonstrations of some of the work that we've been doing in the dev tools. So, we have been innovating top to bottom in the platform, in the framework, in the Visual Studio capabilities, to enable you to build these rich applications that have these attributes I just talked about with Internet scale, and then be able to deliver those across all of the devices that your users want to use, so top to bottom innovation.
So, we're going to spend a few minutes now diving into some of these demonstrations and show you how you can build these applications with these attributes across your devices. And we're going to start out inviting Scott Guthrie to the stage for him to give us a demonstration of some Azure applications.
SCOTT GUTHRIE: Thanks, Brad.
So, Brad just talked about some of the great products we're going to be coming out with later this summer. I'm now going to spend a few minutes walking through how you can build applications with them. And specifically we're going to build a mobile Web application that we're going to host in the cloud and we're going to make it available so you can use it on any phone or any tablet device. And to do that we're going to build this using .NET 4.5, Visual Studio 2012, and Windows Azure.
Let's go ahead and get started. So, what you're seeing here is the new Visual Studio 2012, the release candidate that just came out. And I'm going to create a new project; I'll call this TechEd. We're going to create it as an ASP.net MPC 4 application. And MPC 4 introduces a bunch of new capabilities. One of them is the ability to easily create mobile Web applications that can work with any type of device. So, I'm just going to create a new mobile application project template. This project uses the new JQuery mobile, which ships as part of ASP.net and Visual Studio.
So, I can just say Hello, TechEd. And now if I go ahead and run this we're going to build, run the application. VS 2012 now allows me to launch multiple emulators. This doesn't happen to be ours. It's someone else's. But, you can see here I know have a great HTML application built with ASP.net that works and gives me kind of a simple Hello World that allows me to target any type of device. So, that's kind of Hello World.
So, this is running locally now on my dev computer. What I want to do now is switch gears and deploy it into the public cloud using Windows Azure. So, I'm going to, to do that, go into our new Azure admin portal. You saw earlier how Mark could create virtual machines really easily using the new portal. You can also create websites. This is another new feature we just shipped a few weeks ago. So, I'm going to create a TechEd website. And this is just going to create a new website inside the Windows Azure datacenter, and one of the things you'll notice about websites that's kind of nice is they create pretty fast.
So, you should see, there we go, it's already created. And I can drill into this website. And just like you saw with virtual machines I can kind of see a very nice admin experience that allows me to customize it and configure it.
Now, I want to deploy my application into this website and I can do that in a couple of different ways. I could integrate Team Foundation Server so that every time I check in my source code TFS can automatically do a build, run my unit tests, and then automatically deploy it to the cloud. I could do the same thing using the Git source control system, or in this case here I'm just going to download what's called a publishing profile, which is an XML file that I can then import into Visual Studio, so that I can publish directly from the Visual Studio IDE.
So, to do that all I need to do is just right-click, hit publish, import my publishing profile, and hit publish. What this is going to do is cause Visual Studio to package up this application and compile it. It's then going to go ahead and upload it into Windows Azure, so it's going to copy all the different files that we have. For this mobile application project template we've got a lot of files, a lot of big files. So, this very first one is going to take 20 or 30 seconds in order to deploy.
On subsequent deployments it's actually really, really fast. So, it's much quicker in order to deploy. So, you can see here we've uploaded the files and our app is running in the cloud. So, that literally was all it took in order to create that first Hello World application, create a website within Windows Azure in order to host it and deploy it up there, so literally only a matter of seconds for each of those steps.
So, this is a simple Hello World app, though. Let's take this app to the next level and customize it a little bit more. And specifically what I want to do, if we switch the slides, is modify this application so instead of just showing kind of a Hello World text, instead I want to allow people to send me comments that we're then going to display on the screen. So, we're going to actually have everyone here hopefully break out your cell phone and start making this an interactive demo in just a few minutes, which is both very exciting and very scary.
What we're going to do specifically is we're going to modify this Web app that we're hosting so that when you post a comment to it it's going to take whatever is posted in the browser and it is going to create what's called a service bus message and stick it in what's called a service bus queue. This is basically a way that we can connect multiple distributed systems together in a very reliable way.
One thing I'm going to do is just run a little console app on my laptop that's going to be pulling these messages and displaying them on the screen. Unfiltered, so please be nice with whatever you say. And it's a nice kind of example of kind of connecting all these things together and building kind of a distributed app.
So, let's go back to Visual Studio and walk through how we do that. So, I'm going to do a couple of different things to enable it. The first thing we're going to do is we're going to go into our views folder, and I'm going to modify the home page of this app to have content like so. And this is just basically going to output a text box and a button that people can post to. I'm then going to on the project reference what's called the service bus library using our new package manager inside Visual Studio. This is going to download the assemblies that I need in order to publish through a service bus.
And then I'm going to update my controller, get rid of the default code, and instead replace it with some code like this. What this does is simply display that HTML form, and then when someone posts the message we go to the send message action. We are connecting the service bus queue, and I just create a message object and display it in the queue.
And then last, but not least, I'm just going to point to my service bus queue inside my Web doc config file. And once I do all this, I'm done, I can rerun my application. And in just a moment we should see the application here. I can now say, hello world. It sends. This is now connecting up into Windows Azure and posting the message, and it just stuck in the queue.
And to see what I actually posted, I'm going to launch another version of ES here. This is a simple app I wrote earlier. It's just going to loop over all the messages in that service bus queue, and it's going to run on my local laptop here. So, when I run this now it's outputting messages to the screen. People in the audience have already figured out what the URL is, which is cool. For those of you feeling left out, wow, exciting, you can go to messageScott.com. And so anyone in the audience that wants to try it out, you can go ahead and you can start posting these messages as well please be nice. Wonderful, we have lots of 1-800 numbers and things flowing through the screen. But a simple example, oh, dear
Anyway, a simple example here where you can go ahead and connect, where literally in a matter of minutes you can go ahead and build a project, get it posted and hosted inside of Windows Azure, make it scalable around the world. And the great thing is you can connect those types of applications very easily to your on-premise environment. Here we're posting messages, we could also be hitting databases, and things like that. And then you can use the capabilities that come with ES 2012 and .NET 4.5 to reach any number of audiences, and make it as connected as you want.
So, a simple example. You can learn a lot more in the sessions later today and throughout the week. And to show how you can even go further with this, I'm going to invite Jason Zander on stage how we can now build an even richer experience on top of it. Thanks a bunch.
JASON ZANDER: Thanks, Scott.
And what we want to talk about next, Scott just showed us a really great way to build
cloud services, have those things be scaled, and by using Web standards, we can actually make those available everywhere, a combination of HTML which you just saw, that's one great form factor. We're also building some premiere clients that we'd like to have connected as well. So, we think this pattern of being able to build with the power of the cloud, and leverage that in multiple ways, in multiple form factors can be very, very powerful. So, don't stop sending your messages, we're going to keep using that.
To get started, let's go ahead and jump over to a development machine here, and I've got Visual Studio 2012 up and running. This is the release candidate that we have available. We got a lot of feedback on the beta. I appreciate the feedback on the beta. Some of that debate is still going on. But we have made quite a number of changes to the RC based on that. So, thank you for that. In particular, one of the big things we did was to add quite a bit of color back into the system. You'll see that we have color here up on the bars in addition to in the files. One of the things you told us is, hey, it's a lot easier to find my content when you have that. We've also added some docking things, and some addition color on the bottom piece. So, we took a lot of your feedback. It's in this version of the product. We really appreciate that. There will be more coming as we finish up the release. So, give it a try, and let us know what you think.
Now, to get started, Scott had a nice message queue that was up and running there and pulling a lot of data back. Now, we want to be able to take advantage of that in all sorts of form factors. So, one of the things that I have here, I have a Windows RT slate. That's the ARM version running Windows 8 operating system on top of it. And we need to be able to do developments with this kind of device, and we'd like to be able to build really nice, rich Windows 8 Metro style applications.
So, I'm going to go ahead and try that out here. If I go over onto the desktop, and you should see two things up here. On the one side, you'll see Visual Studio with my Metro application. You see we already have the queue code that Scott had in the client already up and running. Here I've got the I'm going to exit this, this is the debug monitor. On my ARM machine I'll start a new instance of that. So, now I can connect between the two.
So, we want to go ahead and take your messages. I'm going to do a remote machine debug on this. That's going to build the application. It's going to launch it, as you see out there. And we're actually going to connect between these two things. And so we've randomly taken your messages and assigned them to continents. I'll click Europe here. I'd also like a cup of tea. Let's add a photo for that. OK, so, let's take a picture. That looks good. And we'll click OK on that.
And so now here we're going to pop back in, and here we are at the debugger. So, this is just normal debugging. This is exactly what you're used to. Now, just to show we really are on the ARM, I can click on the registers, and I can see the native registers for that machine. And if I click up here on disassembly, you can see the native disassembly.
Now, that's your moment of geek. If you really want to dig all the way down to precisely the instructions that we're using, we could do that. Now, the thing is for the most part that's complicated. You don't have to do that, which is nice. It's just Visual Studio, my locals, Windows, everything else is going to work exactly the way that you're used to. Now, this is going to work here. I have C# and XAML up and running.
So, now I've got this nice interactive system, and I can kind of connect between the two, and use all those skill sets that I've built to target all of the nice new Metro style application environments that we've got.
So, that's a great way to get a client up and running. And, of course, we'll handle that on the phone as well, and other environments, too. But there are other environments that you're also working in, and SharePoint is one of the most popular ones that we have. So, SharePoint we've been doing a bunch of work, both in Visual Studio 2010, but we've added some new features with Visual Studio 2012 as well, and SharePoint is both a source of data with lists and data I can consume on my applications, but it's also a great place for me to go write applications and host them.
One of the things that you told us, this is actually a list view right here. So, this is what a list view looks like in Visual Studio today. And, well, it's the accurate description of what I actually have to do to install. But it's not very exciting. So, one of the things that you asked for was to have an interactive design surface for that. So, we've added the list designer right inside of Visual Studio.
In fact, if I click on here, I can get example names that I can use. I can change the data types and the ordering and those sort of things. And we'll do all the synchronization with SharePoint to make sure that those things are going to sync up correctly.
Now one other thing that we've added here, this is of course a Web part that I have, a control for Web forms, in order to put some content into my SharePoint site. So, this is good. I can kind of see what's there. But one of the other things you told us is, look, I'd really like to have a designer. So, we've got the split mode. Now, I can actually do the drag and drop. I can pull the toolbox out, and it's kind of exactly the design factor that you're used to.
Let's go ahead and launch this application. Now, in this case we'll do the compile. We'll synchronize up with SharePoint, make sure the right content is there. And then we'll go off and run the application against the backend server. And I'll hit this. There we go. So, now I've got a very nice system, and just a nice list, very easy to go after and be able to put in here. And you can see here is where my design is. I've got my list design, all my content is coming up, everything looks like it makes sense.
All right. So, that's another good example being able to consume services, another type of client being able to write that, all again using the same set of skills that you've got. I want to show one additional example in this kind of space, and that's the Lightswitch. So, we have Visual Studio Lightswitch, and it really is the fastest way to create an application where you're going to have data coming from all sorts of places, and you're also going to put a lot of screens into an application. And I would like to get that app up and running as quickly as possible. And so we've designed a system that allows you to very easily get that data in and mash it up, and we've got the most common sets of screen templates that you'd like. This is in addition to, of course, being able to write your own application with MBC or in the clients, whatever you'd like, but we want to make this super simple.
Now, one of the new things that we added, if I do add data source, is we've added support this time for ODATA. And with this I can get access to all sorts of data, because ODATA is becoming very rapidly a standard for the industry. And so, for example, many of you might be using a system like SAP, with ODATA I can actually use the SAP NetWeaver gateway. I can just go ahead and add an entity into my application, and I can start building up screens and doing joins between that data, my SQL data, and the other data that I have. And SAP, of course, is just one example of what I've got.
Now, this works pretty well, and this builds on top of the support we've built into the previous version of Lightswitch. Lightswitch now ships with Visual Studio 2012 in Pro and above. And the other thing we've got, though, as you saw on the slide from Brad, we know that not every single one of your devices is going to be a Microsoft device. And so we've got first-class support there, but we know we need to give you support that's going to work on all sorts of mobile devices, and tablets, and those sort of things.
So, that gets us up and running very quickly. Now, I'll go ahead and hit F5 on this. Now, we'll compile this up and again, we're just pulling back the model that describes what the data looks like, no matter where it came from, and then we will do the job of building out the HTML5. Now, we're using jQuery Mobile, along with jQuery, which you just saw, and so now I get this nice tile style, just to really look at this, I can pull up the DOM explorer, expand these two and as you can see, as I flash over some of these. That flashing is basically me finding equivalent elements in the DOM explorer and showing exactly where those land. So, it's just normal jQuery. So, any experience you have with that system you can just drop it in.
Again, because of the way I've styled it, and the fact we're using standards-based HTML5, I can drag this browser over and this, for example, might be a good width that I might have for a mobile environment, and I could drag it out to the size of a tablet and it's going to reflow and it will work in any browser that does a good job supporting HTML5 and Web standards. So, that's three very easy examples and what I should tell you is the new support that we've got here for HTML5, we're making that available as a CTP as of 10 a.m. Pacific Time. So, you'll be the first guys to hear about that. So, I encourage you to go ahead and download that and give that a try and let us know what you think of that support.
So, let's move over to the slides. There are three very quick examples of all sorts of clients going from very rich clients, very immersive and that kind of experience on a tablet, the Windows 8 Metro style, in addition to SharePoint and Web. So, we're going to give you broad reach. The thing that's in common with all of them, of course, is they actually reach in and use a standards base, so it's easy to use any system that you want.
Now, that's really great, because it gives us the pro-construction, between what Scott showed you and what I just showed you, we can build compelling services, we can build compelling applications, but as developers in this audience know it's necessary, but not sufficient to build great software, we have to also get into our customer's hands, and that means we need to get into how do we operate the software.
Now, in this room we've got a whole bunch of people that are developers and we've got a whole bunch of people that are IT professionals. And sometimes in the past we've had this issue where we, especially as an engineer myself, I'd build some software, maybe toss it over, and you don't know exactly, well, how well is it actually doing. And I think for us to be successful we really need to see this new lifecycle continue here. We want this to be continuous. I want to make sure that development and operations are both coming together. We should be able to share assets with each other. We should have smart software that's helping us figure out how well the software is working and we've got to make that a very tight loop if we're going to be able to ship quickly.
Team Foundation Service, which Scott showed off, that's on my team, we ship a new version of that every three weeks. That's a public version with new features every three weeks. We actually build it and do internal deployments nightly. So, this kind of environment you cannot pull that sort of frequency off unless you've got this thing going very, very well. So, let's go ahead and take a look at this and see how would we pull these two worlds together. I'm going to start off over here as a dev. And on this machine I've got a nice commerce site, and in our site here we're selling toys and that sort of thing. I'd like to take this to be worldwide. So, we have access everywhere. So, we can expand our business.
Now, one of the ways I'm going to build this site is I'm going to use the Web testing support built into Visual Studio. So, I have a Web test and this test actually tests my shopping cart functionality. So, as part of functional testing I'll make sure if I put things into the shopping cart that I can actually do the transaction and make sure that everything works. So, once I'm happy with this code I can take it and now get it ready to deploy with my operations team. So, let's put on our operations hat and I'm going to step over to this terminal. One of the things we need to do is now decide are things running.
So, what we have is a new feature called Global Service Monitoring, or GSM, that will be coming with System Center 2012 SP1. And the goal is to take advantage of the points of presence that Azure has all around the globe and give us the ability to do very straightforward monitoring of our application and make sure things are working well. So, in this case I'm going to go ahead and do an add, and the first thing you'll see here, this Web test that I have, it's exactly the same test that we use in the engineering side to validate it.
So, as a team we're now able to collaborate and start sharing assets. So, I'm going to pull that in for monitoring. We'll go ahead and click next on that. I need to pick where am I going to actually run the test, and we have worldwide. So, let's start at Sidney and go to San Antonio. We'll add all of those in and then I'm going to go ahead and click next. And now I can configure frequency and other sort of settings and things like that. So, that will now take our functional test, we're now going to run it worldwide, make sure that everything is operating correctly.
I'm going to exit this, because we're already done this and pull up a couple of views that I can now use from the operations side to make sure that the health is good. Now, first I'm going to get a decent view of around the world and how are the tests going, and everything looks pretty good except for it looks like we're having a problem in London. I can also get information on, well, how is the response time and latency and those sort of issues and once again we do see that we're having an issue in London.
Now, we need to go figure out what this looks like. Now, as an ops professional, of course, I'm going to do my usual set of things and check hardware and certificates and everything else that might be wrong, but at some point I may decide, you know what, this really does need to go and it needs to go back into the engineering team. So, I'm going to hand this back over. I'm just going to right-click and say assign to engineering. And that's going to go ahead and the software is going to collect the diagnostic information required for me to be able to give the right data over to the engineering team.
So, one more time I'll put my engineering hat back on. We'll walk over to our Visual Studio machine and in here I can see I have the operational issue and I've got a missing tax rate, I've got exceptions here, if I go over to attachments you can see I have an IntelliTrace log and IntelliTrace allows me to go back and debug what's already happened in the past, that log, and that log was collected by System Center, simply by saying, hey, give this to engineering. So, it collects all the data.
Now, I see I have some SQL data exceptions. If I click start debugging here this will actually debug the log. So, it's not attached to the production server, but it's going to attach as a debugger to the log that was taken from operations. I can now go in and start seeing, OK, what's going on here. So, I've got missing tax rate exception, et cetera. And by looking at this code I can go through, find the data, and I think what we'll see is OK, I'm missing a tax code for the U.K. country code. So, that's clearly going to be a problem, either my service provider that had that data and that data is gone, or I've got some other issue with my own data. But, as an engineer it's going to be pretty simple for me to now go figure it out. I can go ahead and fix it. Once I get it done I'll rerun the functional tests and I'll pass it back resolve it, and that same data will now flow back into the operations side.
So, I think what you just saw there is very easy that I can just use the software and the tools I'm used to, System Center and Visual Studio, I can let the software collect a lot of that data, but we can get this rapid cycle of iteration between the two sides and let's let the software help do that. That's going to help us deliver as fast as we possibly can.
So, with that, I'm going to say thank you very much and hand it right back over to Brad.
BRAD ANDERSON: Thanks, Jason.
Did you see that level of integration we've been doing between the operations tools and the developer tools? I think it's amazing, it just seems so simple and so obvious, but take the exact same tests that are defined by development and actually now run those from the points of presence around the world that Azure has and gives you that performance and availability globally at different points of the presence. I don't know if you noticed that, with a couple of clicks of that mouse, Jason said there's going to be 112,000 tests run on a monthly basis on all those different points of presence. So, that's coming in the update. That's coming to System Center as we get closer to the Windows Server 2012 launch.
Let's talk now about we've talked about the apps, we've talked about how we build those apps, and it's always amazing when I watch that demonstration from Scott is you started seeing all this information feed in. Now, wouldn't it be great if all that data that comes in and all the data that's being collected by all the applications that you have and that the customers that you support have, if you could make it very, very easy for the experts in the business to be able to pull insights out of that.
Today data is king. Knowledge is king. The organization that has the most knowledge, that has the most data of what's happening in their environment, in their competitive battles, in their markets are the businesses that will accelerate and are the businesses that will win.
So, we have spent a lot of time working in this area that the industry refers to as big data, and our focus on this has really been how do we take that concept of big data and bring it to the masses inside of the tools that your users are already using, Office. How do you just make it really easy and simple for them to be able to wallow in the data and pull insights out that advance their business? This is just one of those scenarios where you just have to see it. You just have to see the innovation. So, we're going to show you a pretty interesting demonstration here of wallow in a lot of data. What I would encourage you to think about is what are the challenges and opportunities that you would like to have your teams, your business wallow in and think about that while you're seeing this and then let's go home and help you implement it.
And so, with that, we're going to invite Riccardo Muti out to give you an example of gaining insights from big data. Give him a hand.
RICCARDO MUTI: Thanks you, Brad.
Good morning, everyone. We're hearing more and more about big data, and that's for good reason. Not only do you have enterprise systems that are capturing ever-growing volumes of information, but you also have services in the cloud like Facebook and Twitter that are generating just massive volumes of data, in many cases unstructured data.
Now, wouldn't it be great if we had an easy way to capture insights from all of that data, and use it to make better business decisions? This is what I'm going to show you today.
Now, since I've been told that my generation is the Twitter generation, I'm going to do this using Twitter. I took our Hadoop cluster and I pulled in 12 million tweets about movies. That's 12 million 140-character strings of text. It's a gigantic pile of unstructured data. To make sense of it, though, I'm going to use PowerView. It's an interactive data visualization experience that we introduced in SQL Server 2012.
Here I am in PowerView. You can see my count of 12 million tweets. I want to see how these are spread over time. So, I'm going to convert this to a chart. I'm going to pull in the tweet date. And just like that, with a couple of clicks, I've got a really nice chart that shows me the tweets and when they occurred over time, over a certain time period. And my eyes are immediately drawn to some of these fluctuations. There is a big spike around March 23rd. There's another spike over here around May 4th. Something must be happening around these dates to explain this burst in Twitter activity. Maybe it has something to do with the release of certain movies.
So, let's check that out. I actually have data on movies. So, just with a new visualization here, I'm going to grab the movie title, and let's grab the tweet counts, the number of tweets related to each of those movies. I'm going to convert that to a bar chart, again really, really easy, and I'm going to sort this by the tweet counts descending, so that we can see that the most tweeted-about movies flow up to the top. And the most tweeted about movie is The Hunger Games. So, what effect did it have on the tweets overall? I can click The Hunger Games. I get automatic cost highlighting. I don't have to hook anything up. And instantly I can see that The Hunger Games was responsible for this big spike in tweets around March 23rd, which was actually when The Hunger Games was released. And look at that, it's amazing. The number of tweets about movies, all movies in general, more than doubled over the course of just a week or two just because of the release of this one movie, which is pretty impressive.
What about The Avengers? Well, I'll check The Avengers here, and we're going to see some highlighting. And there we go, The Avengers, the release of The Avengers in May explains that second tweet. So, with a few clicks already we've got some quick insights.
Now, in what sort of scenario could this help me make maybe a better business decision? Well, I don't necessarily have to work in Hollywood or anything like that. Let's imagine that I just manage a movie theater just down the street. Every weekend I face a really critical operational business decision. I have a certain number of screens. I have a bunch of movies that I'm supposed to be showing. How many screens should I allocate to each of these movies so that I maximize the amount of revenue that I take in overall? Well, maybe the tweets can help us make that decision.
I'm going to pop this out, and what I want to do is I want to look at only the top grossing movies, the real blockbusters, and I want to look at only the tweets that were sent out before the movie was released. So, this is the data that we have going into opening weekend. And let's focus on the movies that are opening that weekend. Let's give this a second here.
Isn't that rotating thing beautiful? I think it's great. (Laughter.) Could we maybe switch over to the backup machine?
OK. So, here what I've done is, this was a bar chart here. And what we've done is converted that to a scatter chart. A scatter chart is really great at showing correlation. So, what I want to check for is correlation against revenue. So, I'm going to pull in the revenue in the first week, and the revenue overall. And right there you can see horizontally we've got the number of tweets, vertically we have the first week revenue, and you see diagonally, how they're laid out diagonally, it's the direct correlation.
So, going into opening weekend, the more people have already tweeted about a certain movie, the more revenue it tends to take in in its first week, and the more screens we should allocate to that movie for that opening week. So, that's fantastic. We've already learned something that we can use.
What about going into the second week? Well, the second week is a little bit different because you can see that generally a movie makes its most in its opening week, and that's this blue column here. There tends to be a drop off to its second week performance, which you can see here. However, the interesting thing is, if I convert this to a 100 percent stat chart, you can see that the drop-off is not consistent, it's varies. And even if we were to look at the number of tweets, the first week revenue, even the critical reviews, none are a perfect predictor that explains this variation.
So, what might be a better predictor is the actual sentiment. Now that people have actually seen these movies, when they're tweeting about it what are they saying, something positive or something negative? Now we're looking at the tweets in the week since the movie has released, and were looking at the we've actually used the Hadoop cluster to calculate the sentiment. So, if we look at something like John Carter, which got negative sentiment, people tweeted about it, said don't waste your time, and nobody went to go see it the second week. If we look at something on the other extreme, like The Dictator, it didn't get much better critical reviews, but people tweeted about it and said, regardless of what the reviews said, I found it pretty hilarious, and you should go see it. And it actually made more money in its second week than it did in its first, which is quite rare.
So, now we know that for movies going into their second week, we should look at the Twitter sentiment over the first week, and use that to determine how many screens we should open. So, this is really amazing. We've taken this big pile of unstructured data, and using Microsoft BI, we've been able to extract insights from it that we can use to make better business decisions. Imagine that capability in the hands of your users and what that could do to your business. Thank you very much.
BRAD ANDERSON: All right. Thanks, Riccardo.
There's a little bit of work that has to happen to set some of that up in the backend. But no longer is BI, and the ability to actually wallow in that big data just something that's reserved for a couple of data scientists. This is all about taking, and just allowing, like I said, the experts to wallow in that data and really learn those types of insights that Riccardo spoke about.
OK. So, we've spoken about modern datacenters, modern applications. We've talked about how you build those applications, how you can enable insights in those applications.
I now want to talk a little bit about how you deploy those applications to the devices that your users want to use, and really I'm going to focus in on how you can enable the BYOD phenomena, bring your own device. And what I would tell you is, this is something that for many of you it may seem to be a little bit scary, it may seem to be a little bit uneasy, but I would encourage you to think about how you do this. Your users want to be productive on their own personal devices, and I'm going to say from personal experience, you enable your users to work when, where and how they want, and you're going to get a lot more productivity out of that.
And so, let me just kind of just set the stage here, and make sure we're on the same page about where the growth of device is going to come from, and then I'm going to walk you through what we're doing here. So, this is what most organizations kind of look like today. And you have two kinds of devices. You've got user-controlled devices, and you've got corporate-controlled devices. And you kind of have maybe it's kind of a mix of one to one. You've got corporate-procured PCs and devices that IT is responsible for and kind of owns cradle to grave, and you have users wanting to bring in their own devices right now.
Now, this is what it looks like today or in the near past. In the future your growth is going to come in the user-controlled devices. You're still going to have a lot of corporate-controlled devices, but the growth is going to come as users want to bring in multiple personal devices to work from. Now, notice I don't say up here user-owned or corporate-owned. I use the word "user-controlled." It's all about who is in control of the device, not who owns the device, because you may have policies that say, hey, you can bring in your own personal device, but it has to join the directory. And as soon as it joins AD, we're going to push an agent down to it, and we're going to control that device just like we do the devices that we procure. It's all about who is in control of the device.
Now, let me give you a matrix that we've used internally that really has kind of helped us re-imagine what management means in a world where users are bringing in their own personal devices. So, I'm going to walk you through this because this really did set the frame about how we are building the technologies and solutions that allows you to say yes to BYOD.
So, the rows here, the horizontal rows are all about who is in control of the device, the user or the corporation. The vertical is where it gets interesting. The vertical is all about what kind of privilege, and how much privilege does an application have on a device. So, for example, the column to the left, that's traditional Windows. In traditional Windows I can build an agent, I can build a service that service can have a global view of everything that is happening on that device. That app is incredibly privileged. The right column, that's Windows RT, or iOS, for example, where you can build an application, but the application is its own entity and it can't really see other applications. On an iOS device, there's no concept of building a scheduler. There's no concept of building a service. And so the app is not privileged. It only sees itself. Do you understand the difference?
Now, historically, with SMS and System Center, we have built in that bottom left-hand quadrant, all about corporate-controlled devices where the app, our service, had total privilege. And that is all about control. That was all about how do you give IT complete control of that device cradle to grave.
In this new world where the growth of the device is going to be in user-controlled devices where the apps are not privileged, this is where we've had to re-imagine what management means. And now we are building what we call governance and control, because you have to have both. There will be scenarios where you will want to tightly control desktops and devices, just like you always have, especially if those devices are being used in scenarios where there is regulatory compliance, but more and more especially on these devices that your users are bringing in, and you're going to want to do what we call governance. Governance is all about setting the policy that then controls and manages how users access their apps and their data. You as IT set the policy that governs that access. The user then has the ability to say yes or no I accept that, but the user is in control of the device, but you are in control of how that device then accesses corporate applications and corporate data.
Let's give you a couple of quick examples. You can have a policy that says if you're going to access corporate email, you have to have a power-on password. So, the user, when they go to do that, they're asked put on a power-on password, they can choose if they want to do that or not. If they say, no, I don't want a power-on password, that's fine. They just can't access corporate emails on that device.
You may say if you're going to have corporate data and a corporate application that has high value information in it, not only does the device have to have a power-on password, but it has to be encrypted because if that device gets lots you want to make sure that any corporate information on that device is protected because you don't want that to appear on the periodicals of your local country saying our company lost personal information of our customers. So, it's all about control and governance.
So, in this new world, this modern device, access, and management, it's all about basing everything on the user. So, what I'm going to show you here in a few minutes is whether your device is a Windows device or a non-Windows device, everything that the user is going to do from that device is going to be based upon their Active Directory ID. It's all about how you enable them to get their applications and data across all their devices. And so we're building this consistent experience in HTML5 as well as native applications on all the devices that as your users roam from one device to another, maybe they're using a PC in the morning, and maybe they're using an Apple device in the afternoon, they get a consistent experience that gives them access to all their applications and data. And then the system intelligently understands how to deliver that to them. And then, finally, this concept of control and governance.
So, I want to show this to you. And this is where everyone backstage gets a little bit nervous when the vice president does his own demos. So, let me give you a view here. What you're looking at first of all here, this is a standard iPhone, it's just a standard iPhone. And what I'm going to do here is I'm going to bring up a browser, and I'm going to show you our Windows Intune service. This is the live service. Everything I'm showing on this device is available today. This is in the release of Windows Intune that we released two weeks ago.
So, I'm just going to bring up the browser. The browser is going to bring up, again, this HTML5 experience. And the first thing it's going to ask me to do is show this Windows Intune, it's going to ask me to authenticate. So, let's see here on this tiny screen if I can authenticate. For those of you watching, you're going to see what my password is. And this is actually going against the live service. So, this is literally going against the Windows Intune service that is running around the world.
What it's doing here now is it is authenticating me to what we call Azure Active Directory. These are pointers up in Azure that's pointing back to your local Active Directory. So, now I have gone in and I have authenticated on this iPhone to Active Directory. This device now is domain-trusted, because I've authenticated on it.
Now, what you saw here is I have the ability to now get applications. So, what I'm going to do here is I'm going to take this application and I'm going to install this application. This application is being delivered down to me, again, from Windows Intune, and we have points of presence around the world. We have our Azure service that runs around the world. I'm going to install that. And right now, I'm literally installing an application from the Windows Intune service on this iPhone. And I'll be able to do this on Apple devices, on Android devices, and on Windows devices.
OK. So, that's going ahead and installing. It will finish up. And, again, this is in the device now is domain-trusted, and I'm doing that through the service. That's today service that is available.
Let's now transition over to this right here. I'm going to give you a view of a Windows RT device. So, I'm looking at it here, it's a Windows RT device. It's an ARM device, just like Jason was demonstrating a couple of minutes ago. It's not Active Directory-joined. This is just a device that a user would come in on. Now, prior to this, what I had done is I had gone into the control panel and I had enrolled my device into the service, OK. Again, the user is in control of the device.
So, I've enrolled my device into the service and as a part of that I put in my Active Directory user name and password. Then when I click on this application it brings up to me this beautiful Metro-style application that shows me all of the applications that have been associated to my Active Directory user that I'm now actually on the device. So, the same applications, the same identity, and I can access it on an iPhone, for example, and on a Windows device.
Now, of these applications some of these are applications that are line of business, some of these are applications that are coming out of the Microsoft Store, if I come here for example and click on this Contoso approvals, this is side loading an application. OK. So, this is actually taking a line-of-business application that I have written in my organization and what it's doing here now is it's actually going out and it's going to go and deploy that application for me.
So, if I actually come back to the start menu here you can see there's that application that's been deployed. If I were to click on that it would bring up this beautiful Metro-style application for me. But, again, side-loading applications that are unique to your organization that you're not putting through the standard store. So, now if we come back again, come back in that application, I'm going to click back here and I'm going to do some other things. You can see here I can categorize my application. If I were to click on Microsoft Reader, this is actually an application that is coming from the store. So, it's called a deep link. So, this is deep linking into the applications in the stores. And what this does is it kind of sifts through all of the hundreds of thousands, soon to be millions of applications that exist in these stores, and IT can help me as a user quickly get to all the applications that I need to get my job done across all my devices.
A couple of other things that are interesting here, remember this is all about users being in control of their devices, but yet governance set by IT. If I click on my devices, I actually can see all the devices that I have enrolled into the service. And I get status; I can click on my Windows RT tablet. There I can see if it's healthy. I can click on my phone, OK; it would show me the health of the phone. It shows me my location. It shows here that I'm at the convention center. Down here on the bottom right I have abilities like I can delete the device out of the service. I could remotely wipe it.
So, say that I happen to leave my phone or my tablet in a taxi in the morning, all I would have to do as a user is get access to any browser anywhere in the world, authenticate into the Windows Service, the Windows Intune service, and I can remotely wipe my devices. And again, it would show me all my devices, whether they're Windows or non-Windows. Then finally, I have the ability now as a user to interact with IT. IT can give me statuses of what's going on. I can create a service.
What I've just shown you here on this Windows RT device is a sneak preview of the update that we'll do in conjunction when Windows 8 comes out. But, you get this beautiful experience with that beautiful flowing, fast and fluid Metro-style application, that again brings all the value of Active Directory down to these consumer devices. OK. Look for it. I think it's pretty exciting. I think this concept of governance and control is really critical for you to enable that BYOD phenomena, and believe me we are committed to making sure that you can enable your users across all of their devices.
OK. So, we're coming to the end here. Let's wrap this up for a minute. We've talked about the cloud OS. We've talked about all the innovations that we're delivering into Windows Server 2012 and System Center and Visual Studio, and all the products across the board. We've talked about what the modern architecture of a modern datacenter is, what the architecture of a modern application is, how you enable users to get data and insights out of that data. How you enable your users to get access to all the applications and be productive across all of their devices. It's just a great time to be in the industry. There's so much innovation, there's so much change. What I'd tell you, I think this is opportunity. I started out this morning talking about is the glass half empty, is the glass half full. Let me submit that when this kind of change happens in the industry, when you embrace it and you drive it, the glass if far from being half empty or half full. It is full. It is overflowing and there is so much opportunity for all of you and for all of your organizations.
So, my final word of encouragement, or my final word of advice would be when there's times of change, that's when leaders step up. So, I'd encourage you to lead; lead, don't follow, lead and be a leader in how you embrace the cloud. Lead in how you lead in enabling users to bring their own devices in. Be known as an individual that is pushing the boundaries in your organization. Be known as an individual in your community that's pushing the boundaries and adopting the modern ways of doing things. Make sure your organizations are seen as leading, as embracing these leading-edge capabilities and once you do that your organizations will differentiate yourself and you'll be more competitive.
With that, again, thank you for spending the morning with us. Thank you for being here in Amsterdam. Have a great conference. (Applause.)