App Modernization with Microsoft Azure : Build 2018
Keynote was that good, was it? i actually — i didn’t see the Keynote. I was spending hours preparing this session for you Guys. I’m just kidding. So my name is corey sanders and i’m About to give you a wonderful 75 minutes talking about app Modernization. I’ll walk you through the process of taking an App that you’ve got, being able move it into the cloud, Migrating it as painless as possible and then modernizing. How do you add additional capabilities on top using things Like serverless and be able to take the full advantage of the Cloud as part of the process. I’m excited to walk you guys Through this. The one thing i want to start with is just a Personal point about myself. And so i’m going to tell you What my favorite color is. It’s purple. So it’s not — it’s not Red. I don’t like red. But i’m wearing red today. Many of you Couldn’t see my shoes so the joke didn’t get as many laughs As i thought. Okay. Thank you. That’s not an easy stretch. All Right. Here we go. Enough nonsense. Let’s start. So let Me start a little bit about why does this even matter? why do You even care about moving the cloud? like who cares? why do You keep bugging me about this, corey? it’s really not about The cloud. It’s really about the changes that you’re trying To make to your business, to your products. It’s this fancy Term, digital transformation, changing how you engage your Customers, changing how you think about your products Difrnly, how you support what you customers want to do in a Faster, more agile way, compete with others in you industry that May mr. Doing this already and making sure that you’re reducing Your cost. Everything can be done cheaper for the most part. How are you making sure you’re optimizing, empowering your Teams, your company, your peers to be able to be the best they Can be, to focus on the business that you’re in so you’re not Focusing so much on running the infrastructure. When you think About the cloud, it’s not about the cloud. It’s what the cloud Enables for you and that’s hopefully what we can walk Through today. When you look at this progression across all of The aspects that are really important to you in the Business, the application you’re running, one is of course Ajillty, speed, time to market, how you get things out as fast As possible, how do you get things into your customer’s Hands, whether those customers be external or internal, how do You get those updates as fast as possible, continuously, in a Safe way. Right. So that’s very, very important. And That’s really when you look at some of the product aspects of The platform, and that’s what i’m going to foe can say on Today, really focused on giving you that ability to be fast, to Be agile, to make very quick changes. That’s where the Container movement came from and the serverless movement has come From is all about that point on ajillty. Certainly cost. Cost Is a big factor. How are you saving cost and reducing cost. All those the compute you need and paying For no more. That’s very important. And it Allows you to experiment more. Whether you’re Spinning out containers on the other end or serverless, you’re Running them for a tiny amount of time, much less than you Would running then on infrastructure, it allows you to Try some thicks as well. And simplification. It’s an Important aspect as well. How are you taking your environment, How are you taking the things you’re building, you’re managing Day in and day out and making them easier, simplier. And i’ll Walk you through out that today. So i’d like to use this picture For how the maturity through this overall cloud story works. I’ll use this as the backdrop for the entire session. You Start with existing apps on premises. And i’ll reiterate That the cloud is just a means to an end, right. But that First step, lift and shift, this is about getting your Infrastructure into azure, into cloud infrastructure, that Brings with it a set of ajillty, you can spin things up quickly And spin thick things down, but it — things down but it allows You to open the maturity model. Getting your vms in there while The cost impact is relatively small compared to the rest Making sure your vms are there so you can start adding the Other things like serverless and container ising and so on. I’ll Focus my demo on container ising and app modernization where is Where you see things like events and so on. I’ve got this Progression here, green lines mean minimal code clangs. Purple lines mean big code changes and sort of this progression but there’s really No rules here just to be clear. There’s are no guidelines or Strict expectations that i have of you to come back and tell me How you walked through each step. I don’t really care. I Think that the goal here is you’re taking advantage of the Capabilities as far to the right as you can. And as is business Valuable to you. And that’s a decision you’ll have to make. But you can really skip steps, you can go stath to rewrite your Full app. I know folks that do that. It can with challenging But i do see that. You can skip and go straight to Containerization and so on. And i see that from a lot of eres. I’ll dig into a little bit of the details here on what the First step looks like, how the movement from lift and shift Looks like and what we’ve got to support that. This is the term Lift and shift. It really is a very good descriptive term. I Don’t know what the shift is, but you’re taking your app and You’re effectively taking it as a vh and you’re moving it to run On infrastructure and the cloud. Now there’s some clever things You can do here that aren’t purely just infrastructure. You Can take advantage of some of the manage services here Straight away. So you can go straight into things on azure, Like manage instances with sql. And i’ll show you how to take Advantage of mysql and use platforms as part of this lift and shift. So you get a little Bit of that manage platform but without having to do a lot of Code rewrite. You’re taking your solution you’ve got, your Vms you’re running and move this straight into the cloud, get That level of ajillty. But this is i smaller cost benefit and a Smaller ajillty benefit than some of the modernization steps. So it comes with pros and cons. You’re not rearchitecting Things. For the most part things just work. There’s Always those caveats and networking things you have to Work through, but most for the most part, things work. You get The value of the cloud and this is a good first step. For many Solutions it shouldn’t be the last step. One of the benefits You get the ajillty but the global coverage. So suddenly Your app can deploy anywhere, right, in these 50 blue dots, And so they’re actually servers behind these blue dots, very Small servers, but you can deploy in any of these 50 and Get benefit. You can get a benefit here when you’re Deploying in azure we offer actually the only single Instance sla so you can bring those single-instance vms and Have confidence that this service is going to keep you up And running all the way out the to the fur u four nines sla that We offer with zones that we launched but a lot of focus on The regions coverage, failover between region. There’s some Unique value even just in the lift and shift step. So let me Show you a little picture here. This is what france looks like. And so if you look at france, we’ve got basically two regions In france. France central and france south. And you can see They’re very far away, the distance from them is far away. From a dr perspective, presumably a big storm shouldn’t Hit both of them. It’s quite a — france is a big country. And so deploying in both gives you extensive dr protection, Confidence. You’re in the going to go down because of some bad Weather anomaly. But they’re too far Away for synchronous Replication. The latentcy will be too high. The ren jos become Powerful. So the zoom is sort of the zoom-in on france acentral and the distance Here — it’s hard to see sort of the gauge here. It’s about five Miles between az 2 and az 3 or about 7 kilometers. And then between sort of — it is Anywhere else in the world but the us kilometers. 7 There. And between there and what we’re seeing here in az 3 is a little Bit further, right. Sew that’s about 20, 30 kilometers there. So this is close enough for synchronous. So this is a Combined ha solution that gives you four nines up in the zone Location and then the dr location into the other spot in France. So this is really — when you look at the vision of What we’ve got with dr, with zones, the combination of these Two is really the way we’re planning to move forward in a Lot of the countries that we’ve got. And no data is leaving the Country. A lot of these countries there’s rules and Regulations around data proximity and remaining locale In that country and this enables that. So you get that benefit With the lift and shift model. So i have an example of one Company here who has done quite a bit of lift and shift and took Advantage of the migration services to be able to do this In an easy way. Let me show you what they’ve done.>>We provide healthcare solutions to 180,000 physicians And hospitals, 13,000 postacute facilities. We’re a company of Mergers. As we progress into the international market space, We simply don’t have existing data centers in those regions. Being able to provide access to data centers worldwide as well As technology sets allow us to grow as a Technology company was reason for us to move to azure.>>We had one rather large acquisition, close to 1,000 vms. Within three weeks we were able to install a system, test fail Over our critical systems, determine which systems were or Were not viable for moving, and then do the actual migration. The azure site recovery also Looking at sent os and red hat. It would collect data on those Systems as it runs so we would understand what our future costs Would be. If there’s any issue with those machines we could Resynchronize and bring across if we need fo>>We lift and shift from our existing data centers into Azure. At that point we begin to refactor the code to become More native and take advantage of the full tech nolgs available To us. The the very wide and broad set of capabilities within Azure, whether it be iaas or paas or azure skwal, logic apps As your fupgss — functions Provides — to the problems we’re trying to solve. Benefit Is important to us for controlling our cost for a e Long-running, 24/7/365 applications. We’ll be able to Reduce our overall cost by up to 82.>>The impact of all scripts moving to azure has been pretty Significant. Anywhere from the way we develop our products to The financial side of things. We’ve accomplished quite a bit In azure over the last couple of years but there’s way more we Could be doing. And i’m very excited, as is the rest of the Company to see where the rest will take us.>>Very cool. So with that i wanted to actually stop and show A quick demo here of some of this technology. The demo i’m Going to show you is fairly new technology. This is something That’s not broadly available just yet. What’s exciting about This, some of the services that the gentleman mentioned and we Talking about is migration, being able to take physical Machines, move them into azure infrastructure seamlessly. A Lot of that support, then also sql server has been very easy to Move into a manage sql environment. What’s great and What i’m about to show you is we have support and are planning to Release very soon broadly support for being able to Migrate post gress and mysql running in azure. So this Allows that database migration as part of the database Migration service but into mysql. I’ve got deployed here a Dms, database migration service instance. A few examples that I’ve got here in in environment, you can see i’ve got — excuse Me. Let zoom in here. I’ve got both a mysql to mysql and then I’ve got some oracle to sql-based solutions so we can Enable that as well. Here’s one i want to show you. This is Post-gress and allows you do migrate them into a — while Still of course continuing to run your app using postgress. I’ve set this up here to kind of show you a little bit of sort of What sort of this migration looks like. And so what i’ve Got here is — this is — let’s see here. Remember my password Here. Okay. I remembered it. But i could not talk while i was remembering. We’re running a Set of orders. So the reason why i wanted to show you this, This is a database running on premises. This is databases I’ve got running and i’m creating orders. So this is Data going in. It’s going in and it’s continuously going in. What’s great about this, i’ve got another one over here queer Querying the orders. Let me show you this one. This one is Querying the orders. So you can see here — it’s got to 103 Here, and this one is up to 104. So it’s about caught up. This Is something that’s creating data and this is querying it. All this is running on premises as part of this environment. Let me actually show you what that looks like here. So here If i take this as my site here that’s running and reading these Orders, let me refresh it here and show you. Up to 109 so These order dz and creating and going and going and going so These are local hosts. I can do a very simple — i’ll just copy. Make sure i copy here the right string to connect to here. And So i can do a very simple cutover now of this environment. And so if i go here and now i’m going to cut this over into the Managed environment here in the cloud. So this is a postgress Database running in azure that i’m doing this cutover to. So For my user here, i’ve got — user, username and password Filled in, hit connect, and you can see here it’s At 117. This is running the postgress service And already caught up to the data that was being written on Premises. So that is how fast and easy that type of migration Will be. So you’ve got an app running, you can make this Switch over, and your data is moving within seconds i’m up and Running and got the data fully migrated that was being on Written on premises into that on azure. So superer simple to do That type of migration, another aspect of lift and shift that Should make that entire flow and process incredibly easy. All Right. So that’s kind of the lift and shift story. Let me Move on to perhaps the more interesting areas around on Theization and containerization. So you you’ve got all your Virtual machines and migrated your databases, now you’re Saying what’s my next step. Okay. And this is really where You container ising. The Benefits of containerization are minimal code rewrite. You’re Able to take a lot of existing solutions, vma solutions, Convert them to containers, run them in an orchestrator and not Have code change. You can get this that ajillty, deployment Time, try and on the piz the resources you’re using but again without having to do a huge Amount of code rewrite. It’s not as benefit you’ll see with Serveless and some of those aspects as well but you can get A hunl amount of benefit just from taking that step. It does Require you to containerize and there’s an easy way to do it. What’s nice about containers you see more and more platforms just Support this. So containers are effectively the zip drive of the Future, or of the now, where it’s a way to carry code, a way To carry a package. And many of these services are just going to Support it. Some of the services were built natively to Build containers but some thing like web app or batch have a lot Of capabilities but can run containers. So containers Become this standard format. You saw this in the session Yesterday, edge can run containers. We can run them any These services, run them in the edge, and it becomes that Standard format. So we have native support in a lot of these Services. Let me start out with a few. Aci, this went — very, Very exciting service. If you’re brand-new to containers And see what the hubbub is all about, this is exciting to get Started because it’s a simple command that you spin up, get a Single container, have no infrastructure to manage, you Don’t even need to know what an orchestrator is, you can get These containers from us and we’ll spin them up and deploy Them and we’ll take care of that. And so it makes it easy To spin up containers very, very fast too. This is the fastest Way to get a container in the public cloud. Seconds you can Get this up and running and we do charge per second. You make A mistake, you pay very little. Small amounts just to get this Up and running. Ooilt a great opportunity to both learn but a Great scale-out opportunity. So it allows you do extend existing Services, which i’ll show you, to be able to get very, very Fast container-based deployments on top of existing platforms. And so the scenarios that we see being used for, one, no Container — no servers have to be managed at all. There aren’t Any servers that you care about. So they’re serverless Containers. You can manage these completely on demand. So It gives you incredibly fast and agile deployment of containers Up and down really, really fast. And they are secure, right, so You can deploy these and you get this level of confidence that This is running in a secure way without having any cluster being Created or anything of this nature. You just get this up And running and you go. So this is — we are seeing this being Used for batch-based processing, seeing this used for fast Scaleup and scale down and people starting with containers, Especially particularly farm on linux side because it does have A very native linux feel to it in the way it deploys and is Managed. So when you start looking at this again, no Infrastructure to manage, fast start and stop, fast scale Without vm startup. What’s different from this? why would I use one versus the other? that’s got a very fast scaleup. When you look at service fabric, you have a lot more control over What you’re doing. You can control what place is where, you Can control the separation or the ha f o your containers, make Sure these containers are going to be deployed together so you Can control that type of proximity, this type of control And placement al Abama go go Rhythms — algorithms. I have Azure container service on the slide. Ill.Net core that. Why Would we spell it with a k? anyway, this is a fully managed Kubernates service. Ought to patching, autoupdates ut so it’s 100 Upstream. This is super important. So tooling, if You’re using kub control to be able to access this and manage This, those commands just work. It’s the full upstream Experience. You’ve got the version and controls you would Expect. So it’s fully portable. This is an important aspect. One of the biggest reasons i’ve seen it pick up a lot of steam Is this portability aspect. You can deploy on azure. If Tomorrow you want to deploy somewhere else, great, you can. You don’t have to change your app or your operations. So the Benefit of this is we’re creating a managed environment which means you don’t have to Manage the control plane or the instance who is haddinging it, But it’s still fully compatible and fully portable. So you can Still decide, okay, i’m going to develop on this and maybe Tomorrow i won’t. And of course amazing integration with our dev Tooling which you saw on stage with scott. I’ll show you more today. But amazing integration With our tooling and makes irrelevant incredibly fantastic. Huge benefit there. And i mentioned and promised bring z These two together. So serverless Kubernates is the service and a krishgs. When you Bring these two together and you’ve got this control plane And the architecture on the left and normally you would end up Deploying into vms, you deploy your pods into vms and those Pods into containers that you’re launching. So if your app Consists of a set of containers you’ve deployed and you want to Span it across four vms you use this control plan — again, a Managed control plane, so no infrastructure there — but then You’re deploying into these vms. And because you want to do koe Location or ha placement, you want to use the vms as part of The manage service. But maybe you get a lot of traffic. Maybe You suddenly get a burst, and now, what am i going to do? This is where the power of the combined aks with aci comes in Because now you can take advantage of the sefberless Containers to extend and still just Talk to the end point but you’re telling it you want the Serverless aci, so don’t spin up A vm right now. Still portable, can still move to other clouds But now you get instantaneous containers as part of this Kubernates management environment. So powerful to Bring these together and give you a nodeless kubernates Without breaking the upstream Component. This is all using a capability we call the virtual Kublet. It enables you to do this across any crowd Environment that’s got a service like aci. Super cool and Powerful. But this kublet isn’t where we end on a lot of open Source work. We have a lot of open source work we bring into The kubernates community with work around draft for kubernates Deployment, helm is a package manager, brigade and open source Solutions that we have given to the community to help make Kubernates easy to use. I recommend you play with some of These. They all can be very fun and very easy to use and many of Them are integrate window the dev tooling. So this is as — You can take advantage of many of these services and be able to Deploy again. So this is again a big part of our focus is Making kubernates great and easy to use. Let me change gears Just a little bit. So that’s the kubernates side. Service Fabric, a service that we built internally many years ago, many Years ago — actually precontainers — to be able to Run our platform. So a lot of the our platform in azure is Built on top of service fabric. The way we built service fabric is Built on microservices. It was on partitioning windows and Linux to be able to offer microservice-based solutions and It enables the life cycle around that, it enables you to hadding The updates of service fabric and enable very, very easy and Agile-based past services on top of these instances. It’s great. It can deploy azure stack, on premises even other clouds. So In some ways this is certainly supportive of containers and can Do orchestration of con r containers but the — containers But the real value is higher up. It’s the understanding of microservices and microservices health and how to deploy and Manage that into a single plaintiff’s exhibit environment. I’ll show you for you in a demo. And so one of the nice things About service fabric is it’s being able to run once and build Everywhere. We have the support for stand alone so you can run This on premises. We have dedicated clusters very similar To what i showed you with kubernates. But the latest We’re launching this week, actually, and enabling this for Customers is what we’re calling service fabric mesh. And this Is a fully managed service fabric. So this is effectively, You know, the value i talked about was that, yes, it can do Orchestration but the real value is the application model and That’s what service fabric mesh is offering. Less focused on the Container side or the container orchestration side and more Focusing on programming model, the layer above. You still use Containers to deploy but it’sless about the placement of Those containers and more about the app itself. This is a Really big step for us because it takes away all of the Management of the infrastructure underneath and leaves you with The service fabric on top. Customers have been asking for it for a long time and it’s Exciting to see this come to life. And so this again offers This fully managed microservice environment, focus development environment, managed Infrastructure shs and makes it incredibly easy to scale and Deploy while using this service fabric application model. Now i Talked about kubernates, talked a lot about service fabric, Talked a lot about aci. We’ve got a lot of partner solutions Too. And these partner solutions have been fantastic. They’ve been exciting. They all have different, unique benefits That they’re offering customers and we’re super excited to be Able to partner with each one of them in solutions, dev tooling Integration and so on. One we just mentioned at the red head Conference this morning announcing support for a fully Managed open shift platform on azure. So that announcement Just came out this morning. Another example of deep Partnership that we’ve got with partner solutions to enable Again this full breath because for a lot of customers there’s Different reasons why you target different platforms for Different services. So enabling the best of all of these is vit Cal to make sure we’re supporting you In what you need. As mentioned all of this comes Together with our dev tooling. And i’m going to show you this Here now. But the integration of docker into our dev tooling Making it so easy, it makes it so easy to take advantage of Docker in a simple and quick way. And some of the examples That you saw here on stage just yesterday morning, being able to Take advantage of cicd pipelines, ses to deploy that Hoel whole thing, with kubernates to manage that Environment, all that deeply intre grated with dev tooling. And let me actually show you the app that i’m going to build here And kind of walk you through. So it’s again a very simple Web-front end data tier, the back end is a sql vm. What i Want to do first using visual studio i mean, going to now Convert this into a container rised app and enable it to Deploy on top of service fabric and then show you some of the Benefit os f that first step on service fabric including very Fast ajillty and deployment. Show you some benefits live. That will be again this first step to cloud optimizing. I’m Assuming i’ve already lifted and shifted. So everything is up And running. I’ll show you the containerization step using the Code that i’ve got. Let me actually zoom in here and show You that. All right. So let me Go over here and actually show you the app that i’ve got. Okay. So i like to keep the theme with the smart hotel. So What i’ve got here is an app. It’s a very simple web app that I’ve got here, front end, middle tier, it’s a service that’s Offering effectively offering me to go study who has checked in And who has not. It gives me the details of who has checked In and all this is stored in a database and fairly simple Solution. Now, this is just running as i mentioned in an Iaas — oh, i may have to multifactor off here. This is Security in action, everyone, so let’s just enjoy this for a Moment. Okay. I brought my Cell phone on stage just in case. There it is. This was Not a part of the demo, just to be clear. But it’s pretty sweet That it just works. I hope. All right. There we go. It Did. It did work. All right. So what i’m going to be showing You now, now that i’m securely Connected, is iaas deployment. This is vms, sql, there’s Nothing special here running. I have a small amount of credits Left. You think they’d give me more. And so here i’ve got this Web app and i’m running. Okay. Great. So let me go to the Code. So as i mentioned, it’s a web front end and the services Back end tier, you can see the full app is here and deployed And so this is just running kind of what you’d expect, nothing Sort of special here. Here’s what’s great. I decide i’m Going to go ahead and i’m going to containerise this guy. Docker support for service fabric. Just hit add and this Will add this to my environment here. Let me go back because i Want to add both. Let me get this down here. Oops. There we Go. And then let’s see — i added that to the web one, so Let me go add it here. Okay. And so now i’ve added it to Both. So the first thing you’ll see here — oops — is docker File. So this is — again, i don’t really need to know or Care, but it ought to generates the docker file for me. So this Is the file that’s telling me how those containers are going To be built when i deploy them. You can see it’s pulling from an Asp.Net container, basically a standard container. So it Deduces that’s the container that’s needed and then setting This up and setting up my environment here. And so you Can see if i click in here to serviceman fest here, you can See it’s got sort of all the details i would expect — i’ll Go down here — and you can see the parameters that i don’t have To change but i can, things like whether i want to run with more Instances, so this launches with just one instance of each, but i Can launch it with more, but also isolation. I can decide What type of container deployment do you want to deploy In service fabric, hyperv based or take advantage of a lot more Tight packing and take advantage of the resources below which Means those containers trust each other as part of this. And So very, very simple. And you can see easily created and then I can go here and hit pub lsh and then straight from here, ki Go and publish straight into a service fabric cluster running In the cloud. And so it’s easier once it loads them. There they are. Instead of service fabric clusters i can Pick. So if i wanted to deploy to this smart hotel service Fabric clus r, i’d pick a registry. So this will allow me To store my container and deploy it from there. And then i can Go ahead and hit publish. I won’t do that right now and oom Not going to save those changes but you can see how fast and Simple i’ve spun up a service fabric cluster and Containerrised this app with a few clicks. And that’s going to Launch. And very kind of simple let me show you this is actually Just the exact application. So it should look very similar. I Guess it’s pulling from a different database. This is the One that’s running from the container-based solution and This was running the original iaas solution. So the exact Same thing running in both. So this is the service fabric view Of what’s running. So i’ve spun this up, got five nodes. As i Mentioned this is running on azure virtual machines. One app Deployed. So you can see here, sheer the web front end, so you Can see here the web front end as part of this, and then i’ve Got the wcf portion of the app here. Okay. And so as part of This, again, one instance each, but they’re each deployed and They’re running and taking the traffic that i need. If i say, You know, i may 23450edz need a little bit more capacity, so let Me actually show you this few. These are my five nodes. They’re relatively empty. I’ve got a lot of room here and a lot Of opportunity to grow. So if i go here and actually say this is Where the ajillty comes in, guys. If i go here and say 2 And let me go to the second one and say 2, okay, and so now Watching we’ve got — just launched. So i’ve got another One. It’s taking the traffic on my front end and there it went. I can take more traffic on my back end. This is — when People say agile containers, that’s what it means, right. So Now i’ve got this solution running which is service fabric, Same exact experiences can be done on something like Kubernates and you can scale as needed. And because those nodes Are there and it’s going to go find the optimal place you can See it didn’t stack on any node. It used the other nodes that Were available to try and spread it out. Once those fill and There’s one across each, it’ll start going to 2 and 3 until it Running out of capacity. Then you’ve got to add another vm. But this allows i don’t tow take advantage of the on theization And ajillty while still no code was written, right, other than The right click and containerrise. For a lot of Your mrgs it’s that simple to containerise your solution and Go. All right. So the last step which is the — probably The biggest one of the set, which is modernization. So now You’ve got things containerrised. Now you want to Hear about all the new cool stuff, serverless, et cetera, How do i get there? this does require more code work, requires You to develop more, requires you to — and that’s great. I Think that’s what this room is looking for. But it requires Changes to an existing app typically or adding to an Existing app. It’s a combination of services that You’re going to see, it’s a combination of data and compute Services that we walk through and i’m going to show you a lot Of the real power that we’ve got here. So first just to kind of A few of what this means and sort of how this all fits in, as You make this progression here from left to right, from on Premises to iaas, that lift and shift motion, then paas and Serverless on the right are really allowing you again more Ajillty, easier deployment, easier management, and lower Cost. And you can see serverless is what’s all the way To the far right. You may be saying i’ve heard this term Serverless, but what is this? what does this mean to me? why Do i care about serverless? well, i’m glad you asked me that Because i happened to make a slide about it. Serverless is About building apps faster. It’s about managing your apps Versus your servers. It’s an obvious name. You can reduce Your devops and the cost associated with devops and get Much faster time to market. And the reason for this, again, is because there’s no Infrastructure to manage. And in many cases like function and Logic apps they’re fully event-driven. So this means They sit idle until you tell them to do something, which of Course reduces your cost and also reduces a lot of the risk Of code going bad or code gol stale f it runs for too long, do You have memory don’t need a keyed to run any Longer than you need it and you don’t need to pay anyone to run Your code any longer than you need it. Typically events are Associated with serverless because event-driven is what Makes serverless so powerful. There’s serverless aspects that Don’t require events to be a part of it but the cli events Are a part of the serverless concoction. That’s why i love To talk about event grid at this point. Event grid is a fairly New service on the platform that allows fully event routing. These guys are running some code. They’re sit thering and Waiting to have their code run. The key thing about why eventing Needed to change to make serverless work is because the Whole principal of serverless is these things aren’t doing Anything until they need to run which means pulling can’t Happen. This is pulling is a thing of the past. Everything Need to be event-driven and push. Nothing should be pull. And this is why event grid — this is why we created event Grid because a pulling-based messaging system will not work In serverless because you have to wake up and listen versus a Push is really the key. That’s what event grid does. It’s Basically a fully managed event routes push system. It has a Lot of cool things about it. Because it’s a push system maybe Your app happens to be down for a moment when it tries to push It into, it gives 24 hours before it gives up. So it’s Going to keep pushing you until you listen. It can do dead Letters so you can put ut off into storage and say i mised This event, i better go look and why, what happened, no one Picked this up even though i pushed it. It’s connected with A lot of services but can be used with external services too. The announcement we made on friday which is one of the Coolest announcements blogs that i think i’ve written was about Cloud event. So this is a new open source standard as part of Cncf, so an open standard body, folks like ibm, google, aws are All involved, that is an event standard which means you’re not Looked into any event exclusion, that we support gnatively with Event grid. Event grid can publish in this standard and Listen in this standard which means you can have things runs In aws and use event grid and go off to gcp if you want to. T so This ability to have eventing truly be a global phenomenon and Take advantage of the service was that You want with this open source and it’s available today. We launched it on friday with the Announcement of the 0.1 Version. To give you a view of What this means coming together, you can see from our perspective The cloud event story, lots of events coming in. Services that We’ve built, so whether it be things like media services or Blobs, service bus, things can create event in event grid, you Can also have custom events, so your apps can create events with Us, no problem. So you run an app, you want to create an Event, do it. We can take in cloud events, publish in cloud Events and on the right side listening to these eventing Being the push of these events and being able to react and run Code. We also have the about to of course take more and buffer More events out, things like an event hub which is a way of Stroering, a streaming way, so you can run other code and fire What you want. This cloud event very, very exciting. I believe This is the entire standard here. So it’s a pretty simple Standard, pretty simple format. But very, very exciting across Environments. I believe eventing will be the most Portable solutions that exist and i believe it will open the Door on what serverless can really be. Imagine running an Iit device and you’re stuck with what cloud provider you run your Events for. That’s nonsense. This now enables you to not Care. You run it to cloud events and everyone presumably Will be able to listen and act on it. So let me talk a little Bit about the services now because these services are super Cool. So first let me start with azure functions. So azure Functions is our code-based serverless product. On-command Serverless code allows you do develop, debug, develop in Visual studio, which i’ll show you, you can do visual studio or Visual studio for mac, all f o this local. This is one of the Hardest parts we’ve seen in serverless, is not how easy it Is to make agile-based changes but how easy it is to make Mistakes. It’s one of the how fast you can go update also Means how fast you can go ruin your application. It’s very, Very easy to make mistakes because it’s hard to debug. This is where the integration with visual studio is so Powerful that i’m going to show you. Cicd support as part of updating these directly and Deploy changes as part of this. The aspect of functions that i Don’t have here but it’s super powerful is you put them in a Container and run them anywhere. It’s open source solutions. Azure can run in a container and can run anywhere. That’s why It’s a big part of the ito edge strategy. These ito devices can Run these same functions that you debugged on your pc. So Powerful and something we’re seeing a huge amount of growth On in the platform. On top of that, logic apps, logic apps Offers the ability to do on-demand serverless work flows. And so what this allows i don’t tow do is allows you to connect With many, many different services. You saw jeff demo This during the keynote yesterday. So it’s serverless Just like functions but focused on work flow versus code. So You’re using this, connecting different aspects of your Solution, making decisions based on the outcomes of those Solutions and firing off other events, other actions based on That. And again also deeply integrated with visual studio Tooling. And i like to put in services here in the mix because For many of these sefberless solutions we’re talking about, many of them end up involving Cognitive services somewhere in the flow because ai lot of the Things when you start looking at graffiti, i lift anded shifted, Then i containerrised now i want to do some modernization, a lot Of that is additive capabilities. So i’ve got my App, it’s running, so i want to run some analysis on the types Of information coming in, i want to do sentiment analysis on That, study the pictures that are coming in through our Service. That can be additive modernization without touching Your xesing app. And that’s why we see a hunl amount of Event-based functions, logic apps with cognitive services Things like vision speech, language knowledge search all Being additive services to the ones being deployed. And what’s So cool about this is you can make these custom learned. So They’re not just based on some set of knowledge we have. They’re based on a set of custom training that you’re given. And A good example of this, obviously you saw the picture Training as part of keynote, the other one that i like to talk About is we work window a gaming company and they had a unique Language. Not a lot of people have this same problem that Needs to be solved but think Created a language — i think it was clingon — i don’t know if That’s copyrighted — so they needed to be cognitive about Clingon so trained the server to reasonable person this language. And i believe they got some of the speech working as well which Is interesting. Maybe a good example of sort of how this can All come together and all the pieces come together. And then Sort of the last point here when i talk about serverless, i have To talk about data and when you think about the data model you Start thinking about the serverless pieces coming to the With things like function, things like logic apps, Cognitive services being use anded the data model underneath, Things like mongo being written With cosmos db and you truly have a portable and global serverless application. When i Think of the future of what applications look like, i see That picture taking shape. So if you take a look at these Gigantic logos, they looked a lot smaller on my lap Top, this view of cosmos db being this Back end, this data back end that’s global, no sql, Multimaster writes, multiple models, open source portable Models, like mongo, this being the back end, simple click and Replicate and using these serverless servers on top, Whether it be container-based management with something like Kubernates and aks, whether it Be service fabric, this layer as good the way applications will Be written moving forward because you’ve got stateless Solutions on top with this global data model underneath. Making it easy to update and manage and creates a much Simpler global application story with again without any servers That you have to manage and of course for paying for what You’re using in every one of these cases. Let me show you One example of a customer who has done a pretty amazing work. Pretty exciting to see some of the work they’re doing. Let me Play this right now.>>There’s over 3.5 Million Trucks on the road every day. Customers want to know where Their freight is in real time. We have reached a limit of that capability>>We migrate to azure to handle 18 billion integration points And 8 billion transactions. We are moving from 2100 Applications to one platform>>we have linux, windows, and Java that we needed to migrate. We didn’t have to rearchitect Those applications in order to move them to the cloud. The Hybrid cloud enabled us to move the workloads that made sense And continue to operate our business>>Using team services to ge grate with our platform we used To build out our containers and deploy directly into the Kubernates cluster. You click a button in azure and it’s there. Kubernates has enautomobiled us to create new features quickly And integrate those with our production revenue systems>>Azure gave us the ability to not earn niz and lift and shift Our systems but do it simultaneously so we could grow As our revenue grew>>being able to shift our Workloads was a primary advantage for moving to azure>>The i never fall behind on the patches or the security. I’ll be getting upgraded along with the microsoft technology>>Microsoft didn’t ask us to bend to their vision of a cloud>>It’s not a cookie cut r approach. It’s not an old Trucking company.>>It’s a digital company, one That really leverages information and data to make Decisions every day. We just tapped the potential of azure>>And we are disrupting the industry. Super cool. I sometimes wish maybe for like a day i can swap Jobs and just drive a truck. That would be fun, i think. Dangerous for all of you, i think, just to be clear. It’s Probably safer for me to be at my current job. Super cool, you See some benefits of being able to take advantage of a lot of These services. We come now and pull all those pieces together Into this demo environment. We’ve containerrised this thing, It’s running on top of service fabric clusters as a part of Those container solutions. Now i’m going to to crazy. I want To add twitter, want to track sentiment from customers. So I’m adding value to my solution, taking that twitter, basically Doing this initial assessment, putting it cosmos db so i can Track those tweets. I go a sentiment analysis using an Azure function, i’ll actually debug that function and then i Need to add this to a service fabric service to put this into My app. That’s going to be the next demo. I’ll just demo for The rest of the time. So i want to start here with logic apps. Okay. And so you sere here i’ve got logic apps deployed. I’m Going to go into the designer. And so i want to show you what This is going to do. So here you can see the designer. This Is super powerful. If you haven’t played in this designer, I highly recommend it here. This is starting by doing Integration with twitter. So it’s saying, hey, whenever smart Hotel is in the tweet text, i take some action again it. And It gives me the frequency and so on and using this connection Here. So i’m going to go ahead — i’ve got a tweet here Ready to go. I’ll tweet this just to get this up and running. What’s it going to do? because i’m in test mode, it’s going to Actually validate this is coming from me. So i don’t want to do This work against a whole bufrm of other tweets. So it Validates — i will remove this once i’m done testing this. It Drops this into cosmos db. And so very simple did sh this is a Trivial amount of code i’ve written to make this work. So You can see here it takes in the information that’s coming from Twitter, the location, tweet text, username and drop this Into document db so i can go study it and so on. So what This does, what’s great about logic apps here is i can go in And see when this is fired and when this is triggered. So here You can see this is fired here. Is this this morning? there you Go. So fired this morning, triggered and i can go in and Stee status of what happened and sort of the output that happened Here. So that’s great. It looks like it worked. Let me Come back here. Great. So let’s go over to my cosmos db Solution. So here cosmos db — let me show you this off. So Here you can see cosmos db. I’ve got this database and it’s Running and where i’m replicating things. And to show You an example of how easy this is, i clicked here into data Replication, now i can just within seconds decide where in The world i want to replicate my data. You know what, i want This to go to south india, i can hit save and this will start Replicating my data. It’s that sifrp toll get global-based data Deployment. I won’t do that now. I’ll go to my data Explorer. Okay. So i’ve got to see the data that’s coming from Here. And so i’m building this app now. I’ve gotten logic app Up and running. Let’s see if i can see this. Okay. Great. So It looks like — it looks like i’ve got this here. Zoom down Here. Okay. So you can see here small hotels pretty good, Right. That was the tweet i just tweeted. Logic apps picked It up, dropped it in here. That was step one. Logic apps Listening to twitter, dropping it cosmos db. If i want to Replicate cosmos db globally, great. What’s great about this, There’s many other things you can do as part of this. And so For this solution, i actually have a much more complex one That i could do. I could go in and say, great, i’ve got a tweet Posted, let’s say people put a picture in. I can extract Media, drop it into a storage account and take action on that. So by dropping it into a storage account i can go in and actually Run an event grid-based solution. So if i drop back Home here and say let’s open up this storage account, so even Time people put a picture in, i can go in here and you can see Events, and i want to set this up. So here’s what’s great. You saw this a little bit in slides this morning. Let me Show you this in action here. If i go to events here under Storage and let’s say i say people are putting in videos, i Hit create here and this is now just create k an event grid Pipeline for me. So i don’t even know — i don’t even care That event grid is being used here, but it wires me up and I’ve already got my accounts configured because i’ve used This before and it wires me up. So here you can see when an Event occurs. But this is a grid event tha i didn’t have to Create. I hit go. So this is sort of where you see a rot of The power of serverless becoming a reality so you don’t have to Think. You can basically just use and enables a lot of power Here. You can see here this is taking this event, it’s going to Run a condition, and then it’s going to basic live use some of The sentiment capabilities to be able to run this video and Create basically a full segmentation of that video for Me to use. Let he get back to the actual tweets that i’ve got Here. These tweets didn’t have pictures so it didn’t go through That pipeline. The tweets i’ve got here, one of the things i’ve Noticed, i’ve got now a function that i’m running the is having a Problem, okay. This function seems to be failing, truncating A bunch of my tweets. This function is built as part of my Sentiment analysis and i happen to have the code here, right Here in visual studio. This is my function, this is visual Studio enabling me to go do this. You can see it’s Actually — if i actually go here to local settings here, That’s pulling from that same cosmos db that i was just on, Right, so it’s pulling and pulling from that. So that’s When the function is doing, it’s looking for updates there. So If i go back here to the actual code, you can see this is where It’s basically creating the list of tweets and doing some Analysis. So i’m going to go ahead and add a break point Here. Rets do a break point here. And then i’m going to do A break point inside here because this is where we Truncate, so i kind of want to see what’s going on here. Okay. If i hit go, here’s what’s happening. I’m building this Function locally and i’m spinning it up locally with Ascii art. And what i’m doing here, the value of this is this Doesn’t need to run in the cloud. This is allowing me to Run and debug it locally and actually there were already Things in cosmos db and it already hit my break point. I Had more things to say but here we are. So you can see here tl A couple of tweets in there that are — let me go down to Documents and show you. So if you look here at the tweets that We’ve got, there are a couple in there. And so — let’s zoom This over here. Oops. Okay. Great. So let me actually get To — let me play it through here. Hit continue. It looks Like this one hit the break point. So this one is Truncating my tweet. And so if you see here, if i hover over This, the tweet text is very, very long. So you can quickly See what the bug is presumably. It looks like i put some code in Here that the tweet isn’t more than 140 characters, which used To be the rules of twitter — no longer is. So it’s getting Truncated so you see it’s giving me this warning. I can see that It’s 219 as the length and it’s truncating it and that’s why I’ve got my problem here. And so then the second one that Comes through i actually don’t have as much of a problem, so This one is actually the one that i just tweeted, right, and That one is going to go through just fine. If i continue Through, that will not hit the second great point. Here’s the Output of the function running, so you can see here this one is Saying it got cut off. So this one ended up being more than 140 Characters so that’s no good. This one is the one i tweeted Through, and that one looks like it’s working. It gives me that Score of high so that worked very well. So i can say great, That’s fantastic, let me start debugging and i can fix my code. So i think it’s 240 now, right? 280? 240? what’s the maximum Twitter. 280. Like any good developer rgs i’ll update that To 280 and be done. Whoa, whoa. Don’t forget the comments. All Right. And so with that, i can go and build and deploy that. I’ve done this local debugging, i’ve done this local analysis of The code, and it’s integrated with that entire environment. And so now i can go back and i can publish all of that. If i Go in here and actually change — let me go back here. This is a dev environment. If i go back to my logic app, this is All going through my dev environment, dev cosmos db, if i Want to change that and say, you know what, actually i’m going to Now make this go back to my production site. So it’s Setting debugging site. I want to go back to prod site. Now This is back up and running in full production mode. So if i Go back in and say let’s see here Here, it’s much better now, okay, if i do that, so what is Going to now do is basically going to go and deploy that and It’s going to run through the system and the function now has Been fixed and deployed and it’ll allow that all to work. The last step of this app modernization, i’ve got through And added logic apps to pull from twitter, sentiment analysis Using a function, i’m now using cosmos db which can have global Replication for that data storage what those tweets are k Looking like, now i need a part of my service to change so i can Pull from cosmos db with the sentiment score already done and Add that into my web site, okay. And so what’s beautiful and the Reason why doing this originally with service fabric allows a lot More capability, i’ve got this app running and this is the Containerrised app but no additional services on top, and Now what i can do is say great, i have a new service i need to Add. So here i can go in and basically say new service, Service fabric, this is a service fabric environment here, So this allows me to go in and pick and deploy actually what Additional service ift i want. So this case, because it’s just Reading from cosmos db and creating basically a web api That is read by the web site, ill i’ll make it my sentiment Analysis service, okay, so let me just create that. And i want An api, right. So it’s creating an api that will expose it to The res of my service. And just like that aye got it to the rest Of my environment. I can deploy this and now i’m running in that Same service fabric environment with this additional service Deployed. So this is just super simple because this looks and Feels and touches just like you’d expect a web api to look. So if i go in here and go into my values controller, here you Can see what you’d ex-peck, just the normal api controls that i Can go type in and leverage, right. So i actual hi happen to Have done this already. So let me zoom over here to a finished Product here. So this is again that Web api. It’s pulling from the repository, pulling from it, Creating and returning the sentiment analysis and what that Tweet looks like that can then be used as part of my service. A right click publish, this app is up and running, running in The service fabric cluster, and away i go. Let me actually show The finished — that’s the dancing box here. Look at that. Let’s watch that for a minute. No, just kidding. Let me go Back to the finished app. So here i’ve got my finished app. Let me refresh it here. So i’ve got sentiments up here, sort of A new section that i’ve got. If i click here, you’ll see — and There’s the one that just piped through. So this one just came Through, and shows here the sentiment analysis that i Tweeted myself. And so here you can see this is the tweet and Some of the other tweets that have gone through. Again this Is the service that’s been crated. This is a paas service, Running on top of service fabric, pulling on top of cosmos Db after using logic apps to pull from twitter. This is Really taking that modernization sort of a muchl deeper step Forward and allows you do put all those pieces together in Sort of a very, very coherent way. All right. Let me slide Back here and finish up with the slides. And so this is the app. This is the app that i just showed you, the app that we Modernized. You can see how you can add value to the apps you’ve Already got, taking advantage of containerization and app modernization as part of it. And so when you look at this whole motion, this whole cloud Maturity motion from left to right starting from existing Apps to app modernization, you can go any which way you want. You can find the right path and progression but this is the Overall motion that f you’ve got. It’s the modernization Journey that you’re going to to want to take with many if not All of your apps. Start thinking of how you’re going to Get there. Small steps or big steps, completely up to you,. If you’re wondering where this code is, it’s available online So you can take a look at what we’ve done here. I talked about The migrate to azure capabilities and getting started In a very easy way. The last thing i’ll leave you with is one More customer video just to show you a customer that’s again Taking hunl advantage of both the mi — huge advantage of both The migration and the modernization capabilities. Chevron has been in business for over 100 years. We do Business in over 30 countries. We’ve always seen technology as A differentiateor for our business. The speed is never Achieved before. We can manage greater volumes of data. We Believe cloud makes us more secure. We can patch our Infrastructure faster if it’s cloud in the structure. Chevron As an application portfolio of approximately 6,000 Applications. We had interested in moving as many of those to The cloud as we can.>>We started basic, very Quickly moved on to the ia basic and now we continue to enhance These automated pipelines>>through automation, we get Better reliability, the ability To manage platforms using modern architectures>>We were taking a two-prong approach on how we do this so we Could migrate as fast as we can and target our modernization Efforts on our legacy systems. Azure site recovery is allowing Us to do the lift and shift component of our migration. It Really allows us to automate our disaster recovery as well as our Production environments over into azure>>one of the reasons we focused On paas versus we can drop some of those infrastructure costs to Help fund the migration. Microsoft has been very flexible In s to make It cost effective for us>>the experience of working on Cloud migration, i would call it liberating.>>We know other companies can Bring technology but they don’t bring the resources to help you Apply it. Microsoft understands enterprise better than anyone And they’ve been true partners with us on this journey. We’re Pretty excited about where we are, but we’re most excited About what we can do tomorrow.>>And i’m very excited about What you guys can all do with these services and solutions i Just showed you. With that, thank you so much. I hope you Enjoy the rest of build. And please enjoy it. I don’t know.