05062019 Build Technical Keynote Scott Guthrie



05062019 Build Technical Keynote Scott GuthrieBuild 2019Technical KeynoteScott GuthrieMay 6, 2019(Video segment.)ANNOUNCER: Please welcome Executive Vice President, Cloud & AI, Scott Guthrie.(Applause.)SCOTT GUTHRIE: Thank you. Well, good morning, everyone, and welcome to Build. We have some really great content this morning, as well as some awesome demos and announcements to share.We now live in a world that runs on software, a world where code drives the experience we interact with on a day-to-day basis, not just in our phones or on the web but with everything. Our cars, our house and our work environments now run pretty much entirely on software.And this is what makes it such a great time to be a developer and to be able to build apps and solutions that can have an amazing impact on people's lives.Our goal at Microsoft is to provide developers with the platforms and tools that will make you incredibly successful. It’s a mission that we've had since the very start of the company, and in this keynote we're going to go walk through and demo our latest development tools and cloud platform innovations that enable developer success.Microsoft has everything you need for creating the next generation of software applications. Whether you are a .NET developer building a web app or Node.js or Python or a Java developer on a Mac doing the same, whether you're a C# developer using Xamarin to target Android or iOS devices, or a Python developer using Vim to create a custom analytic solution hosted in a Linux VM, Azure supports your tools, your languages and your apps, and every developer is welcome.And over the last few years, we've seen developers really across the globe build and deploy some truly amazing solutions using Azure. Over 95 percent of the world's largest companies are now running their businesses using Azure today. And many of our customers will share their stories in my keynote and also in sessions throughout this week about how Azure is helping them drive their business success.And we're not just focused on helping large businesses take advantage of Azure. We're also working with thousands of software vendors to help them build cloud solutions on Azure as well, and then take those solutions and sell them to enterprises and businesses around the world.One of the unique programs that Microsoft offers is our partner co-sell program. The Microsoft partner co-sell program is specifically designed for our partners who build on Azure, Dynamics 365 or the Power Platform, and help them grow their businesses in the enterprise.And through this program, you know, we don't just provide a cloud platform but software vendors can also then tap into the Microsoft sales force, which is the largest enterprise sales force in the world, and our Microsoft sellers now get quota relief every time one of your apps gets sold into their accounts. And today, we're expanding our sales incentives to also extend to our channel partners when they resell solutions that you build on Azure or Dynamics 365 as well. And this really incents tens of thousands of Microsoft salespeople and hundreds of thousands of channel partners to work on your behalf to help you close sales and grow your business. This is something that no other cloud vendor provides.And our Microsoft sellers have successfully engaged in tens of thousands of partner solution opportunities over the last year, and in the last 12 months alone Microsoft has helped our partners generate $5 billion of their revenue through the Azure co-sell program.UiPath is a great startup built on Azure and is taking advantage of this co-sell program to drive their success. In fact, UiPath just last week announced their Series D funding round, which puts them at a $7 billion valuation, making them the most valuable RPA startup on the planet. Let's hear from them.(Video segment.)SCOTT GUTHRIE: UiPath is one of only many partners that have had this type of success, and our partners range from small startups to large established software vendors. And if you're a software vendor, we'd love to partner with you as well.Now, this morning, Satya talked about the intelligent edge and the intelligent cloud and how this new app pattern is creating incredible new opportunities for developers to build amazing solutions.One of the hallmarks of Azure really from its inception has been its comprehensive hybrid cloud support. We have a platform that includes all of the components you need to build applications that span multiple computing environments. This includes the ability to run your applications in on-premises data centers and on edge devices, integrated with both our cloud and, in fact, even other cloud environments.And this comprehensive hybrid capability extends across all of our developer tooling and DevOps support, our Azure Active Directory identity offering, our operating systems and application platforms, our data platform, our AI platform, and our security and management offerings that provide you with a single control plane across your hybrid environments.We even now offer unique services for running your VMware, SAP, and NetApp systems in a hybrid way with Azure. And no other cloud vendor offers this comprehensive hybrid support.And throughout this keynote I'm going to go deeper into the amazing hybrid applications that you can build today with Microsoft Azure. And let's start by taking a deeper look at what we're doing for developer tools and DevOps.Now, our mission with Visual Studio is to provide best-in-class tools for every developer. And with Visual Studio and Visual Studio for Mac we enable those developers who want full IDEs, and with Visual Studio Code we support developers who want a lightweight code optimized editor. And we're seeing Visual Studio and Visual Studio Code usage growing significantly in pretty much every developer community out there.You know, Stack Overflow recently completed a survey taken by over 90,000 developers that use the Stack Overflow site, and the Stack Overflow site is used by many, many different development communities, and Visual Studio Code and Visual Studio continue to be the No. 1 and No. 2 development tools used across the entire set of developer communities on Stack Overflow.We recently shipped Visual Studio 2019, in addition to a bunch of great new capabilities in Visual Studio Code.And what I'd like to do is invite Scott Hanselman onstage to highlight some of the new capabilities these tools support and some of the great things you can do with them. Please welcome Scott.(Applause.)SCOTT HANSELMAN: Hey, friends. I came here to give you a demo that I prepared for and it is broken. (Laughter.) It is not doing what I want it to do. When I push "start streaming" here -- oh, that's not me. Why don't we switch that up to my screen? No. 1. Screen No. 1.(Break for direction.)SCOTT HANSELMAN: The screen switcher is running a competitive language. (Laughter.) (Break for direction.)SCOTT HANSELMAN: Hi. Could you add some value?SCOTT GUTHRIE: I would like to add some value. (Laughter, applause.) This is becoming a habit. SCOTT HANSELMAN: I'm about to flip this screen around.SCOTT GUTHRIE: I'm going to hold the screen up.SCOTT HANSELMAN: If you could just hold it like that, and then they could zoom in on that, that would be great.(Break for direction.)SCOTT HANSELMAN: This could be a hardware problem, for all I know.SCOTT GUTHRIE: I think it's definitely a hardware problem. SCOTT HANSELMAN: The problem is that this screen switcher isn't running the intelligent edge, this is just a regular one.SCOTT GUTHRIE: Yeah, yeah. We don't get to the intelligent edge until a little bit later in the keynote.SCOTT HANSELMAN: A little later in the show?SCOTT GUTHRIE: And then we'll swap it out, yeah.SCOTT HANSELMAN: OK, good. Well, we're going to do what's called stretching. (Break for direction.)(Applause.)SCOTT HANSELMAN: Hi, friends. (Laughter.) I've got a demo I want to show you and it's broken, in more ways than one. (Laughter.) We're going to go ahead and hit "start streaming," and I was going to try to show you my web cam, and it's not really working. So, I figure we'd fix it as a group, right? We'll all go into Visual Studio 2019 together and we will fix this bug ourselves.So, I fire up Visual Studio and you see the new start window. It's really cool, because I can actually click on clone and then past in a Git URL and immediately get to my code. So, I fire up VS, past in my Git URL, hit enter, and I'm in my code right away. I've got my recent applications that I'm running or I can even open up a local folder and start working right away. It gets me to my code faster than ever.Now, the code that I'm going to be working on here is this stream manager. And I think that it's got a couple of problems, not the least of which is Jonathan Carter has been spreading his radical spaces versus tabs religion here. (Laughter.) And it's been tearing the team apart.So, what we've done is we've created an editor config so that the team can focus on what's important and not style issue. And that editor config has got a number of different things around style, not just tabs and spaces, which is fun, but also do we want to keep unused using statements, do we want to use this or not. I can actually come down here in the corner and see that the document health indicator is showing me that there's a few problems with this application. And I can say, well, this could be simplified and that could be removed. So, I can go ahead and just do a one-click code cleanup, and then I'll just hide the whitespace from my eyes, so I can just pretend that it's OK. And then I can see, of course, live unit testing is just always there watching and just, mmm, chef's kiss, making sure that everything is going to be OK for me.So, I'm going to go here and look. It looks like list strings creates a list and then returns that empty list. That is not OK. I need to put something in that list. I'm going to go ahead and say, stream lists. And when I hit dot, you'll notice that it pops up IntelliSense, but not just IntelliSense, it's IntelliCode. Those top five items are coming from our AI-trained IntelliSense engine. The IntelliCode engine has looked at all these open source projects on GitHub. It knows how lists of strings are used and those are the most common, most popular things. And the AI system has given them to me at the top, because it's likely that I want to add something.So, I'm going to go ahead and do that. I'm going to add and then I'm going to say to that add, maybe I'll say items. and then get some other different kind of an answer. If I say if stream-less., now that stream-less is inside of an if statement, so it's inside of a scope, so I'll get count or contains, not add, because it makes more sense.Now, what I'm actually going to do is say for each tab, tab, and I'm going to say, for each stream and streams, and then we'll say, stream-less.add, and then now I've got item inside of the add. It suggests key. Look, even the parameter is being identified as being something that the IntelliCode is saying this is probably the thing that you're going to want to do, picking the item, and then I'll say item.key, and then we'll do that, and it looks great.So now I've fixed my code and I am a superhero, I'm the best programmer ever. No, I'm not. The live unit test says that I suck. Hang on a second. (Laughter.) Let's go back here. No, the test failed. Let me click on that. The test isn't behaving as expected. I don't want to bring "Build break donuts." Apparently, this is non-inclusive behavior. I'm diabetic, I cannot eat donuts. But I can eat tacos. So, we're going to have, if you break the build, you bring in tacos.But the problem is that someone just hard coded that list streams to zero to make the build succeed or make the test succeed. There you go, I just changed that to one, and you'll notice it instantly live unit testing without even saving the file, automatically told me that everything is OK. So, now we get to see me be a hero as I run the thing and I go and start streaming. Let local host use webcam. ASCII webcam. (Laughter.) So, now I'm going to put you in the picture. I'm going to swap the camera, because I'm a superstar. Crap. (Laughter.) All right, so that did not work.I am going to call Amanda to help me. I'm going to go and invite her to a live share session, because I want to find someone who actually knows what they're doing.And now Amanda is elsewhere. Hello, Amanda!AMANDA SILVER: Hey, Scott.So, once Scott invites me to the session, all I have to do is just click accept. And what that does is it actually starts up a new instance of Visual Studio Code, which is my preferred developer environment. And as you can see, as soon as I get into his session, this is all being hosted on Scott's machine. So, even though I actually don't do very much C# development on this machine, I'm running on a Mac, he's running on Windows, I can actually see all of his solution context, all of the files and folders that are in the solution, and I can even get colorization on C# files, even though I don't necessarily run C# on my machine.So, I can see your machine now, Scott. What's the problem?SCOTT HANSELMAN: Well, the problem isn't the C#, I've got that part handled, but if you follow me, I'm going to go over to the JavaScript where the problem probably is inside my data.AMANDA SILVER: OK. What's going on here, like what are you --SCOTT HANSELMAN: Well, the problem is that this is JavaScript.AMANDA SILVER: Uh-huh. (Laughter.) SCOTT HANSELMAN: And I think there's a problem between here and here -- (laughter) -- in this general area. I am unable to solve that problem.AMANDA SILVER: OK, OK.SCOTT HANSELMAN: So, if you could -- I don't know JavaScript. Could you please help me? The swap feature is not working.AMANDA SILVER: OK, so you were saying swap. So, I'm just going to unpin from you so I can actually go ahead and look around a little bit.SCOTT HANSELMAN: OK, I'm going to follow you.AMANDA SILVER: I'm going to search for swap here. And that's just a declaration, another declaration, another declaration.Here we go. OK, so this is where the function is defined. So, it's always easier for me if I actually can just debug through the program. So, I'm just going to set a break point here, and then I'm going to hit F5 and run it.SCOTT HANSELMAN: Wait a second, you are hitting F5? I am not doing anything.AMANDA SILVER: Yeah. So, one of the really cool things about Live Share is I can actually launch the debug session even though I'm a guest in the session and it's actually being hosted on your machine.And what's happening here is it's actually launching on your machine and I can actually see what's going on.SCOTT HANSELMAN: The debug session is coming from inside the house. (Laughter.) What is happening?OK, can you see me?AMANDA SILVER: Yeah, I actually -- well, OK. (Laughter.) SCOTT HANSELMAN: OK, so when I hit swap --AMANDA SILVER: Yeah. So, you can see that we're actually both hitting a break point now. And even though I'm in Visual Studio Code on the Mac, I'm actually connected to the same debug session that you're on. And I could go ahead and inspect some variables, look at this. I could add a watch, for example, and add something like facing mode. And you could see I can add a user. I can look at the call stack, other things like that. I can even go ahead and move the cursor down one, then debug cursor, and yep, I can see the problem here. So, let me just remove this break point and it's a typo, Scott. It's a rookie mistake.SCOTT HANSELMAN: Awkward. (Laughter.) Thank you for that gift.AMANDA SILVER: So, I think if you just go ahead and continue, it should now work.SCOTT HANSELMAN: Now, how are you on my local host, though?AMANDA SILVER: Yeah, so whenever I'm connecting to your hosted developer environment, the local host is actually shared with my browser. So, I'm actually in my browser hitting the same local host that you're hitting.SCOTT HANSELMAN: Crazy. OK, wow. All right, so I'm going to hit then swap camera. Oops, hang on, I need to refresh because we're using JavaScript here. Refresh. My bad. Those are the people in ASCII.AMANDA SILVER: Yeah, you guys got to put up your hands, woo-woo! (Applause.) SCOTT HANSELMAN: That's amazing. I'm very excited about that. I apologize for calling you for a typo. I'm going to go ahead and just check that in straight to production.AMANDA SILVER: Ah, no. (Laughter.) I don't think that's a good idea, Scott.You know, we have this rule on our team that you always have to check in unit tests whenever you want to do a check-in of new code.SCOTT HANSELMAN: I have heard that that is a rule, but I thought it was more of a guideline for the weak. (Laughter.) AMANDA SILVER: Yeah, no, no, no, it's actually a hard and fast rule. Sorry.SCOTT HANSELMAN: But I don't have a laptop, I'm just going to take my iPad over to the thing, I'm going to watch the new Beyoncé Homecoming documentary.AMANDA SILVER: I kind of thought you were going to say that, so I actually set something up for you, which is a hosted developer environment inside of Azure. And I'm just going to send this to you.SCOTT HANSELMAN: This is my iPad. I'm on Teams here. I'm going to go ahead and tap on that. AMANDA SILVER: So, what you'll see is that you can actually connect to a hosted developer environment inside of Azure. And you're using an iPad Pro, right?SCOTT HANSELMAN: This is a Pro.AMANDA SILVER: So, this is actually using a browser to connect to that hosted developer environment.SCOTT HANSELMAN: Beyoncé and unit testing? My two favorite things. (Laughter.)AMANDA SILVER: With Visual Studio Online you can now use the browser to connect to that hosted developer environment in Azure, and even connect to that same developer environment using Visual Studio Code or Visual Studio.SCOTT HANSELMAN: Rock on. I will go and work on these unit tests right away. Thanks very much for the free iPad.AMANDA SILVER: Awesome. Good luck. (Applause.)SCOTT GUTHRIE: Thanks, Amanda and Scott. So, you saw a couple cool new features in that demo. One is IntelliCode, which we're releasing in general availability today, which gives you AI in your IntelliSense and makes your code editing experience a lot richer. A lot of improvements in Visual Studio, including the new environment capabilities, new live unit testing improvements that dramatically improve performance, and then Live Share capability where you can basically share across machines, share across environments, and really take collaborative development to the next level.And then what you saw at the end of that demo was the first look at Visual Studio Online, which our new web-based companion of Visual Studio and Visual Studio Code. With Visual Studio Online developers can use any device that has a web browser to open, edit and debug code stored remotely, including from a hosted GitHub repository or any other location. And it supports both Visual Studio Code Workspaces and Visual Studio Projects, and it provides all the editing features and customizations that you'd expect, like IntelliSense, like Git support and extensions.Now, six months ago, Microsoft completed the acquisition of GitHub. GitHub is at the heart of the open source community and will always be an open platform that supports all developers and platforms.In fact, GitHub today is the largest developer community on the planet, with over 36 million developers from every country on earth.And GitHub is growing faster than ever before, with over 8 million new developers joining GitHub over the last six months alone.Collaboration is at the heart of GitHub, and in the last year, developers have made over 1 billion contributions to the open source projects and private repos that are hosted on GitHub.Over the last six months, the GitHub team shipped over 100 new experiences and workflow improvements. And it's been great to see the community response to these new capabilities, along with some of these new offerings.Some of the highlights include free unlimited private repos, GitHub actions to serverlessly streamline your development workflows, and Visual Studio Code immigration with GitHub pull requests, making it easier to review source code where it's been written directly inside your development tool and editor.And we're just getting started and we're going to continue to listen and respond to feedback from the community, and we'll announce several new innovations today and even more later this month at the GitHub satellite event.Now, the combination of GitHub and Azure DevOps together provide an end-to-end experience for development teams to easily collaborate, build and release code to any environment such as, for example, a Kubernetes cluster that's running on Azure or maybe on-premises or even in another public cloud provider.Azure DevOps includes a cloud hosted CI/CD service called Azure Pipelines that's great for any type of application, any platform and any language.Today, we're excited to announce a number of new improvements to Azure Pipelines, including support for both CI and CD definitions inside a YAML file to enable developers and DevOps professionals to improve the automation for your CI/CD workflows.Azure Pipelines now make it incredibly easy to automate routine tasks and set up multiple deployment workflows to any Kubernetes cluster with only a few clicks. And with Azure Pipelines you can deploy again to any Kubernetes environment, whether that's on-premises, whether it's running inside Azure using our AKS offering, or to any other cloud provider.And to show you how easy it is to take GitHub and Azure DevOps and use them together to automate these types of tasks, I'd like to invite Donovan Brown onstage. Here's Donovan.(Applause.)DONOVAN BROWN: Thanks, Scott, and good morning, everyone.Let's try that again. Good morning, everyone! AUDIENCE: Good morning!DONOVAN BROWN: Perfect.Let's imagine we're all a team, and we just deployed our first containerized application. We're comfortable with the techniques, we know the difference between an image and a container, we know how to build them, and we know how to run them.But then our manager comes running into our office and says, "We need to be using an orchestrator, and I want you to evaluate two of them for me, something called Kubernetes and the other one is called K8. Tell me which one is better." (Laughter.) So, instead of telling our manager they're the same thing, let's just run back into their office and say, "We're going to choose Kubernetes because it's the best of the two." (Laughter.) The manager's going to say, "Yeah, that's what I thought." Right? (Laughter.) But now the real work begins. How do we actually run our images inside Kubernetes? How do we even get started? Because our code is in GitHub, I'd recommend that we start in the marketplace.In the marketplace we're going to find Azure Pipeline. Azure Pipeline happens to be the exact same CI/CD system JUnit just adopted to do all their builds inside of GitHub as well.This is going to give you access to Mac OS, Windows and Linux, unlimited build minutes and ten concurrent pipelines. As Nat Freidman, the CEO of GitHub, likes to say, it is the single-most generous open source CI/CD offering on planet Earth. Once we have it wired together, we have access to all of our repositories right here inside our pipeline. When I select one of them, it starts to analyze it, determines what language we're programming in, finds any docker files, and then recommends me different templates. One of them is to deploy to Kubernetes.When I select this, I now get to choose what subscription I want to use, I get to choose what cluster I want to target, I even get to choose what namespace I want to run my pods in. And then finally, I get to choose my registry. This is a secure, private registry, but we're going to automatically create a pull secret inside of the cluster so that we can authenticate and pull from there anywhere in the world, on-prem or in the cloud.When I go ahead and validate this, this is where the magic starts to happen. Pipeline is actually going to create a YAML file that defines our entire process. You're going to be able to support YAML files inside of source control so if you ever need to change it, it will be protected by a pull request.Whenever I demo YAML, I have a hard time making it cool. What am I supposed to say? Ooh, look at that indenting. Right? (Laughter.) It's just a text file. But this is actually a cool file. If I scroll down here and I actually collapse this, you'll notice underneath the build stage is a deploy stage. As Scott just said, this is unified CI and CD in a single YAML file.But wait, there's more. Now over here you realize that I now not only have a build YAML and a pipeline, but I also have the deployment and the services so that I know how to deploy automatically inside of Kubernetes. I didn't have to learn kubeclt commands, I didn't have to learn Helm commands, I didn't have to learn crazy, happy, unicorn commands.OK, hold on, I made up the last one, so stop searching for it on your phone, right? There is no such thing, but I didn't have to worry about that stuff, right? I worried about my app and I let Microsoft take care of all the rest.When I run this pipeline, what I'm going to get out at the end is this beautiful summary page. This summary shows me that there was actually a build stage and also a deploy stage.Now, what happens next? We want to deploy to multiple clusters, and now we have to modify the YAML that we just put into source control.I was going to do a show of hands of how many people like to edit YAML, but since I know the answer is nobody likes to edit YAML, I'm not going to do that. But I am going to share with you this really cool experience that we've added. You can now edit your YAML visually. Here on the left-hand side I have some called a Task Assistant. If I come in here and I type Kubernetes, for example, it shows me all the different tasks inside of our library. I can scroll down to the section of my file that I want to modify. I can come over here and go ahead and place my cursor here. And now I can select the task that I want.Here I'm not presented a form. I can say I want to go to OpenShift, on-prem. I'd like to do a Canary deployment. And when I click on add, that snippet is added to my YAML automatically. I don't have to remember how many tabs or spaces there are, all I do is visually build this. This means that scaling it out is going to be much easier now when I want to add additional clusters. I will have a release that looks something like this. You can see that I've actually deployed to OpenShift on-prem, AWS and Azure in the cloud. We have actually made getting started easier, we have made building a CI/CD pipeline easier, we have made editing your YAML easier, and we've even made it easier to deploy to any Kubernetes cluster you want, on-prem or in the cloud, ours or someone else's.But let's do this for ourselves. Let's not tell our manager. We want it to seem hard sometimes, right, so they think that we're valuable.So, why don't we just switch over to a command line? Managers are terrified of the command line. (Laughter.) Everything I just showed you in the UI, you can actually do that in the command line. For example, I can list all of our pipelines using the AZ CLI. I can even show you the details of a particular pipeline right here from the command line. If your manager is still in your office, run this command. This is actually going to output it in JSON. You are going to have a manager-sized hole in your wall when this finishes running, right? (Laughter.) As you can see, here at Microsoft we are continuing to lower the barrier of entry so that you can run your workloads in a Kubernetes cluster anywhere in the world, on-prem or in the cloud. All we ask of you is a package with a docker file in it.Before I leave, I need you to do me one favor. I get the privilege to get onstage and show you this amazing tech, but there's an army of engineers at Microsoft that actually write this tech. Can we please have a huge round of applause for those engineers? Thank you so much, everyone.(Applause.)SCOTT GUTHRIE: Thanks, Donovan.You know, the great thing about GitHub is that it's loved by developers and used to manage literally hundreds of millions of personal and open source projects. And it's also used by enterprises to deliver a secure, collaborative, trusted development environment for projects at very large scale. And we're seeing customers of all sizes adopting GitHub and Azure DevOps.You know, CPython is a community project developed in the open on GitHub, and the Python project also now uses Azure Pipelines to run their CI and test their pull requests, all on supported configurations, including Windows, Linux and Mac.Shell is a company that relies very heavily on software and has more than 2,800 developers working on projects. And Shell is now also a large customer of Azure DevOps and GitHub and used these services to build and deploy their code and their infrastructure, including both applications and now AI models to both Azure, as well as their on-premise data center environments.Today, I'm excited to announce several great enhancements for GitHub as well. Historically, integrating enterprise-grade security has required a lot of heavy lifting on GitHub. And we're now making this easy by enabling seamless identity sign-on using Azure Active Directory. A GitHub administrator can now enable this for all users in an enterprise or organization in literally just a few minutes.Azure Active Directory is the most widely adopted identity and security system in the enterprise, with more than 200 million enterprise users using it today, and all of these 200 million users can now securely use GitHub.Now, we know there's also a lot of developers out there that have GitHub personal accounts and who you don't have a Microsoft identity. Later this week, you're going to be able to now sign in to Azure using your existing GitHub account. When you go to the logon page in Azure, just click the GitHub icon on the logon page, and this integration makes it really easy for developers to go from code to the cloud easier than ever before.And in addition to making identity and sign-on easier and more secure, we're also making it easier to purchase GitHub Enterprise. Today, we're announcing an even more cost-effective way for our customers to purchase a Visual Studio subscription and GitHub Enterprise together at one low price. This enables you save money when you're taking advantage of both offerings.Now, let's turn from tools and DevOps to building cloud-native applications.Now, Azure provides a broad range of services and solutions that enable you to build applications. This includes infrastructure capabilities like virtual machines that you can use to host any existing code or application. Azure also includes a really powerful set of highly engineered services that enable you to build, deploy and scale your apps even faster. And these services include built-in high availability and automatically handle security patching and updates. And together these services enable you to adopt containerized, serverless-based computing architectures for both your new applications, as well as when you're modernizing existing apps that you already have.Our Azure serverless compute offerings include Azure App Service, which is ideal for hosting web and mobile apps, our Azure Functions Service, which is designed for event-driven scenarios, and our Azure Kubernetes Service, which provides a fully managed container orchestration offering.Now, Azure App Service is one of our most popular services on Azure and it hosts more than 2 million active applications today. And today, we're releasing some great new capabilities for it. You can now take advantage, for example, of a new perpetual free tier so that you can build Linux-based web apps at no cost.We're also providing virtual network support to the standard Azure App Service on Linux offerings. This means you no longer need to buy a special app service environment, you can just use virtual networks now for both Windows and Linux across all of the different app service tiers.We're also releasing some great new capabilities to our Azure Functions offering. Azure Functions now allow you to define serverless APIs using API management built-in. It also now has a premium plan for hosting serverless function apps, which provide pre-warm startup instances to run your app with zero cold startup. And it also now includes the ability to create functions now just with .NET, Node, Python and Java, which we've supported before, but also now PowerShell going forward as a language.We're also releasing some major new enhancements to our Azure Kubernetes service. Our Azure Kubernetes service provides a fully managed Kubernetes service with auto-patching, auto-scaling and auto-updates. And we're seeing the Kubernetes adoption on Azure continues to grow rapidly, and AKS is now our fastest growing Azure compute service.Six months ago, we announced our new virtual node support within AKS. Virtual nodes now allow developers to elastically provision additional nodes to their Kubernetes clusters in just seconds in responds to say a spike on compute need. With just a few clicks in the portal, users can turn on this virtual node support and get the flexibility and portability of a serverless container experience inside an AKS environment.What's cool is this feature is powered by the open source virtual kubelet technology that Microsoft originally built, but which we then donated to the Cloud Native Computing Foundation several months ago.Another Kubernetes project that we're jointly developing together and contributing to the open source community with Red Hat is for a new project called KADA (ph) that supports the deployment of serverless, event-driven containers on top of Kubernetes clusters as well. And KADA can be used in any Kubernetes environment, including any public cloud or on-premise environments, and that includes obviously Azure Kubernetes Service, as well as Red Hat OpenShift.KADA has support for built-in triggers to respond to events happening in other services or components running inside the cloud. And any Kubernetes workload that requires scaling based on events instead of traditional CPU or memory scaling can leverage this capability.KADA also now enables Azure functions to be deployed as a container on any Kubernetes cluster hosted in AKS or on-premises or again any other cloud provider.So, lots and lots of great capabilities you can take advantage of and we're really excited to talk about today.Now, ASOS Is one of our many customers that are building and running cloud-native solutions at massive scale using our Azure Kubernetes Service on Azure. Let's watch a video to learn more about ASOS as a company, and then Bob Strudwick, the CTO of ASOS, will come onstage and talk to us more about ASOS's journey to Azure. Let's watch the video.(Video segment.)BOB STRUDWICK: Hi. Good morning, everyone. I would just like to inform the people at the back that my -- thank you.So, thank you, everyone and good morning. My name is Bob Strudwick. I'm chief technology officer at ASOS Stockholm. And I'll be talking to you a little about how Azure has been a key part of the transformation of our enterprise software stack.We took a couple of big decisions early to adopt a micro-service architecture and to target Azure Platform as a Service as our hosting environment.The 70 or so logical services that support our customer journeys, products, search, bag, payment, options and so on, are independently deployable units of code, minimizing dependency, allowing independent scaling and resilience management for every service.And the Azure Platform as a Service model allows us to focus on designing software, leaving behind the infrastructure maintenance, the database backups and all those things that don't contribute to delivering the best customer experience.The services you see here went into production in time for Black Friday 2016 using the Azure cloud service application model, backed by SQL Azure, Azure Redis, Azure Service Bus.But we've made extensive use of Cosmos DB. For example, in production recommendations, Cosmos provides the bridge between the process-intensive offline machine learning and high-availability online capability. And it's the single digit millisecond read and write latencies offered by Cosmos that is what we're after here.This is a polyglot world in which the underlying services are developed in .NET but presented through responsive web, native iOS and Android applications to deliver the most personalized customer experience.In achieving it we've tried to take a principal approach to technology selection but to be practical, too. We've developed a really meaningful relationship, partnership with Microsoft, and they helped us design, build and test the simplest possible geo-distribution model, with the monitoring and alerting insight to manage systems under duress.Fast forward two years and we've taken a decisive next step in our Azure journey. Container technology allows us to the potential to transform our micro-service architecture, giving us faster service deploy times, greater fault tolerance, tighter security, and better service density, helping us to manage Azure cost as we scale.We've standardized on Docker for building our container images and Azure Kubernetes Service for orchestration, so now new software such as the Saved Items Service highlighted in this slide, they're built using the new stack, and we'll migrate existing high-traffic services to the new technology over the next couple of years.As our compute technology choices have evolved, so has our DevOps approach and tooling. At the start of our cloud journey in 2016, we made 500 software releases that year. This year, we'll make 5,000, rolling out Azure DevOps across the enterprise, handling that transition from continuous integration to continuous deployment.Like any partnership, you have to work at it. Like all early adopters, you take the rough with the smooth. But the results speak for themselves. Azure has performed phenomenally well for us on normal trading days and Black Fridays, rock solid availability, services delivering thousands of requests a second, response times of an average of 48 milliseconds.And we look forward to working with Microsoft for many years to come.I'll pass you back to Scott now. Enjoy the rest of the conference.(Applause.) SCOTT GUTHRIE: So, we talked earlier about Azure's comprehensive hybrid capabilities, and how they enable you to build applications and solutions that can literally run anywhere.And over the last few years, there's been a lot of focus on applications that run in a hybrid way between say a public cloud provider and an on-premises data center. Increasingly, though, now we're also seeing the applications and this hybrid pattern be extended to run not just in data centers but also on a wide variety of edge devices. And these edge devices span from powerful server racks that provide effectively a mini-data center that can be embedded anywhere, including locations like retail stores and manufacturing facilities.These edge devices can also scale down to support small, low-power microcontroller scenarios such as a car or even a thermostat controller.And Microsoft's now delivering a range of these edge devices where we can provide unique value. This includes Azure Stack, our Azure Data Box, and Azure Sphere.And we also have unique devices for AI like the Azure Kinect depth sensing camera, as well as HoloLens, which is the premier headset for mixed reality.And these devices and more are all available for you to check out on the expo floor throughout Build this week.And what I want to do is invite Natalia, who leads our Azure Stack team, to show you a few of these demos directly from the show floor right now. Let's go over to Natalia.NATALIA MACKEVICIUS: Thanks, Scott.I'm on the show floor where you can see the full spectrum of Azure's intelligent edge portfolio. Let's start with the Azure Stack family.Azure Stack is an integrated system that includes an Azure-consistent cloud control plane. It brings Azure services such as serverless computing with Azure Functions and Azure Kubernetes Engine to the edge where data is being generated. It can run in fully disconnected scenarios, literally air-gapped from the public network. Our newest offerings, Azure Stack HCI Solutions, can run virtual machines on-premises and connect to Azure for cloud services such as backup. Here's Data Box Edge, which just became generally available in March, an AI enabled computing device that also provides secure online transfer of data to Azure. With its FPGA cards you can get high-speed ML preprocessing and inferencing at the edge. And Data Box Edge is available directly as an Azure service from Microsoft. All the hardware and cloud services are included, no additional cap-ex expenditure required.Now, Microsoft has thousands of IoT devices available. IoT Edge can run on devices as small as this Raspberry Pi device. All of these devices can run code deployed from Azure.Now security is foundational. So this includes Azure Sphere a secure microcontroller unit for literally about a dollar. Now in addition to having generalized devices for running code, we also have devices that are purpose-built for managing data. The Data Box family allows you to move data to Azure whenever transfer isn't an option. Data Box Disk, our 8 terabyte SSD, allows for small-scale data transfer. It comes in packs of five for up to 40 terabytes. Just copy data to the disks and ship them back to us.The ruggedized Data Box allows me to locally ingest up to 100 terabytes of data and ship the data to an Azure region. Now Data Box Heavy in preview is a 650-pound beast that allows for petabyte transfer to an Azure region.Finally, we have investments in mixed reality and AI, including devices for custom vision processing. Here is Azure Connect, a developer kit for IoT-based devices to use computer vision and speech models based on the Sphere ecosystem. Now, lastly, here's HoloLens 2. Far more comfortable to wear for extended periods of time with a larger display and instinctual interaction model you can easily interact with holograms in a natural way.As you can see, we have hardware solutions from compute to storage all the way to AI and mixed reality devices. Come check us out on the show floor.Back to you, Scott.SCOTT GUTHRIE: Great. Thanks, Natalia.So Microsoft builds some great edge devices, and you saw some of them there and you can check out on the show floor. The range and diversity of edge devices that you're going to want to take advantage of is massive. And the great thing about the Azure ecosystem is it has all of them. We've been working across the Azure ecosystem for several years and now have literally thousands of devices that have been tested and certified to work with Azure and with our Azure IoT Services.And for developers that are building IoT solutions, this provides you with a wide range of purpose-built devices that you can choose from. We're giving you the confidence that they'll work seamlessly with your Azure solution and have end-to-end management and security built in.But one of the most impressive of these devices comes in the shape of a car, in fact, the ultimate driving machine. We've been partnering with BMW for several years now. They've used Azure to develop their Connected Car experience, including their Mobile Driver app. BMW also uses Azure to support their manufacturing processes.And to tell you more about BMW's journey to Azure, I would like to welcome Guy Duncan on stage. Guy is the vice president of operations, digital products and services at BMW Group. Please welcome Guy.(Applause.)GUY DUNCAN: Thanks, Scott.At BMW we've had a long partnership with Microsoft and we see the value of Azure in many areas of our business. We started this journey back in 2016 with Microsoft and we've been growing our partnership. Initially BMW came together with Microsoft to deliver those great experiences using Azure Services as our foundation for the Open Mobility Cloud, the OMC, and our BMW Connected Car Program.We've also partnered closely with Microsoft on solutions for our manufacturing plants. Currently we have over 3,000 machines, robots and autonomous transport systems connected to the BMW Group IoT platform, which is built on Microsoft's Azure infrastructure, IoT and AI capabilities.Today, I want to share more about the Open Mobility Cloud, the OMC. The Open Mobility Cloud is an intelligent continuous learning platform built on Azure to meld context, environment, touchpoints and services in the right mix at the right time to address customers' individual mobility needs. It's open to integrate any device or partner service that adds value to BMW customers and focused on mobility to seamlessly integrate vehicles in terms of daily digital life.The platform is based upon state-of-the-art cloud technology to work in the background on behalf of BMW consumers to deliver contextual personalized services just as the needs arise. The platform offers far reaching capabilities for machine learning and data analysis. We use a broad range of Azure services such as an Azure Kubernetes, App Service to Cosmos DB and more as a foundation of the Open Mobility Cloud.BMW and Microsoft also expanded our partnership recently to include conversational AI technologies. This allows BMW to provide experiences that go far beyond the car, but also span mobile and other conversational canvases such as connected speakers and many others.The core of this new experience has been leveraging the Microsoft Bot Framework, combining this with the power of the cognitive services, the language understanding service and the virtual assistant solution accelerator, we're able to bring new and delightful customer experiences that are highly personalized across all of those touchpoints.Using conversational AI is helping us drive new experiences as the combination with BMW OS7 and a cloud-driven conversation engine, these use cases are limitless. The key capabilities that power our developer teams to unlock the potential and build best-in-class experiences for our customers. We look forward to the continued partnership with Microsoft working together bringing great experiences and solutions to our customers.Now, enough of the slides, let me invite Adrian who is our product owner at BMW to show you a demo here at Build on the floor. Please take it away.ADRIAN KLIE: Thank you, Guy.So our teams at BMW and at Microsoft are partnering using Azure AI services like Bot Framework and Cognitive Services to build great personalized conversational experiences for our BMW drivers. And we will be putting these experiences into smart phones, into smart speakers and, of course, cars.So let's check out some of the cool stuff the team has built. And now the first thing we want to show you is how we were able to make the assistant have the personality we want it to have.Hey, Joy, why is the sky blue?VOICE: Because BMW just looks best underneath a blue sky.ADRIAN KLIE: Next we wanted to show you how we were able to integrate the productivity skills powered by the Microsoft Graph.Hey, Joy, what's on my schedule on Monday?VOICE: It looks like you have two events planned for Monday. The first event is with no attendees at 9:00 a.m. titled Build Keynote. The last event of Monday is at 12:00 p.m. with Megan Bowen (ph) and one more titled Build Expo Demos.ADRIAN KLIE: And, lastly, we wanted to show you how we were able to develop the custom skills that are very specific to BMW.Hey, Joy, why do you need service?VOICE: Your car needs service for oil. I am able to help you out. Do you want to book a service appointment at your dealer?ADRIAN KLIE: Yes, that would be great.VOICE: Your dealership offers multiple services for oil. The first suggestion is engine oil service. Do you want to select this service?ADRIAN KLIE: Yes. The first one is good.VOICE: OK. I selected the service engine oil service. Do you have a specific day in mind?ADRIAN KLIE: Wednesday would be good.VOICE: All right. On Wednesday, May 8th. Can you specify the time of day, morning, afternoon or evening that works best?ADRIAN KLIE: Let's do afternoon.VOICE: all right. I found nine available slots. The first option is 12 p.m. to 12:30 p.m. Do you want to select this appointment?ADRIAN KLIE: Yes, I'll go with the 12:00 p.m.VOICE: OK. I've booked the following services.ADRIAN KLIE: And these are just some of the interactions we are able to show you. Come see us on the show floor and we'd love to show you more.(Applause.)SCOTT GUTHRIE: Some great partnering with BMW and Guy and Adrian. And you can go actually on the expo floor and see that BMW X7 with that search and conversational experience all built in. It's an amazing car and amazing experience.As you saw in that BMW demo, artificial intelligence plays a central role now going forward in the experiences that run not just in the cloud, but also on the edge. And let's now talk about AI and building AI into your apps using Azure. You can infuse AI into your applications with Azure using pre-trained AI models that we built and that can be easily customized with your data.You can also leverage and extend them with custom AI models using our Azure Machine Learning Service. Our Azure Cognitive Services provides a comprehensive set of pretrained AI services, they can be accessed through a REST API or deployed in containers that live natively within your application. And Azure is unique in providing this ability to deploy our cognitive services using a container-based model into your application, into your own virtual network, into your completely isolated environment.And what's great about this is it gives you the flexibility to deploy them in the cloud, or on premises, or on the edge. And these AI services are built on breakthrough AI research in areas such as vision, speech and language. Microsoft has invested in AI for many years and continues to demonstrate leadership across key AI categories.For example, we were the first to achieve human parity in conversational speech services. And today we're continuing to enhance our Azure Cognitive Services by introducing a number of great new capabilities. Our new decision service, for example, includes a new personalizer service that provides a reinforcement-based learning model recommendations engine that enables you to use AI to optimize business decisions and recommendations across your apps.In speech we're introducing an advanced speech-to-text capability called Conversation Transcription that supports transcribing conversations in real time. We're also introducing two new vision services today. Our Ink Recognizer enables you as developers to now automatically detect and convert handwriting into text. And our new Form Recognizer service automates data entry by extracting text, as well as key value pairs and tables, from images of documents.In this example here you can see a photo taken by a camera of a printed document that was on paper. Using the Azure Form Recognizer Service, you can now automate interpreting the contents of the document and use our APIs to return a JSON response that can take the key value pairs that were extracted from the paper form.Now, today we're also announcing the general availability of our Azure cognitive search service. Cognitive search enables you to use both our pre-built AI Azure Cognitive Services, as well as your own custom AI models and use it to basically search and build an immersive semantic search experience over your data. This enables developers to build apps that can identify and discover information at scale, ranging from images to CAD flies to videos. In addition to using our prebuilt Azure AI models you can also then extend those pre-build models using our Azure Machine Learning Service and further build, train and deploy custom machine learning models at scale.You can access Azure Machine Learning Service from your favorite Python development environment, including Visual Studio, Visual Studio Code, PyCharm, Azure Data Bricks notebooks, or Jupiter notebooks. And Azure Machine Learning enables you to use your framework of choice, whether it's TensorFlow, PyTorch, or KARA, or others, to train on massive managed GPU clusters running inside Azure.And today we're releasing several new updates for our Azure Machine Learning Service. This includes an automated machine learning capability that enables a zero-code model creation experience. We're also releasing new visual machine learning workspace that provides a drag-drop authoring environment, as well as a new machine learning Jupiter notebooks support that supports a code-first model environment.We're also releasing today new capabilities that enable you to operationalize machine learning models at scale. Our new ML Ops capability simplifies the end-to-end lifecycle of machine learning models. You can sort of think of this as DevOps for machine learning. It helps you automate all of the steps from model creation to testing, to deployment and monitoring, all with Azure DevOps integration.And finally, Azure ML now provides high-speed inferencing from cloud to edge using hardware-accelerated models that run on FPGAs in Azure or on our Azure Stack or Azure Data Box Edge, as well as the ability to run accelerated ML models using both Intel and Nvidia-based chips and processors.Now, an important part of AI is being able to use it everywhere, including on the edge. And again, as we've talked about throughout this keynote, Azure is really unique in that it allows you to build amazing hybrid applications with artificial intelligence and deploy them literally anywhere.Kroger is one of our Azure customers who built an amazing solution that integrates AI that runs literally on the edge inside their stores. What I'd like to do is invite Jeff Hollan, who is on the expo floor, to show off Kroger's solution. Let's flip to Jeff.JEFF HOLLAN: Hey, everyone. So, I'm back on the show floor and I want to show you an awesome solution that Kroger and Sunrise Technologies have built using Microsoft that solved a very real problem.So, imagine I go into a grocery store just like this one, it's almost lunch time. I'm feeling snacky. And what do I want? I want Frosted Flakes. But I come up to the shelf and it's empty. Now, this actually is not an uncommon problem. In fact, every year it's estimated that 8 percent of sales are lost, just because shelves aren't properly stocked. And the real shame here is that very often the item is actually in the store, it's just in the back of the store. But retailers have a massive challenge keeping all of their products in stock, just given the volume of inventory that they carry.So, let me show you now how Kroger is solving this using the Intelligent Edge. In the first part I'm showing you now a camera feed of this aisle right now. So, what I'm going to do is I'm going to go ahead and grab a different box of cereal and as soon as I do you'll notice that the camera has detected that there is now an out-of-stock area. It's drawn a nice little square where I took that last product. What's nice here is it's actually based on the coordinates of the image where there's an out-of-stock item. It's smart enough to even know that this box of Strawberry Shredded Wheat has been taken. In fact, my team just got a notification on our Power App, letting us know that we need to make sure that this product is back on the shelf and ready to go for the next customer.Let me show you now how Kroger is actually able to build this. And the first part, they needed to have eyes on all of their shelves. And what's nice here is that Kroger could actually use existing cameras that they have in their store to capture those images of the shelves. Now, those images are coming in. They're able to run them through machine learning to be able to differentiate between a shelf that's stocked and a shelf that's empty. They use Azure AI Services to do that.You've got a number of options here. Let me show you just a few. So, to start with, you have cognitive services. These come out of the box, ready for you to go, with things like vision, speech and object recognition. You can even provide sample data to provide a more customized model for your solution.And as you need you can then extend that model to things like the Azure ML Service. Here I can take advantage of the full power of the cloud, training customized solutions, based on my data, for my exact needs. What's nice here is the output of this solution is actually a Docker container. And I can use that container to now process these images and detect an empty shelf.So, it actually brings up an interesting problem here. How do we go about taking all of the images that are being captured in our store and send them to that model that we just trained in the cloud? And if you think about Kroger, they have thousands of stores. Each of those stores has dozens of cameras and every single camera is capturing high definition video feeds, that is terabytes of data every single second that would need to be sent over to the cloud and analyzed to help me solve my Frosted Flakes problem.Now, I don't want to have to deal with the bandwidth and the latency that that much data would require. But I also might have some security concerns, having images from all of my stores being sent over the Internet. And what's amazing here is that Kroger is actually doing all of this analysis directly in the retail store. That's because they're taking advantage of Azure Data Box Edge, that single blade hardware device that you saw a few minutes ago. They took those Docker containers that they created in Azure, they deployed them to the Data Box Edge.They can take advantage of things like hardware FPGAs, for rapid real-time inferencing. And what's nice here is that not only can I take my machine learning models and run them on the Data Box Edge, I can take my Azure Functions, containerize my business logic, and run them on the Data Box Edge, as well. All of that compute and processing happening very close to the data.Now, even though I'm making this a hybrid solution now and running pieces on premises, I'm still able to take advantage of the same rich tools. So here I'm showing the Azure Portal again. And this is Azure IoT Hub. This gives me a single spot to manage, maintain and deploy across all of my IoT devices, including my edge devices, like the Data Box Edge. So, here I can take my machine learning models, my Azure functions, and all within Azure deploy them to run here on the store.What's nice is I don't even need a solution as powerful as the Data Box Edge to start using the Intelligent Edge. In fact, I could take machine learning models, I could take those Azure Functions, that business logic, using Azure IoT Edge to deploy them onto a device as simple as this Azure AI Custom Vision Dev Kit. Here, all of the compute, all of the processing could all be running locally on this machine, potentially even in a disconnected state, making those rapid and real time decisions and powering my solution.So, hopefully this has given you an idea of the types of solutions that you can start to build for your customers and for your businesses when you're able to take advantage of the power of devices, intelligence and the power of the cloud. But only Microsoft Azure lets you run these rich hybrid applications, use the same tools and technologies, but run your intelligent apps exactly where it makes the most sense.Thank you so much.SCOTT GUTHRIE: Great, thanks, Jeff.So, this pattern of using AI on the edge and in the cloud is not unique to retailers. You can use the same approach to solve a broad range of challenges, even inside a hospital operating room. Let's look at how Olympus leverages Azure to improve processes inside hospitals.(Video segment, applause.)So, the foundation of AI is data and analytics. Let's transition now to talk about this. Azure offers a flexible choice of operational data services. Our Azure SQL Database, Postgres, MySQL, Reddit, and Cosmos DB services are all databases provided as a service, which means we provide them as a database service with a built-in SLA. This enables you to be more productive and build applications faster, while still preserving the flexibility to use your favorite database of choice.Now, as data continues to grow at exponential rates, you need a cloud solution that is able to scale accordingly. And with this in mind we're now adding hyperscale capabilities to all of our Azure operational data services. These new hyper-scale editions of our relational database services enable you to dynamically scale out your memory, storage and compute of your databases. And you can scale them out independently.You can now scale out, for example, your databases from a few gigabytes in size to be hundreds of terabytes. And you can scale from supporting just a few hundred transactions per second, to supporting millions. And best of all, Azure gives you the flexibility of choice to have this capability work, regardless of whether you're using a SQL database, Postgres, or MySQL.Today I'm pleased to announce the general availability of our Azure SQL database hyperscale edition. With Azure SQL DB Hyperscale we've fundamentally rearchitected the SQL Server storage engine to enable storage to grow to any size. And it's 100 percent compatible with all your existing SQL Server applications and code.Today I'm also pleased to announce the public preview of our hyperscale edition of our Azure database for Postgres SQL. Postgres has historically had the challenge of only running compute queries on a single database node. And our hyperscale edition now enables you to seamlessly scale out the compute of Postgres to run across any number of nodes, giving you literally infinite query capability. And it's compatible with all the latest versions of Postgres, enabling you to use all the latest Postgres libraries, code and tools.Now, earlier in the keynote I talked about serverless compute services and some of the great things that Azure provides in the compute space to enable a serverless model. Today I'm also excited to announce that we're introducing new serverless pricing options to our database services, as well.Our new Azure Serverless database pricing options now enables you to scale databases on demand and pay for performance on a per-second basis. The new serverless pricing tier, for example, for SQL database, which is now available today, is perfect for databases with intermittent, unpredictable usage. The new tier automatically scales compute for single databases, based on workload demand and can pause during periods of inactivity.SQL Database is also cost-efficient. It bills you for compute usage by the second, so you only pay for the resources that you ultimately use. Now, SQL Server runs everywhere. You can use it in Azure as a service, run it in a VM, or on bare metal on premises, as well as, in a VM inside other cloud environments.Today, though, we're excited to announce even further work that we're doing to optimize SQL Server to run on very small edge devices, like some of the ones that Natalia showed you in that floor demo earlier. Azure SQL Data Box Edge is a small-footprint database engine that runs on both Intel and ARM processors and works with both Windows and Linux operating systems.It comes with built-in AI support that's optimized for the intelligent edge, and supports both data streaming, graph and time series scenarios. It uses the same underlying SQL engine that you know and love from SQL Server and Azure SQL database. And this new SQL Data Box Edge, or SQL Database Edge capability further extends our overall hybrid capabilities that we have inside Azure. So, you can now literally across the full spectrum of capabilities enable you to use all of our services in a hybrid way.No other cloud vendor supports this type of hybrid richness. And what's great about Azure, of course, is that you can build these applications not just in a hybrid way, but in a way that you can run them and store the data at truly planet-scale. With our Azure Cosmos DB you have a horizontally scalable database that puts data everywhere that your users are.Cosmos DB now supports multi-master write scenarios, so you can now automatically replicate data in real time to any Azure region around the world to give your users not just lightning-fast performance access, but also the ability to read and write that data in real time.In fact, our Azure multi-master support in Cosmos DB allows all users around the world to both read and write data with single digit millisecond latency, guaranteed by SLA at the 99th percentile. No other database in the world delivers that type of capability promise.Today we're releasing several new capabilities with Cosmos DB. These include new built-in Spark Analytics support that now enables you to build and manage operational analytics workloads that run in real time inside the database over globally distributed data. Cosmos DB also now supports an integrated Jupiter notebook experience for all APIs, as well as the ability to operationalize ML models directly inside the database store.Coca-Cola is one of the great customers of Azure who is using Cosmos DB today to help run their operations at massive scale. Let's watch a video of them talking about their experience.(Video segment, applause.)SCOTT GUTHRIE: Hopefully we'll go back to the slides in a little bit backstage.Being able to combine and analyze data is critical for any organization. And Azure provides a rich set of data analytics services that makes it possible to ingest data from multiple sources to transform and store it and then query and access it at scale. Our SQL Data Warehouse Service inside Azure provides a cloud-native data warehouse offering that enables you to score, query and work with data at petabyte scale.Over the last year we've made tremendous progress enhancing its performance and it's now best in class on both raw performance metrics as well as price performance benchmarks. GigaOm, an independent research firm, recently released benchmarks that showed that Azure SQL Data Warehouse outperforms Amazon RedShift in 86 percent of all TPCH benchmark queries. Azure SQL Data Warehouse also outperforms Google Big Query in 100 percent of those TPCH benchmark queries.Not only was SQL Data Warehouse faster, but it also significantly was more cost-effective from a price-performance perspective. SQL Data Warehouse also consistently demonstrated better price performance compared with both Amazon and Google when measured using TPCDS benchmark queries as well.Now in addition to providing core data analytics services inside Azure, we also provide a fantastic self-service BI solution with Power BI. Power BI supports both web users as well as native iOS, Android and Windows apps, and makes it really easy for any organization to really build and adopt a data-driven culture.Unilever is a great example of a customer who is using the combination of Azure and Power BI together to drive cross-functional insights across all of their departments, and they consolidated all of their core internal data systems and other third-party data together into an Azure Data Lake and are democratizing access to the data at scale using SQL Data Warehouse and Power BI.And to show you how Power BI and Azure Data Warehouse can be used together to unlock amazing insights; I want to welcome Lara on stage to show you a great demo.Here's Lara.LARA RUBBELKE: Thanks, Scott.(Applause.)Scott was just talking about the great capabilities with Power BI, Azure SQL Data Warehouse and Azure Data Factory. Let me show you how you can pull thee together and deliver business insights.To show you how this works, we have a Power BI dashboard that's showing the supply chain metrics for a global organization. You can see that we're focused on those shipments in the U.K. On the bottom right, we've been watching a trend and we've noticed that our shipment delays have been continuing to increase. We need some insight to understand what's causing this. In order to get insight, we need data.Azure Data Factory was born in the cloud for hybrid data integration. It supports all of my ETL and ELT activity. I can connect to data, cleanse and transform my data and store those results in any destination. In order to understand my shipment delays, I set up a data analytics pipeline in my Azure Data Factory and I'm connecting to multiple sources of data. You can see I'm getting my shipments data from SQL Server. This is sitting in my data center. I'm ingesting suppliers' data from Dynamics 365 in the cloud. In fact, Azure Data Factory has more than 80 connectors, so I can connect all of my data, on-prem and on any cloud in just a few clicks.Once I've connected my data, I'm going to cleanse and transform the data so it makes sense. And I'll use my Data Flow Activity. When I click into my Data Flow Activity, I have an intuitive visual environment to define my data transformation. Here I've set up a join between two tables and down below Azure Data Factory guides my join definition with visual references and queues. In fact, Azure Data Factory I can define the most complex data transformations with ease in this no code web-based environment.Once I've defined my data transformations, I'm going to store my results in Azure SQL Data Warehouse. What's most impressive about my data flow is that this is fully managed. Azure Data Factory mixes all the compute resources for me and behind the scenes these transformations will execute in a managed environment.With all of my data now flowing into Azure SQL Data Warehouse, let's have a look at this service. This is a cloud-native data warehouse service and it's enterprise-ready with features like auditing, threat detection, transparent data encryption, role-level security, and it's all built in a compute environment that I can scale up and down to meet my most demanding performance requirements.I've already stored multiple years of historical data into my Azure SQL Data Warehouse. So let's go to Power BI desktop and analyze this data. I've connected Power BI desktop over to my Azure SQL Data Warehouse, and on the far right I have access to all of my entities and I can easily connect my data to powerful visualizations.Let's have a quick look at our order detail data. As we click in, you can see that we have over 6 trillion rows of order history. This data warehouse is filled up over a petabyte of data. Let's explore this detail data a little further and let's look at our order history. And I would like to understand order history by date, by product edition, and let's focus just on those shipments that were delayed. I'm doing interactive analytics on over 6 trillion rows of data and the response is lightning fast. With Power BI and Azure SQL Data Warehouse, you have the power of the cloud to unlock these massive data sets for all of your users.With our data consolidated on Azure SQL Data Warehouse, let's go back to our dashboard and see how anyone can add intelligence with new visualizations. In order to understand those shipment delays, I'm going to use the new key influencers visualization. This is the first AI visualization in Power BI and it works by running machine learning on top of the data that it's bound to.I start by telling Power BI that I would like to analyze my shipment delays. Next, I need to give Power BI some factors to explore. So let's see if product edition has any bearing on our shipment delays. What just happened is Power BI created and trained a regression model behind the scenes. And it's now telling me that I should pay special attention to the beauty and personal care division. This has a much higher than average percent of shipment delays.But we're not done. Let's keep giving Power BI some additional factors to explore. And as I add more fields and more values into my regression model, the model is updated and a new list of influencers is returned. I'm going to publish this to the web. And now when my users interact with my dashboard they're interacting with 6 trillion rows of detail data. And they can filter on any field within my dashboard. And the list of key influencers is updated giving them new insight.With Power BI and Azure, you have cloud scale and you have cloud intelligence to support all of your analytics.Thank you.(Applause.)SCOTT GUTHRIE: Thanks, Lara.Thank you, Lara.One of the things that was so powerful about that demo was the way that Lara was able to use the combination of the Azure Analytics Services together with Power BI to deliver real-time insights in a much faster way. And this ability to take a very powerful cloud platform, like Azure, and then extend it with a higher-level SaaS offering, like Power BI, enables tremendous productivity and business agility.We're doing something very similar in the application development space. As you know and we've shown throughout the keynote, Azure provides a rich set of developer services that you can use to write code in any language to build APIs and backend functionality. But you can also now use our higher-level Power Apps offering to rapidly build web and mobile front ends that work against those Azure-based services and APIs that you expose.Power Apps is our low-code application development environment. And like Power BI, it's really designed to enable even non-developers to build web and mobile experiences that work across any device quickly and easily.And with our Microsoft Flow offering, we provide a powerful, reliable workflow engine that enables you to automate business processes and call into any Azure Service or custom API that you build and expose. And Flow was built on the same workflow engine that we provide with our Azure Logic Apps Service, and it's designed to enable any user, including business analysts and end users, to quickly automate solutions.Virgin Atlantic is a great example of a customer that's using the combination of the enterprise-grade solutions that we provide across Azure together with Power BI, Power Apps and Flow. Let's watch a video of them talking about what they're doing and how they're doing it.(Video segment.)It's the combination of Azure with the Microsoft Power Platform we think is incredibly unique and really enables developers to focus on the high-value tasks and helps accelerate the delivery of your overall cloud-based solutions.To show off the power of the Power Platform and Azure working together I would like to invite Charles LaManna on stage to show our final demo.Here's Charles.CHARLES LAMANNA: Thank you, Scott.For this next demo, it's going to be another great example of how our customer combines the Power Platform with Azure to transform their business processes. In the case of Auto Glass, also known as Safelight, they send out field agents to go repair windshields at lots of commercial locations like car dealerships, rental car companies, police departments. In the past, that was a highly manual, highly ad hoc process with walkie-talkies and phone calls to go actually get those windshields replaced.However, Martin Lee (ph) from Auto Glass built the Power App backed by Azure Services to completely transform this process. So we can see here on the mobile device, I can see all the locations where I'm supposed to go and inspect windshields as a field agent. When I click though to a particular location I can use the Azure Vision API to look up the car based on the license plate. I really like this license plate. Let's go take a picture of that real quick. And I can then drill in and see all the details about the car right available on my phone pulling from backend systems in Azure.And in this case I can say there is damage, I need to order a replacement and maybe I want to go look up the ARJIC (ph) number which is the SKU for the particular windshield to be replaced on the car. And when I do that, I also use the same camera to maybe even go check to see if it fits on this particular car. And, voila, I can go confirm a windshield replacement. And what used to take 20 minutes can now take under 5 minutes, and I've saved over $1-1/2 million in the first year for Auto Glass.But let's see how Martin actually built this Power App. You can see here now on the computer that we have Power App Studio. It's modeled just like PowerPoint and Excel, a very easy visual experience to go build applications. The same application that I was just using on the actual mobile app is visible in the browser, I can see it in real time without building, without compiling, without having to do anything like that. And I can just click through and run it in real-time.And what I'm going to do is, I'm going to rebuild that last screen which lists all the different windshields available to the field agent. And the way I'm going to do that is by dropping on a gallery, which is just a simple collection of different items, say go resize this in real-time. We can see just how it's drag-and-drop very easy. I'll choose a layout where I want to actually get the images that are coming back for the windshields. And to do that I want to pull it from a backend system. And in this case I can choose from a bunch of different data sources available inside of the Power Platform. There's over 250 different connectors to SQL Server, my SQL, Oracle, you name it, it's probably there on-premise and in the cloud. And for this audience most relevant is there's over 35 different Azure Services available out of the box inside of Power Apps for your web or mobile application.In this case, I already set up an Azure SQL Database, just to go pull down the images, and I can say come over here and write in windshield image, so we can see that I get nice autocomplete right inside of the Power Apps Studio, as well.And now that I have that list maybe I want to go add some more advanced, highly interactive experiences. I can come over here and say just drop on an image. And what I want this image to be is I want to take it from the gallery, and I want to actually use the image. And you can kind of see there I am inside the windshield, nice and easily dropped inside that mobile application. And I can keep adding more and more advanced capabilities.Maybe you want to go drop on a text input. So, I can do something like when I actually do the repair, I can highlight where the cracks are and record that for the future. So, you can quickly see how you can use rich device capabilities and those Azure Services on this mobile application. But when the going gets tough, maybe I want to go to Azure and write a whole bunch of C# code and in this case they want to go do a call-out to look up whether or not a particular windshield was available in the inventory, in the truck, in the warehouse, or had to be ordered. And you can only go do that by writing code inside of Azure functions.So, when I touch back over here, I can see inside the data sources windshield availability, right here, this row, that's that same Azure function. I can very easily call it just like any other service inside of my Power App. And to do that I'll switch over here to a particular item in this gallery and on select I want to go take an action. So, what I'm going to do is when I select one of these items I 'm going to set a variable called Object Number Availability, and I'm going to do that by calling that function I just defined.And we can see how all the formulas can be completed right inside the browser very easily. And I can say do this item dot name, which is a selected item, and I want to go take the availability description. So, just rapidly able to go pull down that Azure logic in Azure Services right inside of my Power App. And now that I have this variable set I can make it look real by pasting in that variable inside the text for this particular label.And then as I go click the items in the gallery, we can see that there are five expected to be delivered on May 12th, or maybe there's nine available in the warehouse, or two are expected on May 9th. So, we can see how all of that logic running inside of Azure is pulled down right inside of this mobile device, in a fully integrated environment.In addition to Power Apps and Power BI, another core element of the Power Platform is Microsoft Flow. Here we can see the same type of low-code environment from Microsoft, to go define different steps that I want to respond to when an inspection is completed.So, when an inspection completes, I'm going to go to Azure SQL and look up the customer notification preferences, whether or not they want me to email them or do something else, based on those preferences I can do a simple logic check, I can send the email with all the rich context, each of these items being the context from previous steps in the flow.And if not, maybe I go send a message to an Azure Service Bus, to go trigger someone calling the customer or sending them a fax, or however they want to be notified, outside of email. And once I've gone and done that notification, I can then go and post the message to Microsoft Teams, because this is where all of my field agents collaborate, communicate, and they can now know as each inspection is completed in the respective region.And one of the core elements across all of the Power Platform is those connectors, just like we saw in Power Apps, there's over 250 data sources, the same 250 data sources available right inside of Microsoft Flow, making it easy to connect all your existing data and logic, or to create new logic inside of Azure.So, all together, between Power Apps, Microsoft Flow and Power BI, the Power Platform is an incredible tool to have available for you, if you're an Azure developer. So, I'd recommend taking the time to check it out. Thank you.(Applause.)SCOTT GUTHRIE: So, we've covered a lot of territory in this keynote and announced a lot of new services. As you've seen, Azure provides a truly unique set of capabilities that enable you to build the next generation of applications. And no other cloud offers the comprehensive hybrid and edge support that we now deliver. And we're incredibly excited to talk more with you this week at Build about all these great new capabilities. And I'm really looking forward to seeing the amazing applications I know you're going to create with them.Thanks so much and have a great rest of Build.(Applause.)END ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download