Today right now you have more power at your fingertips then entire generations that came before you think about that that's what technology really is.
It's a possibility its adaptability its capability but in the end it's only have sold what's the hammer without a person who swings it is not about what technology can do is about what you can do with it.
Joe at the voice and it's the microphone when you are the artists hits the paintbrush we are living in the future we always dreamed up we have mixed reality that changes how we see the world in AI in power in US.
To change the world we speak you have more power at your fingertips an entire generations that came before you so here's the question what will you do with.
Please welcome Scott Guthrie.
Well good morning everyone and Welcome to build in asasi just talked about the intelligent edge in the intelligent clap and some of the incredible opportunities we now have as developers in the amazing impact we can have on people's lives.
I'm not going to go deeper into the platform and tools were delivering with Microsoft Azure and how you can take advantage of them to build truly amazing solutions.
One of the defining aspects of cloud computing is the ability to innovate and release new technology faster than a greater scale than ever before.
In this new set of technology things like iiti machine learning micro services AI serval is computing and more is all happening right now thanks in large part due to cloud computing and this is an incredibly exciting time to be a developer.
In the opportunities to really explore new approaches and technologies have never been greater.
You know but I also recognize you know all this stuff is cool but it can also be more than a little overwhelming you know I heard that concern a lot with a lot of my conversations with developers around the world you know the expectation to be to know all of these new technologies to be up to date with the mall the time.
You know consumers leave you feeling like you're falling behind.
And the expectations that your companies have on you to quickly deliver breakthrough experiences with all this new technology has never been higher in a lot of cases now you know the technology that we're talking about today is really being bad on.
To deliver radically new digital experiences that completely transform your organization's business model.
And you know you have to be careful about security will also simultaneously trying to be an expert on all this new tech and deliver those breakthrough solutions and use the say this isn't always easy and it's really with this understanding shapes how we trying to build and deliver.
Every day my my team comes to work to make azurea powerful enterprise grade cloud service.
And you know the more important work that we do is in terms of building asherahs really trying to focus it to guide it around your success you know having lots of great technology and lots of features is necessary but not sufficient.
It's really about how successful you can be using this technology in the cloud that ultimately matters and to deliver on that you know we focus Azure innovation really on your needs by making cutting edge technology.
Approachable to all developers in doing the heavy lifting to ensure that asier uniquely meets enterprise scenario.
This means having the end in experience across or cloud services are management tools and development tools that provides an incredibly productive cloud experience when it's hybrid and enables you to build solutions that run consistently.
Within both our public cloud data centers as well as your own it means having a cloud that enables you to use AI and data to infuse intelligence into all your solutions and it means having a cloud that you can trust.
You know trust is a core value of Azure and we leave the industry on our work around security compliance privacy and responsibility.
And the focus we've had on delivering on innovation trust the results is leading to tremendous adoption of Azure right now and you heard sake talking bout whole bunch of the great customers using it today you know startups governments and over 90% of the Fortune 500 companies in the world.
Are now running their businesses on Azure these are just a handful of some of the logos of customers running on Azure today let's watch a video of a few of them talking about how they're using Azure to drive their success?
Microsoft Azure allows us to move forward evop strategy did say way for us to manage maintain and build out our infrastructure the benefits wiesau from the Azure migration was almost immediate cause will see be allows the windows to have a globally.
Dhond and reliable in compliance solution all across the world if you mouse clicks do you have a sequel solution in Europe.
We love the ability for us to every single day every single hour almost real time assess what is important for a customers we develop one solution and we can run that in public Azure or Azure stack the key.
With serving this is really that you have a very short way from coding into actual operation or physical I love Google natives visual studio team services has been super impactful in terms of our new platforms that we're going in.
We're using it to build see I see the pipelines with our Azure quality Inn sounds were visual studio app center stood out was its reliability we can write tests in one language from them on a bunch of devices and be able to rely on the test results.
He's fairly simple I hope she shop with them some places dunnet is going to be everywhere we are all racing towards secure by bringing the community to the data are actually able to speed the discovery of new knowledge.
As you were will be one of the leaders in the technology Microsoft helped us achieve our digital transformation it's put us over the top we can handle by and we're like bring it on we want more.
So I was abroad platform you know you can use Azure for infrastructure and justice take advantage of it for things like compute storage in virtual machines but you can also take advantage of over 100 highly engineered services to build your apps even faster.
And this morning I'm going to focus on 5 areas of innovation that we think are important for every developer as we move into this intelligent cloud and intelligent edgeworld let's start by talking bout the work we're doing around dev tools in DevOps.
Our mission with visual studio is to provide best in class tools for every developer and we now have tools for developers who want a lightweight code optimize editor as well as for those looking for a full development IDE.
And with the jewel studio team services we provide a sweet of developer's a** services that deliver a complete DevOps experience and we combined with Microsoft Azure these tools deliver a fantastic development stack.
Well done paralda unparalleled developer productivity for every develop.
That one of the great new visual studio improvements were making available today is a new capability we call liveshare.
For this is really a game changer in terms of enabling real time collaborative development across teams.
This life share enables you to not only work collaboratively uncowed with your coworkers but even ducher debugging of a nap cross team members it works across both visual studio and visual studio code and even allows developers to do live shares across windows Mac and Linux machines simultaneously.
Across any language and codebase it would like to do now is invite Amanda silver who runs our visual studio IDE team on stage together with Jonathan to show off the demo a visual studio live share in action here's a man and Jonathan.
All right thanks Scott let's start coding now toulde developper collaboration usually doesn't start until after somebody makes a commit and that's often really too late for teams that are motivated by time to market.
It looks like Jonathan Jonathan need some help I guess now is as good a time as any to show you guys how collaborative development works on our team.
So I'm supposed to deploy the guest book app for the liveshare booth in like the next hour but photos aren't showing up anymore and I'm kind of starting to freak out.
Now to get a man's help I could start a screen sharing session but the constant back and forth over control of the keyboard gets really tedious and frankly I'm a little bit tired of people saying that my editor theme looks like the aftermath of cinco tamayo.
So let's do something new instead let's use visual studio live share now I'm on my Mac I'm using visual studio code and I've already installed the liveshare extension So what I'm going to do is go down to the status bar and click the share button.
What that's going to generate for me is a link that I can give to Amanda to get her help in my context right here so if we switch back over to teams you can see it from our thread that amanda's already pretty used to me bugging her for help?
So like right now so let's paste this link in and then see what it looks like from her machine to join my session.
All right so all I have to do is go ahead and click on this link and it will automatically launch the preferred developer environment that I use which is visual studio now notice I'm on windows he's on Mac I'm on visual studio he's in VS code.
He likes techno party theme colors and I like a little bit more classic themes.
Now as we join in visual studio you'll see that it's populated by the context that's actually on jonathan's machine I have none of the dependencies that he has to run this source code I didn't clone the repo.
I don't have no it installed I basically have nothing installed but that he has a dependency on and yet I get all of the context and all of the language services here in visual studio.
Now as soon as that it connects you can see that I'm automatically brought to the place where his cursor is currently at and I can see his cursor move around he I can also see him select things.
So the time so that we can get a shared context really really quickly and start working together even further I can independently investigate what's going on in the folder so that I can look at other other code to get my bearings a little bit.
All right Jonathan now that I'm in what's going on so the guest book is ensuring photos anymore and I kind of think it's related to this code right here but I'm not exactly sure any ideas what's going wrong well I have no idea looking at this but I really can't think straight with red squiggles.
So that's the first thing I have to take care of his this linting error now as you guys can see as I move around in here I get the same experience that you would expect from visual studio you can see I get that tooltip I can go ahead and get.
And lists and select constant all right so Ah and as I move my cursor off you can see that background compilation kicks in and I have the confidence that that fix worked but that still.
It's not enough for me to know what's going on from a debug perspectives so I can go ahead and inspect other things here look at a peak definition of this value an yet this method is definitely I think what's going on so I'm just going to go.
Motat to the doc well.
Now as you can see at this point Amanda and I are actually an entirely separate files which is cool and not something you can achieve with screen sharing but if it any point I want to refocus with what she's doing I can choose to follow her cursor.
What's great about this is it allows us to work independently or together depending on what the situation demands all right Jonathan I think I know what's going on but to be really confident I'd like to set up break point on this line and a bug?
All right in as soon as Amanda sets that break point it shows up on my end as well what's really important about that is that liveshare is not just an editing platform it is real time collaborative development.
Which we all know development includes debugging so because we're in the context of a liveshare session if I go and press the play button is going to launch that app share it with Amanda and hit the break point that she just said?
All right it's pretty cool now as soon as visual studio detect that he's at a break point I get moved into a into a debug session as well and you can see that I get all of the capabilities that I would expect in a visual studio debug session.
I can look at the call stack I can look at locals and expand to understand what this is I even have a shared debug cursor I have access to the same execution point that he has so I can go ahead and even step over.
And then get hover tips to understand what the values are and I can see that yet Jonathan I think I figured out your problem this signatures 44 and it really should be an object so you're calling unshift honouree but it really should be shift so I'm just going to save that and I think that should work.
All right now I'd really like for a man to be able to verify the sixth that she just made before I let her off the hook but the guest book app is running local on my machine and I'm not ready to deploy yet and I certainly don't want to make suppose it over the Internet.
But because liveshare provides us with a secure connection between my in amanda's machine I can actually share the web app that is running on localhost with her so that she could see it as if it was running on her machine.
All right so all I have to do is go ahead to our share session up here and look at shared servers and you can see that I get access to his local host I can go ahead and launch that in the browser.
And I can see the app straight away even though it's localhost hosted on his machine looks like we fix the issue.
Alright I'm feeling a lot better thank you thank you thank you.
So I'm kind of out of hot water at this point mostly but let's make sure that we didn't regres anything else and run our tests now the guest book app like many modern applications today actually runs its test from the command line.
Little man does not standing right next to me to run that or view the results with me but once again because liveshare provides a secure connection between the 2 of us I can also share a live terminal instance with her that she will see on her end.
And then run our tests and let us both you the results in real time so as soon as he starts that terminal it's shared and if this isn't just a terminal that specific to the xdebug session it's actually a shared terminal access to his machine.
So I could use this to inspect you know developer configuration for example and see what version of note is running but in this case I'm just going to use this to call our test.
And we both see the results at the same time it looks like it's good yeah so we fix the app I think that test results speak for themselves liveshare is awesome thank you so much Amanda hi fi did you go ready to go live.
Great thank you.
And I'm excited to share that visual studio live share is now available for you to start using today so you can start downloading it please wait till the end of the keynote but you're Welcome to start using it.
And also really happy to announce that we're making it free for all visual studio and visual studio code developers on every platform.
Sort of things you probably notice over the last few years is the change in how Microsoft approach is open source we not only now support open source projects in a deep way but we also have open source of much of our own product development.
They'll be as code is just one example of the type of open source projects we helped lead now it's developed in the public on github and his head over 17,000 developer contributions to it to make it even better.
And this code is just one example of how really trying to change or development approach to be much more open inclusive at Microsoft things like netcore you get power shell and are Azure SDK are other examples of where we're taking Microsoft projects that are now developing in the open.
In hosting them on get up.
In what I should do is invite Jason Warner the senior vice president of technology at github on stage to talk a little about github and some of the changes that are seeing is part of this engagement as well as the talk about some exciting work that we're launching together.
Today so please join me in welcoming Jason.
It's got.
Who will come decent thanks for being here is a little bit about github and the mission you guys have for developers sure thanks Scott yet github score mission is to make developers lives better?
We started this by revolutionizing code collaboration today the majority of the world's code public and private sits on github with 27000000 developers collaborating across 80000000 repository.
We view ourselves as stewards of developers and we aim to reduce the friction in the entire software development lifecycle to get developers back to doing what they care about most which is writing code.
That's awesome so we very much obviously share your vision in terms of both how developers and specifically open source can really fuel innovation and you know that's really as I talked about one of the core reasons why it's become such a critical part of our engineering culture of the last few years.
It's I think it's amazing to see on microsoft's done the past few years the industry has shifted in the realize the power of open source and in fact I don't think it's too bold as to say that open source now Potter and powers modern software development.
And Microsoft might be the best example of a Corporation in bracing open source we know from statistics that we have in github that Microsoft is the single largest corporate contributed open source on github and there by extension in the history of open source.
In fact Microsoft has the largest open source community in the entire world with visual studio code.
It's pretty awesome.
I know In addition to contributing projects and posting on github one of the other things that are 2 teams have been working on a lot's actually been on several several other projects in terms of technology integration that we've done it was wearing if you could share a little bit about those.
In from your perspective how it's helping developers absolutely we've been able to accomplish a lot over the past few years last year at Microsoft Kinect we announced our combined work on the GVFS which allowed to get to scale to the world's largest repository is across windows.
In Linux and with our shared developer focus our areas of interest seemed to overlap more and more with each passing year and I'm excited see us working this way out in the open in order teams will be working hard and something new that we're launching today and.
They get up doing even more broadly across your ecosystem he talked a little bit about a little bit more about what you guys are rolling out and how we're integrating absolutely today we're announcing the public beta of the github checks API which will allow our partner integrators.
To do very deep annotated and rich datasets across all manners of continuous integration including linting an code analysis and work side to see what you're all going to do that today awesome thanks so much we going to do something everybody.
Position just mentioned one of the things that we're excited to announce today is some of the deeper integration that we're doing between github in our overall set of azurin visual studio DevOps capability.
In the first scenario that were leasing today is integrating the mobile DevOps tooling support that we provide with visual studio app center directly within the github experience.
Now we have the app center is something we launched late last fall and it enables mobile developers to build test and distribute mobile apps to a wide variety of different devices including both iOS and Android.
To monitor the performance of those apps as well as to collect analytics and crashtones from them so we can quickly quickly improve your app with each release a nice iterative way and we made all this easy by integrating all of the different DevOps stages into one smooth workflow.
And what's great with a partnership as we don't take him that and right directly integrated as well with in github as part of that experience would like to do is invite some you know who leads the PM team for be a SAP center on stage they actually show off your Science Center.
And the great integration we know how we get up here is some you know thank you Scott.
I'm so excited to show you today how is absent are in github we take developer productivity to a whole new level.
From pushing code to the repository to shipping the app to the App Store in under 3 minutes ready.
Here in github is the repository for the smart hotel demo app.
This is an iOS app written in swift.
By the same steps work for EB street and is amberwing react native or Android.
The deaf team has been working on a new feature and they opened up for request.
And here in the pool request github automatically detects that no continuous integration has been set up and takes me to the github marketplace for available github apps.
I am looking for a mobile CI solution an app center is right here.
To start building my repository in app center I need to install the git hub cap.
Excenter has a really great free tier so I will go ahead and install it.
I am now completing my free purchase.
And finally I'm giving up center access to my repositories.
Now I mean absence are.
And when I select the smart hotel repository everything gets automatically detected.
No need to enter anything manually so I can simply continue.
Epicenter it does the magic and detects all the build settings.
So now we are ready to kick off a build.
Behind the scenes aszure provisions a virtual machine with the latest tools pulls a repository starts up build end up building is completed securely deletes the VM.
With Azure you can get from your repository to setting up continuous integration in under 3 minutes.
And back to the demo app the building is already running.
Now this build will take one or 2 minutes to complete but once the bill is completed absent are we report the status back to github.
In here in the pool request I can see all the checks have passed and the build is successful.
Now before merging the pull request and distributing the app to my users I want to run a sweet of automated UI test and to make sure that no regressions were introduced.
Epicenter offers thousands of devices with different operating systems and languages all hosted in Azure.
And here we can see how the test cases look for the iOS version Reina real iPhone.
But remember absent are also supports absolute and is a marine react native in Java.
So I render test for the Android version of the smart hotel app on over 100 Android devices and all you see here are real physical devices hosted in the Azure cloud.
Now if we look closer some of those tests are failing and looks like on this device the epic not transition to the home screen.
So later that test the team can troubleshoot the issues look at the test logs and fix the issues.
We have now seen how the app is continuously building on every change.
You are tests are very dating the user flows.
So now we are ready to publish the app to the App Store to our end users.
In the past we might have done this manually over and over again.
But now we can use the same continuous delivery process and do it automatically with epson thuran github.
So I will configure the master branch that for every successful build it will automatically distribute it to the App Store all I have to do is enable distribution.
To production right here.
And with this every new poll request March the master branch will trigger a new deal deneb center you are test will be running and once everything looks green.
The new release will be uploaded to the App Store.
Continuously vary for your mobile apps has never been easier.
Together absent are in github mektep developers more productive.
Get started today we know you're going to love it.
Thank you.
So we have the app center is just one of the DevOps tooling components that we provide as part of the visual studio family an Azure set of deptuch DevOps tooling with our visual studio team services family itools you know we're making it easier.
To adopt the DevOps based model and set your team up for success regardless of the application type that you're working on.
Viesti is fully integrated into Azure includes everything that you need an works with every language and runtime environment that you already use.
And would like to do now is invite Donovan Brown who leads are developed DevOps advocate team on stage to get sure how you easy it is to get started using DevOps in Azure using visual studio team services.
I thought of it.
Thanks Scott.
Good morning everyone.
Let's try that again good morning everyone.
Perfect you know what time it is it's time to rub a little DevOps on it and make it better.
When we combine the power of visual studio team services in Azure magic happens?
We get to witness this magic every day as visual studio team services dupois itself into Azure.
This gives our teams a unique perspective on how to apply DevOps best practices when deploying into the cloud let me show you how they do it this is an actual dashboard of one of the teams that bring UVSTS every single day.
It's customized to show how many days are left in the Sprint and what work is currently assigned to them we can also view this work on a convent boarding this is a real time status report to update your status.
You're simply drag and drop but this happens to be where our team actually works are probably shouldn't be moving any of these tiles around.
Our team uses get it when you use git sometimes the branches get out of control you don't even remember why you created some of those branches but not when you use our convo on board here you're able to create a branch right from the board.
And this branch is now associated to this work every single poor quest every single commit every single build in every single release is automatically associated to this work so now you know exactly why you created the item and you get in the end trace ability.
For free.
Once we get our poor question made it's time for us to go ahead and collaborate over it in a pork West this is a way for you to review your code and have conversations with your teams to make sure that the code is quality if you see that piece of code.
Basically they give you that warm and fuzzy feeling you can actually share it with your team's right here in your pool request.
Our poor question also run policies and one of the policies that we run is a build our builds running staggering East 77,000 unit tests against every pore request and we do this 600 times a day to ensure that we only ship the highest quality code to our customers.
When our poor quest is done the code is now ready to be deployed into production?
Here we practice safe deployment safe deployment is where we deployed to one production environment monitor the code before we deployed to the next production environment this first environment ring zero is where the VSTS team actually works.
We need dog food everything that we give to our customers because if it's not going to know for us it's definitely not going to know for you we monitor our telemetry an application insights we wouldn't queries against are bugs and if we find any we stopped our release.
This used to be a manual process but now I can use release gates really skates allow me to have release management automatically run queries against my bugs automatically watch my telemetry an application insights.
And if it finds any issues release management will automatically stop our release and protect our customers we have automated safe deployment.
Now I know what you're dying to ask me right now Donovan how do we get started well I'm glad that you asked.
Could you get started in the Azure portal we have a new feature called DevOps projects that allow us to bring the power of visual studio team services right inside of the Azure portal you get started like you would any other resource you go to create and there is?
Projects gone are the days of you having to manually deploy code or FTP you don't even have to right click inside of your IDE and as Damien Brady likes to say friends don't let friends right click publish.
And now they never have too and if you look at this page here you instantly see that this this is not your daddy is Microsoft.
This is the Microsoft that understands go in Ruby PHP in python let's have some fun and let's do a Java application I get to choose my favorite framework which happens to be spring.
Now this is where the fun begins I want to reassure you if you're not ready for containers don't let anyone pressure you into them we can run your app the way that it is today inside of app service but if you are ready for containers so are we were able to send up an entire kubrin 80s cluster for you and run your app inside of there.
Let's have some fun with gubernatis at this point you have to wire a pure VSTS account I see some of you getting anxious thinking but not been we don't have a BS account SH SH.
We can create one for you right here on the portal but if you happen to have your own let's go ahead and choose one that I already have for myself So what she is this one I need to give the product my name and now I click on done now I just sit back and relax while visual studio team services work together.
To build us an entire see I see the pipeline for our Java application when this is done I'm going to have a portal just like this one this is a blade that shows me everything from visual studio team services in Azure in one place.
I can see my commits to my repository the builds in the releases I can see my clusterin even infrastructure information coming from application insights down here at the bottom if I click on this link I get to see the sample application running in my cluster right now.
Chances are you have your own code so why don't we go ahead and show you how you can actually use your own code as well luckily I can use the deep links here on our build pipeline jump right inside of visual studio team services or have complete control over this pipeline.
I can simply come in here and say why don't we edit our bill definition let's get your code from where it exists today maybe your code lives inside of github so I come over here and then I often thought authorize my account.
And then once I do I have access to all my github repo is right here inside a visual studio team services I'm going to choose my smart hotel 360 click on select and now I'm going to save in Q this build I am now pulling code up on every commit from github.
Building this job application and packaging it as an image I'm going to take that image and deploy it all the way inside of Cooper netes I hope you realize that this is not just a new era for Microsoft this is a new era for all of us.
Because when we combine the power of visual studio team services an Azure here at Microsoft we can implement DevOps for any language targeting any platform thank you so much everyone.
So it's already showed us their demo you know it's now easier than ever to set up DevOps model using Azure using the new DevOps project support you can set up CI CD for with the full application.
Monitoring setup for net for Java for node for python and PHP with really just a few clicks where you can drive it in an automated way for the command line and with today's updates you can now easily do that both for web based applications as well as container base Cooper netes.
Clusters are using our new Azure group and 80s service or a chaos we call it for short it supports guitbass source control repository's in both visual studio team services as well as github and you can get started with it now for free.
So now we've covered some of the developer tooling improvements that were shipping this week let's not jump into discussing some of the Azure platform improvements that were delivering as well.
They want to things that makes Azure really powerful is the coherent set of highly engineered services than able you to build deploy an scale your applications even faster you know for example are Azure web app service provides an incredibly optimized way.
To run web applications as well as exposed web APIs.
Are Azure service functions service makes it incredibly easy to host server list apps and code that can scale from his handling say one request per second up to literally millions of requests for second simultaneously?
And with both are Azure community service and service fabric offerings we enable you to build modern container based microg service applications.
Well rather than uecf service I mentioned so our new in chaos or Azure community service provides a fully managed to bring any is based orchestration service it provides built in auto patching auto scaling an update support.
Which enables you to take a full breath of the kurenets ecosystem when you're doing your development?
And we're releasing a bunch of great updates with it this weekend built.
One of the capabilities were really excited to share is a new feature we called dev spaces.
Dead space is unable to fast inner loop development experience when building kubrin 80s based microservers application.
Enables you to edit and deploy code instantaneously as well as debug and set breakpoints across multiple containers running in a micro service based environment and it's designed to work both great for individual developers for really shines as when you have a team of developers working together and you want to share a common team based development environment.
And be able to test in iterate independently as appropriate for like to do is invite Scott hanselman on stage to show off some of the new improvements were shipping this week without your group in any servants as well as demonstrate how you'll be able to take advantage of dev spaces.
They get a super smooth interlude development experience with Cuban eddies on as you're here Scott.
Hey friends.
So we saw Donovan take a Java app through azurduy pops projects anyone deployed that day KS.
Fast forward 30 days later and the project is a lot bigger companies a lot bigger and let's say that I'm a new developer so I need to get up to speed on how to work on this as quickly as possible.
This is a site that I'm working on and I'm going to come down here because I was told that there was a bug when people go in search for hotels I can type in New York and I find my New York but when they type in Seattle doesn't work.
So something is wrong however this application as a lot going on I'm going to switch over to visual studio that's where I live as a visual studio developer and this is where I feel most comfortable and I see that there's.
8 different projects here there's 8 different projects here in there is maybe dozens and dozens elsewhere and I'm told by Brady who set up the AKS environment that each one of these projects within visual studio.
Maps directly to a micro service that's running in a container inside of a KS so if I switch over into Azure I can see all the different containers not just the ones that are in visual studio but the ones that other teams are working on.
That might be running in different languages in different environments I can see there is my hotel service this is all running as part of Azure kubrin any service which is pretty amazing is it is a fully managed service I don't have any VMS to worry about.
I didn't create a bunch of VMS and then install Cooper netes on them I just have Cooper netes as a service I can go into upgrade at anytime I can hit scale and I can go and say I want 8 CPUs or I want hundreds of CPUs.
It's totally up to me.
Now with in this cluster I can also peer into the health of individual containers you can sequence oh that's green that's good.
OK is good going to open that up here is all these containers and I can scope my main space in my name space main line is where I'm told that the bug is an all the services can be picked from I'm going to pick hotels coz that's the one that I am currently working on.
If I click on hotels and then open that up I see some interesting stuff that the CPU is about 4 or 5% there is my hotels container that I want to debug because I think that's what the problem is and I'm going to hit view logs?
Now when I click into view logs I didn't have to install anything that's all comes as part of the service I've got this rich logging experience right off the bat and.
Brady gave me some queries to try out so I could learn this as a new developer and I put a couple of those into the clipboard so here I can go and do a search and say run and now I'm looking at aggregate.
CPU over all of the containers instantly you see was about 4 or 5% so obviously my problem is not a CPU related problem but I am here to fix a bug and I want to see if I can use the analytics to do that because again there's dozens of containers.
So I've got a query here where I'm going to look for places that return zero results because when I typed in Seattle I got back to zero results and then I know that it's written in C sharp because that's my.
My language and that's the thing I'm working on so I'm going to look for places where it contain the word controller so hopefully will see we can narrow down where this bug might have happened and I can zoom in here and see the places where the bug is happened.
In the public web.
And I can even change this and see how often that bug happens and then render it.
As a charge again all of this built into the service and let's me do some amazing stuff so I can see that clearly Brady checked into production at 5 and then just went home so that's when the bugs started so he won't be working here much longer.
Which is good for me as a new developer coz I'm moving up in the company?
So I know that it's in the cities controller 'cause I saw that in my logs I'm going to switch over into visual studio that within visual studio I could go looking for it and hunting around in here but I'm just going to get control tikas this is my steez this is where I live I know how to move around and said it was a studio.
So I'm just going to get control T and go to cities controller and see the micro service that pulls that data back here is my get get default cities I'm a right click on say go to definition these are the default cities that are hard coded.
And then up here the actual microg service get that goes and talks to the back end now we have 10 micro services here I can see in visual studio but just to you can get a real sense there's dozens elsewhere and some of them are in different languages but some of them are actual Azure services like cosmos DB or post crash or sequel.
There's a lot going on to make this happen so I go back over to cities controller an I say all right we're looking for default cities or.
OK in there is the bug they didn't call get they called get default cities so that's a problem they've actually only looking at the hardcoded cities I'm going to say in the city queries to say get pass in a man go like this.
Now I'm going to set a break point and you'll notice that this is all just the stuff that I ordinarily do as a visual studio developer right nothing interesting going on here however if I were to hit F 5 ordinarily I might need to start up all of this stuff.
Think about the amount of work it takes when someone says Hey Welcome to the company here's a laptop let's get this set up with a tiny production environment on your underpowered laptop and then next week will make you more productive.
That's a complicated experience I don't want to have that experience instead I'm going to use Azure dev spaces and I'm going to run this stuff up in a KS I have my own personal space up there now I think it's my own personal space because there's at least 5 Scotts that work at the company.
And a number of women with the last name Scott so it could be 7 potential stocks that are going on here but I think this is my space.
My microphone.
Hi test test Hey.
How y'all doing?
It's all good.
I'm not really sure how that's going on the world.
So.
Let me add some value.
I'm Scott a new here no good.
So I've got my own space here within our dev spaces and this is really significant to want to point this out notice how hotels his BF that's the micro service that I want to debug that's not the website.
It's a micro service as part of the website that then talks to other services like the profile at the back end database when I hit F 5 and go in debug this it's going to do a lot for me I want to point out that I don't have Cooper netes install I don't have any virtual machines here.
This is not running here it's running in Azure dev spaces and this is my own private space I'm just running that one hotels now we've seen demos before when you hit F 5 and then it miracle happens but I really want you to feel this in your chest.
We are not hitting F 5 on the website I'm just want to debug that one microservers I'm going to compile all of this into containers put it into Azure container registry drop it into Cooper netes and then when we hit the URL.
Will take a look at the URL an you notice that it says Scott that's my space but I'm not affecting anyone else in my team because I want to make sure that I get an environment that feels like production but isn't a type in Seattle?
And now we're going to hit a break point.
And I can hover over it and I get the great experience in visual studio as if I were local but I have my own private space with dozens of micro services all working together and I just pressed F 5.
So what did we see we have a fully managed can tease we've got auto patching scaling we've got upgrades we've got an integrated container health I searched terabytes of logs instantaneously.
I've got the ability to rap in the debug and fix apps in a complicated environment like this with just visual studio and my Azure subscription and thanks to a KS and as you have spaces Azure has the best gubernatis experience in the cloud thank you.
It's not been joking for years and we had to do some kind of pair demo in a keynote I guess we just finally did it so it's awesome.
So you know as you look to modernize your applications in adopt a micro service based architecture you know where things are also going to want to take advantage of his server list based computing.
You know serverless based approach allows you to execute code in an event driven wet which can help guide you to build applications that can scale better but sort of the computing can also help you save money by enabling you to avoid having to pay for server resources.
That you might not be fully using.
Aneas are enables you to really build a server list based solution that can respond to literally millions of events per second.
Or Azure functions service enables you to execute on demand serverless code written in a wide variety of different languages including C number javascript python and Java.
In our Azure logic app service enables you to execute on demand serverless workflows these workflows can use more than 100 built in data a nap connectors that we provide out of the box and he will need to integrate your workflows with data.
And actions that are in Office 365 or dynamics 365 sales force SAP Adobe Twitter and more and security process in route data across long running processes these workflows can also then invoke Azure function apps giving you a really robust way that you can.
Integrate both code as well as declarative workflows together.
That one of the new capabilities of Azure the Hearst talk a lot more about this week at build is are Azure event grid service event grid provides a routing service that makes it easy to route events from a wide variety of different events sources.
And connect them to event handlers to process them.
I think yrid guarantees reliable event delivery and automatically cube for example messages for later delivery if your event listener is not available and it can scale to support millions of events per second.
And it was gonna build really robust a vendor and architectures that enable you to eliminate pulling in the associated costs of latency within your applications and it runs both in the cloud without your but you can also it's included as part of our Azure iot edge as well as Azure stack offerings.
Now you can set up event grid routes programmatically using code one of the cool things were also doing starting this week is making incredibly easy to set up events using the Azure portal as well you know for example this is a screenshot.
Of a storage account in the Azure portal so there are standard Azure blob storage service and you'll notice now that we expose in the events link on Azure resources directly inside the portal and if you don't have any events registered when you click that link.
We actually provide sort of some nights helpful you want that enables usually create and run serverless functions or logic apps that will execute when a particular event occurs you know for example here inside sample tutorial it's built in now.
We make it super easy to create and wire up a serverless logic outboard flow that can execute for example every time a video file is uploaded into my storage account.
Here's what they logical workflow looks like you can see you kind of compose this word flow graphically using our designer and notice how the built in workflow is taking the uploaded file and then in turn calling an Azure cognitive service that we call her video index or service.
That will automatically transcribed the speech in the video into a text file into that storage account and the great thing is I didn't have to write any code I don't have to spend a penny VMS or other services instead of all executed serverless Lee.
Using my Dick nerve logic app workflow in this is just one of literally hundreds of new of encouraged and serverless scenarios that were making a super easy to accomplish this week and all of our Azure services will expose events that can be managed using event grid.
With this type of serverless composition model.
And where this container in a been driven serverless technology becomes incredibly powerful is when handling new types of massive scale solutions like I would.
You know I had tea is now experiencing exponential market growth in tears from now they'll be more than 20,000,000,000 connected devices in the world it's approximately 3 times the number of human beings on the planet and the need for developers who can build yotei based solutions.
He's rapidly growing.
We already have thousands of Azure iety certified hardware devices in the market today supported by hundreds of different partners and what's great is that means as a developer you can easily build eije ryotei based solutions.
And take this hardware take these solutions easily integrate them with our Azure iot cloud services and let's take a look at how we could do this.
So are Azure yotei hub service enables you to securely connect and manage up to billions of yote devices it was the thing that was on that back end when Sam was showing the drone for example in such as keynote this morning.
I was great about Azure iot hub is it can work with any yote devices out there in includes built-in security management capabilities so for example you can tell it to Patch the device automatically as well as device Twins support.
So that you can actually quaere an update the configuration of any device even when the device is offline and when it comes back online it will automatically update and as a developer it provides a great event driven serverless programming model built on Azure functions.
That enables you to both ingest telemetry from any device as well as interaction program it from the cloud.
It's like bet many of you here have never built in yotei out before they're probably wondering what day it sounds good at how easy is it to do a late to do is invite Jeff holland's on stage to show off literally from scratch how easy it is to build using Azure iot hub.
International sort of those functions programming model so here is Jeff.
Thank you all very much and thank you Scott alright so I want to show you just how easy it is for every single developer to get started building applications across tioti and the cloud and to do that.
But his given me a challenge to build in yotei application from scratch live in front of all of you now in less than 5 minutes and the application that I want to build this going to send around this yotei button.
Now this is a very simple yotei device created by one of our partners and how it works is that whenever somebody presses this button it automatically wakes up connects to Wi-Fi and send some data up into the cloud now the application that I have to build centers around Twitter.
So I'm showing here at Twitter account. #AzurdiaDemoIfYouWantToFollowAlongAndWhatINeedToBuildThisInApplicationSoThatIfYoureAtTheConferenceInYouSeeThisButtonOrButtonsJustLikeItAndYouSeeSomethingAwesomeThatYouCanPressThisButton
And let the world know through a tweet that something awesome is happening and where they can go to check it out alright so with that let's start the clock and see what we can do all right the first part of this application is how these devices securely connect to the cloud.
And for that I'm in my Azure portal and I can create a brand new yotei hub iot hub is in all in one service in Azure that allows me to connect configure manage and monitor all of my OT devices at massive scale.
Now I already have an iot hub in my subscription so let's open it up here and see what it's doing you'll notice that there's actually a number of devices already connected to this hub and it's even been sending some data throughout the day today and I can come in here and drill into the devices that I've paired with this yotei hub.
Now I want to point out right here at the top of this list this is my OT button in my hand now we need some code to run whenever these buttons are pressed so to do that I'm going to come here and to visual studio and create a brand new Azure functions project.
This will enable me to have serverless code run on demand to all of these events and serverless enyo tipare great together because I continue to add more devices and data my application automatically scales.
So in this new project let's go ahead and add a new function.
You'll notice there's actually a number of triggers that I can use to start this code but I'm just going to use this yotei hub trigger right here and let's just so she ate it with my yotei hub in my subscription.
Now here's where I can write whatever code I want to run in response to events and approve this out let's just change this line of code and have it saved but in press.
And we'll click save here and click run.
Now I'm going ahead now when what's powerful with Azure serverless is that I can actually run as your functions locally on my machine and debug it in fact I've gone ahead now and justice press this button and you'll notice that my function on my PC was able to securely connect to a iot hub.
See that trigger and run my code in fact just to prove it again I'll press this button again and you'll notice here we got another log message so I can very easily be buggin make sure my code is working before I deploy it.
Now there's 2 pieces of information that I care about for my application to work and the first is the location of the device and that's 'cause I want to include that location in the tweet of wear something awesome is happening in the second thing that I want to know is the type of message that is being sent.
If you notice my yotei hub is actually filled with a bunch of devices sending lots of data and before I go and send it to eat I actually want to make sure that the type is in fact equal to a button pressed?
All right we've written about 6 lines of code here this is where I know I need to post a tweet but I've only got about 2 minutes left it there is no way that I can look up the Twitter API and figure out how the crap to grab the know off one token in that amount of time.
So instead what I'm going to do is leverage another piece of Azure server lists which is logic apps so I'm back here in the Azure portal in here I can create serverless workflows now I'm going to add an action here in what's powerful is that not only can I add other Azure functions that I've written.
But there's over 200 connectors here out of the box to enable me to integrate with services like cosmos DB cognitive services github Google Docs the Microsoft graph even on premises SAP.
Now this is incredible for me as a developer because this is all function code that I don't have to write so that if I want my application to do something like post a tweet to Twitter I just select the Twitter connector say I want to post a tweet.
I've got some text here ready to go let's paste this in and will even pass in the location of that device.
All right so that's how we need for the workflow the last thing I need to do here is wired up to my Azure function so it's grab this URL here and write one last line of code and if you think it's hard to write code when someone is looking over your shoulder imagine doing it in front of thousands of people.
That's OK make sure to make this a weightable I'm going to add this click save run time all right we've got time to spare let's test this out now I'm back here at Twitter.
I'm going to go ahead and now I'm press this button that Azure function his kicked off in triggered it sent the location data 2 that Twitter connector and when I click refresh here you will see here now is it tweet sent to the world.
Letting them know that something awesome just happened here at build.
Thank you so much.
Now it's great here is this even includes a sample on github so that if you go check out this tweet you can build the same solution in a few minutes later today and I was able to build this entire application to kanau scale 00s of ayote applications in less than 5 minutes.
Thank you so much.
Well these are just mention if you go to our booth were actually giving out thousands of these Internet connected buttons and so it's super easy.
To build this exact same app yourself and you can become an AI OT developer.
So just showed you how easy it is to connect you know a simple Wi-Fi connected button to Azure and how easy it was to basically write code in the cloud that interacted with it and this is great for many many different scenarios were you really only need to run the logic in the cloud.
But it's not even talked about this morning you know the trend that we're seeing is where we are also increasingly moving to one for you also want to be able to run logic on the edge as well interact both with the device and the environment and even richer ways.
And be able to do it locali while still retaining cloud connection.
Azariah T edge runs on both windows and Linux devices and provides a really easy way to build and deliver application functionality on the edge it's important that container base programming model.
But you can use the boat develop and deploy apps on the edge and supports running server list based Azure functions directly on the device in fact we've taken the Azure functions program model and it's just part of that is your iot edge as well as event.
The grid and this enables use the same container ancerville a skills and technologies that we just talked about running in the cloud to be able to run on the edge device as well.
And you can basically deploy and run both code as well as your own AI models using are Azure cognitive services or by building in training your own models will talk about in a few minutes on the edge as well and run it in the context of an Azure iot edge device.
This gives you both an incredibly powerful in a very elegant way to build iot solutions what to do now is headed back over to Jeff to show off how you can take this first yotei scenario that we just download an now.
Send it to build and deploy custom code and I'm models using Azure iot edge thanks got all right so let's extend that application we just started and what if instead of requiring somebody to press a button when they see something awesome.
What if the device itself actually knew that they were awesome things around it and automatically sent to tweet now to do that I want to talk about Azure iot edge so I'm back here in my Azure portal in this is my yotei hub this is the same hub we were just using for my button?
But I want to call out here that there is a second section here from my OT edge device is now these are devices that actually run pieces of the Azure cloud directly on the device itself and these are fancy devices that you have to special order these are devices that you're likely already using today.
In fact 2 that I want to call out here is my windows PC that I'm developing an right here and this Raspberry pie that's next to me which is actually running Linux now both of these are edge devices and both of them have cameras so I want to leverage those cameras to be observing the environment.
If you're not if there is awesome things around so let's check out the solution and what it looks like now this inside of visual studio code is my iot edge solution that I can completely build and manage here a few things I want to call out this same solution in same code is running both on my windows PC?
And on this Raspberry Pi running Linux and it's made up entirely of containers now this is great because it means is I'm building these I get the benefits that containers brain like portability inconsistency regardless of the form factor that's running on.
Now this solution is just 3 simple parts the first one is this startup container I'm just going to start it up on the device grab the camera feed and push that feed to a machine learning model now this second page piece here this is that machine learning model that needs to identify are there awesome things around or not.
But what's exciting here is just how easy it was for me to build this in fact to build this model I leverage the Azure custom vision service this is one of the cognitive services that enables developers to upload samples of images with tags.
And after you train the model you can actually upload new images that hit his never seen before and it will be able to predict for you what this image should be classified like so let me show you the project that I've built for this demo you might be able to see here from the text here is my custom vision portal.
And I want to build my own Scott or not app because chances are if Scott is somewhere at build there's something awesome happening so here's the sample images I've uploaded it's a wall of awesomeness some of these images are tagged with Scott and some of them are tagged not.
And I can go ahead and tag these and then click this train button right up here but I don't want to have to be sending the feed from all of my devices constantly up into the cloud to identify if it's Scott or not and what is great here is that after training the model.
I can actually click the export button and export this model to run on any device even locally on the yote edge so I've gone ahead and now I've trained this model let's choose that we do want to run this is a docker container.
Say I want this to be Linux click download save done this is the exact container that I have now imported into this solution running now on these devices looking at camera feed in identifying is this Scott or not.
Now that's generating a lot of data in order to deal with that data I have my third piece which is in Azure function running on a container on the device now actually want to show you that as your function code coz it should look familiar.
This is the code here in this is the exact same code that I wrote for my butt and a few minutes ago the only difference is that this is running on the device locally and you'll notice instead of looking at fits a button press or not I'm actually detecting if it's Scott or not.
Now I built this whole application I've deployed it in works on my windows PC so now let's talk about this Raspberry Pi that I also want to run it on so if you're not familiar this is a Raspberry Pi right here it's a computer the size of a credit card.
It has an arm processor it only has a gig of memory it can run windows yotei core but for right now I'm actually running Linux on it now I want to pull in all of that power of the Azure cloud and run it on this simple device right here.
So let's test it out now I want you to pay attention to these lights up here because this is going to show us with the devices thinking so here's the camera feed I'm going to go ahead here and give a nice smile for the camera and you'll notice that right away this device is rejected me with a red X.
But in me know that I am not in fact afsa more Scott getting flashbacks of high school so will go ahead and now in Scott if you will join us let's see if we can get something awesome to happen if you'll go ahead and give a nice smile to the camera and you'll notice that right away.
This device has seen something out soon as happening.
Thank you.
It's actually posted another tweet with Scott's picture hopefully it was a flattering shot that it took of you which also includes a link to this code now that's fantastic ingested example how as a developer I can use these powerful tools to build applications at massive scale on the Azure cloud.
But when I need to I can actually pull pieces of that cloud down and run with that power on a device is simple is this Raspberry Pi thank you so much.
So everything you've seen in all of these yotei demers is now available for you to use starting today and you can build incredibly powerful iot solutions using Azure an really take advantage of this inner.
Intelligent cloud intelligent edgeworld.
Now one of those importances you'll make it should start to build large scale cloud applications or whether it's variety or for any other scenario is how to store in represent your data so let's spend some time talking about how you can do that with Azure.
It's of the cool new things coming out this week.
There are Azure now provides an incredibly flexible choice of operational data services or Azure SQL database host cross my SQL reddis and cosmos TV services are databases that we provide as a service.
Which means we provide them with as a database service with an S light and it's a fully automated managed service this means you don't have to manually configure your databases for high availability or have to manually Patch or update them?
All these are capabilities built into the services that we provide for you are we similar provide built in backup as well as point in time restore capabilities the bill is that easily scale up and scaled down capacity at will very quickly.
All in all in a bunch more capabilities that are all just built in features that you can leverage this enables you to be much more productive and build applications faster while still preserving the flexibility of your favorite database of choice.
At last year's build conference we were least azerkosmos TV which is the world's first globally distributed multi model know SQL database service that delivers horizontal scale out with guaranteed single digit millisecond latency.
We're seeing incredible adoption of the cosmos TV over the last year and it is today you know one of our fastest growing services across all of Azure and the reason for this incredible adoption is because it really enables you to build amazing cloud solutions.
With cosmos DB you have a horizontally scalable database that puts data everywhere your users are has to be enables you to automatically replicate data across all Azure regions around the world giving your users lightning fast performance.
Darlas or wherever they're accessing your application.
Has to be allows you to scale your storage and performance throughput across one or multiple Azure regions with zero application downtime you can start with this a gigabytes of data and then scale up to manage petabytes of it?
You can sort of processing just 100 operations per second but then scaled it tens of millions of operations for second around the world and best of all with cosmos TV you pay only for the storage and performance throughput that you provision.
And cosmos TV is unique in that allows you to program against it using a variety of different APIs ondata moms resport mongo DB remling graph table sequel APIs park APIs as well as Cassandra APIs.
This gives you maximum programming model flexibility enables you to easily reuse code in libraries that you already have.
Thus we could build we're announcing a bunch of great new improvements to cosmos TV these include new pricing options that help developers achieve in some cases up to 10 X cost savings over there solutions and also includes an incredibly powerful new capability.
Which is multimaster right support?
Has to be now supports unlimited read in right scalability by virtue of a highly decentralized masterless replication protocol support this guarantees single digit msec reads and now rights?
Response time at the 99th percentile anywhere in the world which is something no other database in the world delivers today.
And with the unique adoptive any entropy protocol cosmes to be significantly reduces right conflicts which makes it much easier to build multimaster right scenarios and applications in the event of a right right conflict cosmos TV supports both of well defined policy.
Based programming model is built into the transaction system as well as the ability for developers to add their own custom logic conflict these are incredible innovations that really enable you to build truly planet scale applications.
And what to do now is in by rema who is one of the core architects of cosmos DB on stage to show off an example of how easy it is to use this multimaster right support to build amazing cloud solutions his room thank you Scott.
Good morning everyone it's really really exciting to be a bill here this year now imagine you want to build a planet scale intelligent app serving millions of users all around the world in this demo I'll show you how easy it is to take any app and scale it globally.
Using multi master capability in Azure cosmos TV now it's a show you the benefits of multi master for global scale apps we have built a multi user interactive canvas with millions of pixels inspired by the ready place experiment.
This app is running across all Azure regions with the data stored inside cosmos TV and replicated across all Azure regions as well the app needs to deliver instant rights and instant the reeds to millions of users worldwide.
In this demo I'll show you 2 canvases one pointing to replicate in West US and another one is pointing to replicate in Japan West users in those regions can draw in view each other's drawings in near real time.
All over the world now let's see this in action so I will go to the canvas in West US and pick a color.
And while I'm drawing Ben is going to be drawing in Japan West and I can see cosmos DB and as you can see we can see each other's drawings in near real time I can even draw maybe.
Tic tac toe game and played with Ben.
So every single update from every single user gets written to the nearest regionen becomes available all around the world in near real time this canvas is stored inside cosmos DB.
So let's take a look at how this day to get stored inside coz moved I can come to the portal click on the data Explorer in view this data all of the pixels the locations of the pixels in the colors that gets chosen by the users.
Now we're very excited that right after this keynote we're going to open up this application to all of the users worldwide so all of you could participate in this globally distributed drawing experiment powered by the multi master capabilities in the Azure cosmos TV.
Now remember this is not just a regular app this is a globally distributed application building such apps he's really really challenging azerkosmos DB as in natively built in the cloud service.
What's carefully engineered with multi tenancy in global distribution from the ground up with its turn key global distribution capability I can come to the world map I can pick the regions where I want my data to be?
Click the save button and that's it the data gets seamlessly replicated and becomes available for querying lokoli in those regions and as I'm adding and removing those regions my application does not need to be paused or redeployed it continues to be highly available.
Thanks to the multihoming capability that kosmiczny provides now the key thing that I want you all to remember is that independent of the data scale whether you working with the patter bite or hundreds of terabytes of data independent of the data model or the data distribution.
Oh potential failure is that may occur when you're running at such a massive scale cosmos DB continues to provide you with a single system image for all of these globally distributed resources this is something that no other database in the world can offer you today.
Now the mall by master and not just any multi master but the mall by master a true global scale with it's natively built in multi master capabilities and cosmos TV application developers get numerous benefits.
Number one is you get unlimited inelastic right scalability all around the world you can perform trillions of writes and reads every single second on the single globally distributed cause most database.
Whether it happens to be a graph or a table or a collection of documents with the natively built in multi master support you get 59 right availability all around the world In addition to the 593 develop.
Backed up by the industry leading acylates within natively built in multi master capability you get a single digit msec T right latency guaranteed at the 99 percentile all around the world.
Now databases that offer masterless replication can give you a low latency rights and they can give you high right availability typically trading it off for consistency what is truly unique about cause mostly multimaster replication.
Is that it composes incredibly well with the multiple well defined consistency models that the service offers you so developers can make precise intuitive and well defined trade offs with respect to latency consistency?
High availability in cosmos DB.
We've databases that support multimaster replication for active active workloads right right conflicts are rampant what that typically means multiple users could be drawing to exactly the same pixel at the same time.
This forces developers to add that logic to their application in participate in the master multimaster replication protocol in cosmos DB we wanted to remove all of that burden away from the developers.
So cosmos DB In addition to its untie entropy protocol that tries to reduce the number of record level of right right conflicts down to the minimum but in the case when the conflict occurs developers can pick among multiple.
Flexible conflict resolution policies kosmiczny be supports automatic policy with the native CRDT support you can also write your logic in the form of a stored procedure as a customer conflict resolution policy or use last right wins.
Now income flute in conclusion with it's highly decentralized multimaster protocol multiple well defined consistency model in the capability where the developers can add and remove any number of regions in the scale independent matter.
'cause mostly becomes a bigger dis choice for them or an application development in the intelligent cloud intelligent agera every single app that you're building could transform the world that we're living in if you rap happens to need a database we sure hope is going to be cause most TV.
We're very excited to see what you're going to build with cosmos DB thank you so much better you Scott.
So let's not drill into how you can take all of your data and use it together with AI to add true intelligence in your application.
Our goal with Azure is to enable every developer to easily add a height of their applications.
With our Azure cognitive services we need we easily call pre built AI models that we exposed through API services as you heard from santi of this morning you know we provide great I models do things like speech to text translation.
I mean detection object detection video translation language services and more and you can invoke all of these using either are rest APIs or by using our prebuild net Java python in notice the case.
Now In addition to calling these cognitive services programmatically one of the cool new capabilities that we're making available today is native integration of cognitive services with our Azure search service as a search enables you to index any type of content.
In build rich source experiences from it an with this new cognitive services support you can now for example just automatically indexed images videos in PDF's extract all the use a items tracked all that insight from it.
Things like face an object detection sentiment analysis and video transcription and just expose it directly as part of your search experience.
And we've worked with some great customers using our Azure cognitive services one of those is the NBA who are using it to deliver some really great experiences and please join me in welcoming Garth cakes from the NBA to talk a little about the work that we're doing with us and what this experience enables.
There's guards thanks a lot Scott.
Good to see all right.
So I'm going to start out with the question show of hands how many NBA fans do we have in the room.
OK so reasonable amount.
So my name is Garth case I mean my 20th year at the end BA.
There are 2 questions I get asked most frequently the very first one is have I met Michael Jordan Shaq Kobe or LeBron.
I'm lucky enough to say.
Yes to all of that I have.
The second question though.
Why I stayed so long at the NBA?
The answer might seem cliche but it surely is be cause of the people.
Working for the NBA I've had the opportunity to meet and learn from the best and brightest in sports.
Now for those of you that don't know during the NBA regular season 30 teams.
Play 82 games each game generates terabytes of content.
As you can imagine this.
Much information makes it difficult to manage an curat and get insight delivered consistently across all our internal and external channels.
Now let's talk about the NBA's journey to finding a solution.
So are growing data problem 18 months ago when we first started to organize and understand our data we started like most thinking that we could build the data Lake.
And that would solve all our problems but our data leak quickly became a day to swap.
And it was difficult to hear important signals in the data through all the noise.
Even though we had designed the perfect analytics layer.
We needed something more.
We needed a learning glare.
OK.
And licks layers are usually active post in jest of data but a learning layer.
Could be active through all stages from ingest all the way to archive?
It would help us organize and grafar data surface patterns that connect dots and allow us to focus on the high value information.
Would now be able to hear the signals loud and clear?
This pivot in our journey meant that we were no longer building just today to Lake were building a smart data platform.
This revelation gave birth to many use cases in scenarios.
Most of them related to data mining process automation indecision intelligence.
As I searched for technologies that we could use to build our smartdata platform I saw a demo where Microsoft used in AI driven approach to understand the recently released JFK files.
There were able to run.
Thousands of in structured documents through their system and build a knowledge graph using a set of AI models and services.
Their use of new cognitive capabilities in Azure search as well as leveraging custom in pre built AI appear to be the perfect recipe for a cocktail that would enable us.
So I'm the standard content and add the layer of learning and intelligence we needed to build our smartdata platform.
Now is he built the platform we also develop plenty of value driven use cases and scenarios.
One of these use cases in production today is the application called NBA photos order.
The name is not terribly creative I know that but please feel free to tweet me if you have any suggestions before the photo's order was created the effort of tagging photos.
So very very long time looks triemli manual.
Resource intensive and sometimes inaccurate.
Now with the help of Azure photos and other types of content can be automatically tagged and related quickly and increased accuracy.
The photo's order has already ended us in quickly tagging VIP photos from our events these photos are turned into printed and digital albums.
Which are given to VIPs as a personalized gift?
But this example is just the beginning.
As we get more insights from our data I see a future where we can not only further automate our business but use the system to connect our channels and drive personalized value based engagement.
With our fans across the world.
Together with Microsoft we have embarked on a journey.
It's a bring it into the world of the NDA across all types of data and content my intent is to use AI to power the next generation of experiences.
For employees are teams fans everyone around the world.
I have one plug before I turn it over so you can check out the photo soda at this very moment we are in the semi finals of the NBA playoffs.
Where you can experience the excitement of watching the best athletes in the world compete for the title of NBA champion?
I hope that you all will tune in and share the excitement with me.
Now I'll turn it over to think.
I don't have her name.
Page so you need to do our demo thank you ask them all right thanks so much card.
So as we just learned from Garth the NBA truly is a data driven organization and here we have ingested all of the NBA's content so videos images text documents player telemetry.
And to blob storage on Azure and we have applied cognitive skills to enhance and annotate that data.
So I'm from Houston which means that the only James I care about is James Harden but I understand a lot of folks on this coast like LeBron so let's see what our cognitive skills can tell us about LeBron.
Here are face API has automatically detected LeBron in this image and it's been trained on all of the players owners and coaches in the NBA so not only do we have his face we also have lots of other additional meta data such as a motion in age.
So how does the King feel is he's about discoring epic shot in front of tens of thousands of people.
Neutral.
It was completely in the zone an this guy looks like he's about to be sad in about 5 seconds.
But it's not just about LeBron how does he relate to other entities in and around the NBA.
Let's take a look at the knowledge graph that cognitive search is automatically created for us.
So this is interesting it looks like arighi skills have detected that there's some sort of relationship between LeBron an Nike so let's explore that a little bit further.
Here are object detection API which is been trained on all sorts of items that you would expect to see in the NBA so basketball's hoops players shoes and even specific brands of shoes.
Have determined that LeBron apparently loves wearing nikes?
And so now we know a little bit more about his fashion sense let's try and take a look at his performance so how is he is a defensive player.
We get back a short video that are video indexer API has automatically annotated and transcribed showing LeBron make a defensive play.
So he's good at offense he's good at defense how is he is a player all up.
That's usually done with something called game notes these are PDF documents created after every single NBA game and they contain a wealth of information so player stats gorees play by plays.
And we could look through every single one of these PDF's to try to build this display are top performers column here on the right.
Since we've already extracted all of the text from the tables on the documents themselves were able to build a custom algorithm with the Azure machine learning to extend cognitive search.
So this all sounds kind of like magic right like being able to apply cognitive skills to the data that you've already got in Azure.
So how easy would it be to go about creating this solution for yourself let's dive into the portal and see.
So if I wanted to create a search service all I would need to do is go to create resource web and then click Azure search or you could just search for search I guess.
But since I've already created one let's take a look at the NBA content search service that's powering our application.
If I wanted to import data I would connect to my data source and I can use a variety of things so SQL databases SQL data warehouses cosmos Azure blob storage and if we take a look at our existing data source this NBA?
That's content we get pulled up at the container with all of the items that we've seen before so our videos are automatically being annotated I'm being transcribed or PDF documents are having the text extracted.
And the images automatically documented and escribed and we can even apply cognitive skills out of the box to extract people names locations in languages and as mentioned before we can also extend this cognitive search with custom machine learning logic.
Once this is all been created we can go and look in the search Explorer and search against all of the return jasons so I type in LeBron we get back every single instance I can even do more complex queries.
Search equals LeBron and facets equals organizations one of those things that we just clicked before it's a little check boxes and here we get back all of the organizations that LeBron is associated with.
So the cabs the NBA and Nike.
So these cognitive capabilities being able to apply a ride to the data that you already have stored on Azure this capability is only available with us on Microsoft Azure platform and they're available for public previews starting today.
So I can't wait to see what you create with this AI first approach to cognitive understanding thanks so much guys.
It's a great thing about Azure cognitive services is that you don't have to be an AI expert in order to take advantage of AI within your application.
But we also know that a lot of you want to be able to be able to your own AI models and Taylor them to your precise business needs.
And we provide a great way to do that on Azure.
So when you typically want to build a imano you typically walk through a workflow where you do 3 things.
Step one is where you prepare your day to step 2 is where you build in training model from it and step 3 is when you deploy the model and start using it with an application let's walk through how we're trying to streamline all of these things using Azure.
I'm going to start with service simple example to illustrate this these 3 steps in that is trying to build an eye model that can help answer the question of how much a particular car is worth.
So step one of those process again is to prepare my data.
Now data scientists building algorithms spent on average about 80% of their time doing data preparation steps working from multiple data sources and merging the data together finding and fixing anomalies in outliers.
In standardizing on formats it's a really arduous task in a lot of people often refer to it as data wrangling.
Their eyes are data brick service is a nap hachi spark based analytics service that's optimized for Azure enables you to quickly launch in scale up spark clusters on demand it includes a rich interactive workspace.
Makes it easy to build sparkbase data workflows and also includes built in data adopters the lie to work with all the different data that you store with an Azure.
And it makes it really easy to prepare data for AI based workflows whether you're just working with the few gigabytes of data all the way up to hundreds of petabytes of data.
Now once we've got our data assembled for our car model the next step is to build in train in an eye model using it.
Now for example for a car scenario we might want to create entrena model that predicts the value of the car using a data set of historical car prices.
And this process of building training and testing the model is going to be iterative as I have valuated various different attributes and hyperparameters to more accurately fit the model as part of my solution.
In our Azure machine learning service helps dramatically with this process it enables you to train and evaluate models on any number of servers with an Azure you can literally scale up from using just one server to build a train your model to literally running across.
Hundreds of thousands of servers for just a single parameter change in your application.
Out as a machine learning enables you to use every popular data science and then I framework out there pudding tensor flow cafe 2 C&K carocp I torch and more.
In addition to every populare I framework we've also include pre built a model's with Azure specifically designed for computer vision text in forecasting scenarios this can dramatically improve both the performance of your models.
As well as the speed with which you can go ahead and build solutions with them.
For once you have built in the eye model with our Azure machine learning you can then package it up into a docker container and deploy it to run anywhere.
But there are other machine learning service you can build and deploy models that lulay run anywhere this includes our new Azure carbonetti service that you called Scott hanselman demo earlier which is great for hosting an AI model that you use for online API scenarios.
Or Azure batch servants if you want to.
Better of leeum batch based process lots of data or you can deploy it as you saw Jeff show with an IOT edge for edge based computing scenarios and because these models are container based you can also run them anywhere else as well.
Including on premises environments this gives you maximum flexibility to use AI literally everywhere.
And the great thing is you can take these 3 step flows can use it with any data stored inside Azure and make any application you work on much more intelligent.
I would like to do is invite Starbucks who is another great customer of Azure on stage to talk about how they're leveraging both are Azure data services and I services to transform the customer experience is so please join me in welcoming.
Jeff Wiley on stage here to talk about Starbucks in the great work they're doing here is Jeff.
Morning.
Yes my brother so.
Well good morning everyone.
It's a pleasure for me to be here hope you having a great morning so far this is great and it is my pleasure to have the opportunity to spend a little bit of time sharing about how an iconic brand like Starbucks.
Is being transformed by many of the same technologies that we've heard about this morning?
Many of you know us but let me share just a little bit more about what Starbucks looks like today.
We have 28,000 stores around the globe.
Over 300,000 partners who proudly wear the green apron.
In 77 countries around the globe.
All of this equates to over 100000000 occasions each week where our customers visit a Starbucks store.
And that equates to about 22 and a half billion dollars of revenue last year we like to say it Starbucks that we earned that 22,000,000,005 bucks at a time.
So how does all that happen well our company has been built over the last 40 years on 3 really important pillars number one higher great partners who care passionately about the craft of coffee.
And who care about the customers that walk into our stores number 2 build innovative and exciting handcrafted beverages and unique food offerings such as our brand new Nitro cold brew.
If you have an experience to get its life changing I promise you'll love it?
And finally stores that are welcoming and a great place to refresh and relax which many of you have come to call the 3rd place.
But we've added a fourth pillar recently and that is technology because we believe that technology is the enabler.
At Starbucks to spread that experience everywhere.
Let's take a little bit of a closer look on what that technology is doing to transform our system.
We're looking to use technology is like blockchain to track our coffee around the world from being the Cup.
What do you think data in modeling to share best practices with our coffee farmers around the world?
We're developing systems to optimize inventory so we're delivering the right products to every store at the right time while at the same time delivering are reducing waste.
And finally we're creating new capabilities that optimize scheduling for partners those 300,000 partners in the stores to make sure that they are there when they're needed.
And let's not forget our industry leading mobile application.
Where we're leveraging scalable infrastructure that it just automatically as demand changes throughout the day?
But probably the biggest transformation for Starbucks as a whole is in our partners.
Who have been able to innovate faster and build solutions more quickly for business than ever before?
So what do all these have in common.
Well everyone of these projects leverages cloud platforms like Microsoft Azure which enables us to move faster and build better solutions.
We're also partnering closely with great companies like Microsoft who not only help us along this journey but are teaching us as they go.
Finally another benefit we see from the cloud is their ability to deploy these solutions globally we can build it once and leverage it anywhere around the world.
That asier maybe.
It really is helping transform our business.
So let me give you a specific example that we're super excited about.
Over here you can see a typical store and we have orders coming into that store maybe a mobile order maybe a drive through or maybe someone walking up to our register today our partners doing amazing job to fulfill.
And craft those orders but we do it in the order that the order of this sequence that the order came into the store.
Things get made things get picked up.
And you can see we do our very best to satisfy our customers but what if we could use.
Big data and machine learning and AI on something as simple.
As creating coffee in our stores and we could use those algorithms to help us optimize how we produce those orders.
We still have the same number of orders coming in but maybe that drive through order is just a Cup of coffee so we're going to fulfill that first instead of first in first out like it is today.
And once that's complete we've now handcrafted that large order for mobile customer and it's there ready right when they need it.
We're super excited about this capability because it enables our partners in the stores to focus on our customers and not spend time trying to figure out how to manage that cube.
And we're leveraging things like Azure cloud and the capabilities like service fabric.
I would see how for a connected devices in the stores.
And back end datastores like cosmos DB to enable all of this and make it happen.
Who knew there was so much technology behind a simple Cup of coffee?
Our mission is Starbucks is to inspire and nurture the human spirit one person one Cup and one neighborhood at a time and together with partners like Microsoft and technologies like Azure cloud.
We strive everyday to fulfill that mission.
Thanks for less than enjoy the rest of the conference.
Thanks Jeff do you heard about how Jeff is an in Starbucks is using Azure to better improve their customer experience let's not walk through an example of the steps involved in building the eye model for a scenario like this.
And do that I like to invite page back on stage to show us out here is page.
I again.
Awesome so if you've ever worked in a restaurant you know what's in art and a science to prepare a complex order at precisely the right moment for a customer to arrive and what we have here is a restaurant owners dream.
Orders come in on the right I click on them to confirm them and they're automatically placed in the correct order on our order Q so I'll complete harveys order than Francis is in the barber's and I am sure that.
All of them will be ready at precisely the right time is my customer arrives.
So how would we go about creating the solution backed by a deep neural network let's dive into azurin see.
So here I am in my Azure portal using something called the data breaks notebook and this is an interactive collaborative programming space for data scientists and software engineers to work together.
I'm using data bricks you can pull in data from a variety of sources so here we are grabbing stuff from SQL data warehouse cosmos DB and also some static CSV files that we have hosted on blob storage.
Once our date's been pulled in we can prepare it remove outliers remove null values get it into a nice rectangular data format and then use that to build in train our model using any framework is Scott mentioned.
So if you like tensor flow used to answer flow if you like MX net or cognitive tool kit you can use those 2 and then once your models been trained and once are hyperparameters have been tuned you can package it up into a container and then deploy it.
Anywhere you choose so local lianan iot edge device or even it's kalonas park cluster in the cloud and any developer in your organization can then call that model just as easily as they would have cognitive service.
So let's take a look at what that would entail so first we bring in our data and if I click shift enter.
Automatically were sending a request to the spark cluster to pull in data from our SQL data warehouse.
I even have data streaming in live from cosmos TV so let's take a look at that here.
Awesome.
I can also pull in orders just from blob storage so here we're grabbing a CSV file.
Now that all the data is been ingested it's time to prepare so we probably don't want to keep these outliers that would probably skew the model that we're building so if I want to remove them I would do orders total order from Mount.
Less than say 200 that seems reasonable I click shift enter again and automatically my graph changes so that looks like a much more representative sample.
Now that we've got our data in the great state it's time to join it and prepare our model here we have a neural network with 2 hidden layers and we have 200 nodes per layer as I mentioned before this is backed with tensor flow and we're using charisse is the developer facing front end.
So what we can do with Azure machine learning is we can try train and then change minutelli some of our hyperparameters.
Make small modifications to our model to see how that impacts our performance overtime we're aiming for high accuracy and to reduce loss as much as possible so here you see a whole bunch of runs of our model with those minute hyperparameter changes.
An lower is better I know that's kind of counter intuitive prefer a performance graph but you want to minimize your loss overtime so here it looks like that orange model is the best performing one so that's the one that will package up in a docker container and then deployed to use this the back end for our application.
So will create a schema Jason file to define inputs and outputs will create a python script to initialize and run the model and then will deploy it using Azure cougar netty service.
So now that it's been created in deployed I clicked shift enter with some perspective restaurant orders and we get back in the output with sport categories and confidence levels.
So any developer in my organization can call this rest service exactly as they would a cognitive service.
As you can see an Azure you're capable of using any machine learning framework you choose you can pull in data from a variety of sources and you can use data breaks notebooks as a first party solution.
And where the only cloud service provider that offers that functionality I can't wait to see what you build with the AI on Azure thanks so much.
Through covered a lot of new services incapabilities that we're releasing with Azure today and walk through some of the amazing opportunities that are out there for all of us to build great new applications with it for this intelligent cloud and intelligent edgeworld.
I hope you enjoy the rest of built really looking forward to getting your feedback and I can't wait to see the great applications that you build with Azure and across the Microsoft stack thanks so much and have a great rest of the conference.
