How to Migrate Windows Applications to Google Cloud (Cloud Next '18)
![How to Migrate Windows Applications to Google Cloud (Cloud Next '18) How to Migrate Windows Applications to Google Cloud (Cloud Next '18)](/pic/how_to_migrate_windows_applications_to_google_cloud_cloud_next_18_/R0tHcHFMTXJGbUE_.jpeg)
It's. A good afternoon everybody welcome to the session today, really. Glad that everyone is here hopefully everyone has been enjoying Google, next can. I get a pulse. Is everyone enjoying Google next. Awesome. Great so. My name is Amrita, I'm a product manager on the Google compute engine I'm joined, here today with Simon, and together. We're gonna go through all the content and demos that we have planned today. So. Let's get started. So. Before we going to go in let's kind of see what we're gonna talk about for the next 15 minutes or so the. First is I'm gonna talk a little bit about. Why. You, should bring your Windows Server well close to Google cloud we're going to talk about some of the features on the platform, that customers, really love and choose. TCP. For that then. We're going to go through to customer, journeys if we see most commonly we, have customers, faced. With the problem of hey, I have all this legacy applications, and I really need to move off by private data center into, a cloud with, minimal refactoring, in a very time-bound fashion, so we're gonna talk a little bit about all the support that we have on the platform for that and then. There's a second customer journey that is very common which is around. Hey, I want to move to the cloud but, I want to actually, make. Sure that the legacy applications, or the. Applications, I have actually. Use cloud, services. Kind, of have auto-scaling, reliability. Without me having to write any code and, we're gonna go and take, a, look at what support, we have for. That journey and. Simon. Is then gonna help actually. Put all those tools that I talked about to use and demo, how we can take an application and move, it in these two different fashions. In. The end we're gonna have Q&A and Simon, and I will also stay back so if, there is content that you do, not see or have a lot of questions feel free to reach out to us. So. Let's get started why bring your were close to GCP.
Specifically. For Windows Server we've, been investing, a lot in Windows Server all the way since 2015, that's when we launched our very, first Windows server image. Since, then there have been a lot of improvements, specifically. For windows and sequels over we, have a wide, variety of images, to choose from both for, Windows. And sequel, different, versions different editions we've, also built a lot of features that are required for, enterprise, ready workloads, so, enterprises, one support, for clustering, they want to support for high availability they. Want the methods that work on premise to also work on cloud and we now have support, for that from. The developer, site if you are a.net developer on. Google cloud we've also built in a bunch of tooling, for visual. Studios PowerShell, and, stag, driver for, asp.net, logging. And monitoring. In. The last nine months based on the customer feedback we've been focusing on two major areas. Migration. And security, for. Migration, I'll go into a little bit detail as to what support, we have and. In terms of security to things that we've worked on is private, IP support we heard loud and clear that you want to make sure that there is only private IPS on your windows VMs and your sequel VMs and that's in preview now going. Our public very, soon so. We're. Also gonna very excited, to announce some features. Around secure boot which. Apply to both Windows and sequel, server VMs, now, that session on shielded. VMs is, the product is tomorrow. So please stay tuned for announcements, around that in the keynote as well, as a deep dive session, at 11 o'clock. So. I'm going to go to three reasons, as to why customers. Specifically. For Windows love, bringing their workflows to GCP the. First one is performance. When. You bring your applications. With its windows sequel server or net, you're actually running on the same infrastructure, that Google runs on your. Traffic. Never, leaves, the Google Fiber even. When you're going across datacenters, but. What does that mean for you that. Basically means that you get superfast. Latencies. Consistent. Throughput you get all, the improvements that we put into performance. To make sure that VMs put up fast you can have, a large, number of VMs boot up so customers don't need to keep these pools of warm VMs, ready. And. You.
Actually Get the. Of our Google Network, for. You so things like we've. Had a lot of tests, around how, our network, compares, to the others how, some of our products like GCS, which is Google, Cloud Storage and Google compute engine compare, so, there is a site, called cloud benchmark, comm, where. We've published some of these test results and I highly encourage you to kind of go and take a look at that. The. Second is price our. Philosophy has always been to keep, pricing, simple, flexible and try to offer you the best price we've. Have products, like sustained, use discount where we, monitor your workload if you're running at steady state we automatically, give you a discount, we. Have things like right sizing recommendations, that are constantly, monitoring, your workload, and making, sure we give you recommendations that. Will save you and recommend. The right configuration. We. Have features like per second building if that. Is something that you can use. To kind of get the maximum, out of making, sure that your VM you pay for the VMS only, up till today are used. One. Feature I really like to talk about especially with, windows and sequel server when you're running licensed, software on VMs these, licenses. Charge, on a pervy CPU. So. When you have features like custom VMs, and extended memory you can actually get a lot of cost savings so. A lot of customers, especially when they're running sequel server they want to go for the n1 16, and the, first bar over there shows you what the estimated, cost of running Windows with the licenses, is for a month for, n1, 16, but. Let's say you're running that not because you need 16 B CPUs but you really need that 104 gigabytes of memory because, your workload is memory intensive you. Can actually get that using, custom VMs and extended VMs on a VM. Which, has lower, V CPUs so, if you want to work with the 8 core 10 core 12 core VM and not a 16 core VM you can actually size that and that makes a huge difference in the, price that you pay for licensing. As well as the base VM. The. The, next reason that a lot, of customers really like is security so, at, Google we have this policy as we trust nothing, we. Build a lot of purpose-built. Hardware to, make sure that we have the full history of the stack that we run on, Titan. Is an example it is a custom, security chip, that, provides route of trust on. Every GCP device our. Investments. In making sure that we detect, vulnerabilities. Early, and make sure that we patch our host systems, without. Any performance, or downtime. For our customers and project, zero which is the. Spectra, or meltdown, vulnerabilities. Is a great example of that. Specifically. For Windows I'd like to repeat that we've. Heard that customers, really want private IP support for Windows VMs and that's available today if you click on that link, or come to me later you, know you can sign up and you'll have that available, for your projects, soon. We. Also have some really fun announcements. Which unfortunately I can't disclose but do you attend the session tomorrow at eleven forty to learn about secure. Boot and a bunch of other features for Windows VMs. Lastly. Reliability. And I mentioned reliability, because, as we're, patching, hosts, or us we are doing our maintenance to make sure you have the most secure platform we. Can do that without having to reboot your machines, or give you any application, downtime and this is possible because we have technology is like live migration. So. These are some of the reasons we're customers.
Like To come to the Google cloud platform they. Get the best performance for. The best price. They're. Guaranteed, that the systems, are secure and reliable and, overall. You have a great experience running your workloads on our platform, so. Now. Let's take our second. Part right, let's. Talk about a customer, journey so a lot of our customers have. Been running their datacenters for many years they have a lot of legacy applications. And, they. Now want to move to the cloud right, they, don't want to refactor because they have thousands of thousands of applications and they want to move as is with, minimal refactoring, in a, very short time period, so. The question is for customers, with, such Windows and sequel server workloads, what support do we have foot in on the platform for them so. Let's look at a little bit about that. One. Question I get asked a lot and therefore I like to address this up front is what. Flavors of Windows to use, you know you support the, latest favors but we do understand, that some customers need. To have their own time frame how they upgrade so we also have support for legacy, OSS, so. In a you know with the latest and the greatest which, is 1709, and 1803 images we, also have via, our migration tooling, support for legacy OSS, like 2003. And 2008. Are one. When. Customers. Wanted migrate they like. To know ok great the platform supports this version how. Do I actually migrate, and over. The last few months we've been working a lot on our migration, story giving. You different options, based on your scenarios. There. Are three options that I would like to go through today, one. Is the virtual disk import the second one is, our. VM. Migration, capabilities through. Belle Estrada and the, third one is cloud into your the. First one is really good if you have a few, golden images or a full golden disks and that's the way you'll want to spin up your infrastructure, on-premise, and. This use the same, image. To spin up your infrastructure, on the cloud. We. Recently announced our, acquisition, of Bella strata and that's adds a really rich set of capabilities to. Orchestrate. Mass migrations. Last. But not the least we have a great partnership, with cloud, and your and have, helped move many customers, over. Using. Their SAS based VM migration, tooling. So. Let's dig, into this a little bit more so. What is the virtual disk import, a lot. Of customers, have. What. You call golden, images, or golden disks now this is your software, your scripts and everything, pulled, into one that is certified. By your. IT. Or security admins and this. Is what is your source of truth for spinning up infrastructure, on premise. And you probably want to use that seam on cloud. When you spin up infrastructure, there so, we have a really simple command line tool which, you can download and with a few simple commands, you can actually convert. That disk. Into an image in Google Cloud and just. Like you spin up infrastructure, using our images, you can use this custom in to spin up infrastructure. The. Same way as you can import, you can also export, from. GCE. Using. The same command-line tool. Next. I'd like to talk a little bit about Val, Estrada as I mentioned. Veloz. Rada has an enterprise-grade, migration. Tooling and we're very very happy that. They are now part of Google, and all these capabilities are now available to, our customers within, the platform, what. Is unique about the, Velo. Strada offering, is they have a unique, streaming, technology, now. What this does is it streams, the virtual machine, on. Demand, and you can actually have that VM, booted, in, Google, cloud without having, all the disks moved over now. In most migration, technology, is you actually have a full copy, of the entire VM, state all the disks attached to it and then, you're able to boot it what, this really gives you is the flexibility, of having that VM boot up in minutes, verify. That your applications, look good and then give a thumbs-up and continue, that migration story or thumbs. Down reboot, start, again you, can also do things like right-size your VMs add. Different. Policies and checks and then kind of continue your migration journey so, it gives you a lot of flexibility. The. Second thing to note about Val. Estrada is it integrates really well with. VMware. So these fear and recenter api is they've. Done a great job in making sure that that works really well so if you have Windows Server workloads, or sequel server workloads, running on vmware this, provides, you a, seamless, way to kind of move your workloads, from, your.
VMware Workloads, on-premise, to, GCP. We've. Had a lot of sessions, that probably talked about this and I'm happy to go into more details. Let's. Talk about our third solution so we've been working with cloud and your for. Over 18 months they're a great partner and have helped multiple, enterprise, customers. Move this, is a great solution if, you're working in. A multi cloud. Environment, so, cloud. Into your solution is really good and moving from any source to, GCP. We. Have the, way they migrate is through block, replication, and they. Have support for all favors, of windows as well as Linux. So. You have three different options based, on your requirements, based on your workloads, based on your timeline, you. Can move, and pick, and choose and move your workflows to GCP, we. Also understand, that. In. Migrations, you probably need more support than just information about tooling, so, we have an organization, which is the professional services, organization and. This, organization has. Worked with many of our enterprise customers, to assess. Their. Enterprise environment, understand. The needs of it do, a POC, and then figure out what is the best strategy to migrate to Google cloud so. If you go to cloud google.com, slash, solution. Slash. Migration. Center you'll have a lot more information about the different plans available. Great. So we talked a little bit about Windows, servers we talked about the migration tooling, now, let's talk about your, back-end so a lot of the windows darknet. Applications. That we have have sequel server as the backend so, customers ask me what, are the images you support just. Like windows who you try to support all flavors, and versions, of sequel, server and you, also have to support for two ways to license it you, can use our images and you can pay as you use or. You. Could actually have. Your. Sequel server licenses, brought in if you have Software, Assurance and. That gives you an ability to bring over your licenses, through licensed mobility. When. We think about sequel, server migrations. Customers, have different parts some, of our customers use the, migration. Tooling that we just. Spoke about and, some, of our customers have different, approaches to do that so. I'd like to talk about three approaches, so the first one is a lot of customers just spin up sequel server VMs, on GCE and then, they do a restore and backup of their data from. On-premise on the Google cloud. The. Second option is we went through a bunch of our migration tooling, and if, you have specifically. If you're trying to bring your own copy of sequel server with the license included a lot, of our customers use some of the migration tooling that we just showcased. And the. Last one is lock shipping so a lot of customers try to do an availability, group they have a Dr. Sequel. Server on Google cloud and they, try to use replication. Or log shipping natively supported, technologies and sequel server to cut over. So. Now that you've actually cut over and landed your sequel server VM on GCE, you have your application, stack, how, do you ensure that you get some of the enterprise gage features, so. We. Have support for the. Two major. Recommendations. From Microsoft, for having, highly available sequel, servers on-premise so. The first one is availability, groups so you're probably familiar with always-on, availability, groups and. We have support for that we. Have it gives you like a, regionally. Highly available configuration. You can keep your sequel nodes in the, same in two different zones in the same region or you can have them cross region, the, good thing about this is it's a multi-site, failover clustering and. You really don't need a load balancer for, it so if you look at the documentation, that we have, with. Just some simple. Networking. Rules and routing you can actually have, the set up really quickly. We. Have a simple. Click to deploy template, so if you go to our cloud marketplace, and, search. For sequel server always-on, availability, groups you, will see a template and with one click you can actually deploy, this and test. It out. The. Second option we see and this is typically, for sequel. Server VMs. That are running before 2012. So, a lot of customers, have physical, sands they have their databases connected, to that a, lot, of customers who. Have queries. Which are cross database, still want to have this. Configuration for sequel server HEA and, the. Way to kind of support that is we are.
Now, Figuring. Out how we can build a virtual SAN on, Google, cloud and then have both your primary, and secondary nodes. Connect to it so, the way we have enabled this technology, is by using, storage. Space direct, which is a feature supported. In Windows Server 2016. What, this feature allows you to do is it allows you to cluster, all the, disks attached to, the various nodes that you have provisioned, in a Windows cluster and present. That as a single volume to. Both. The. Nodes on the system so, this is really cool it actually gives you a virtual Sun at a very low cost it, replicates. Your data across these disks, giving. You a pretty highly, reliable solution. So. We have support for that we, have detailed, documentation, and just like the first use, case we, have a one-click deployment, template for that too. The. Third option is we've worked with s iOS who's. A partner, and they have a solution called data keeper and this. Is very similar to the sequel server FCI solution, where they you, can actually have sequel, server clustering, without, the need for a SAN so they are also having they also have a virtual sound technology. The. Difference between sequel. Server FCI that I showed, a slide before and this is you, can actually use this for versions. Of Windows Server before. 2016, so you know if you have some compatibility reasons where you want to have a, Windows. Server 2012 and, still want this feature this. Is an option, it's. Also a really cost effective option because, it works with sequel, server standard. So, if you have sequel server standard, and you still want to have a qi this. Is one way in which you can, support. It. Cool. So just, to recap we, talked about how you can migrate stuff, to, google cloud we, talked a little bit about sequel, server and, the different AJ technologies, that. Are supported, on GCE. Last. But not the least people want to know about identity. And there, are three ways in which we actually support, different, Active Directory use cases, the. First one is customers, have their users and groups defined on their on premise Active Directory domain, controller and they, just want to sync this to Google cloud so. That they can assign the right I am permissions, and give, those users and groups the right level of access on Google cloud and that. Is a supported, scenario, we. Have a sync tool that actually syncs, users, and groups to domain controller on Google Cloud and allows. You to assign i''m permissions, this, is great because you actually don't have anything from, Google, Cloud reaching, back into your domain controller on-premise so it's, a nice isolated feature.
The. Two other ways to move Active Directory is an, hybrid approach or an all-in approach as I call it you. Can actually have a full trust relationship, between a domain controller on premise and a. Domain controller in. Google, Cloud and you. Can achieve this via a VPN or, interconnect, the. Second option is, you. Actually move your domain controllers to, the different zones, in, a region, and this, option is actually better if you want a. Much. Higher. Resilience. And lower latencies, because, the traffic is all on Google's, network and doesn't really have to kind of go, over VPN, to your on-premise, so, different options and. Different choices based, on your needs and scenarios. We. Cannot do justice to the. Full thing of that the Active, Directory but. That was a session at 3:15, and I hope most, folks over here attended, it we, had a customer, Capital One I see, a few folks who are, nodding so, we had a deep, dive on each one of these methods and we, also had a customer, Capital, One comment showcase how they actually moved their Active Directory over, so, if you missed that session please. Look up IO 274. And or. Come and talk to us and we'll, help you get more information there. Cool. So last. But not the least if you're a.net developer on, a platform you, have a, lot, of support so you have cloud tools for visual studio you. Also have support for dotnet core, both. On gke which, is our google kubernetes engine as well as GAE, which is google app engine we. Have also added some really cool features in stag driver which allow you to debug, your. Dotnet. Code your. Doctor production, code life and Simon's, going to talk, a little bit and show a little bit about that in the next demo. So. I'm gonna hand it over to Simon, to demo. Some. How we use some of these tools so we're gonna take a really legacy application. And just, lift and shift it to the club. Alright, thanks um root ah so let's. Talk. About this demo. A little bit so. We, are going to talk about application. Which is really, old legacy, application. From, 2006. Dotnet. Framework 2.0. There. Is a monolithic, web. Front-end, talking, to multiple databases, and. We. Are going to just, lift and shift this application, as is, into google cloud. So. Let's. Go. Into the demo. Okay. So. Let's. First see what our, application. Does so this is really, a old. Sample. Of e-commerce, shop, with, the old stock you, can explore. Categories, you can buy stuff you can log-in. So basically. Yet another issue. Of application, so. Let's go into the Google console, and see. That. Essentially. What we need to do is deploy. It under. Compute. Engine so we will have two instances one. Of them will run is, with the front-end and another one will run cycle server with, all those databases now. Ruta. Spoke, about the database, piece, quite. Quite a bit so I'll focus on the IaaS piece so. Let's, go into visual studio for a minute and this is the code of our demo everything, is available and you can later. On refer. To to, the, full example, that we are demoing, here, in.
The Reference slides so. I downloaded. Cloud. Tools for visual studio and, then if I go into the tools and then Google Cloud tools and, show. Cloud Explorer. You. Can see different artifacts, of our cloud including, Google. Compute engine so. If we want to deploy. A new instance, of, is. Up and running I just, do, right-click and us. P.net instance, and that will. Open a. Screen, where I just need to hit on this button and that will make. It work basically it will one-click. Deploy the, VM configure, Windows, and is for me as well as all the networking. Settings. That we need to set up I can, use, this. Cloud. Tools for some other stuff as well it, will, make me a lot more productive for example. I can go into firewall, options, and then decide to open, up some more ports for example if I want visual studio, remote. Debugger or some. Other things, I can just tweak it here. Everything. Can be also done through. The command line or through the UI but this is really very convenient, way to do things from within your. Integrated. Development. Environment. So, that's our first. Demo. And. Over. To Umberto. Great. So this was a really really simple application. And in a matter of few minutes you could actually spin on both the VM, as well as the backend and have. Your application up and running on Google Cloud. So. Let's kind of talk a little bit more about this journey and how you can modernize it more. So. Before we go into some of the options available the. Question. Is why, modernize, and talking. To customers they. Come up with generally, three pieces of feedback. Folks. Want to modernize because they want to reduce cost, and complexity. If, you just lift and shift VMs, as is you're gonna save on hardware cost you know when you're gonna run on Google create infrastructure, but, you still have a monolithic application. You cannot, size it or change, it up easily, the. Second one is pre speed, and agility so, as you kind of saw the. The, petshop application. You kind of notice that there were a few different pieces to it there was an ordering there's a catalog, there was a product, and there was a web front-end, now, let's say your site, becomes really really popular right and the. Load suddenly, spikes let's see Black Friday and people just want to buy a lot of goldfish. You, don't have the ability to very quickly scale, up or scale down, you're ordering. Part. Of that application so. People want to break this up into micro services so they have the ability to turn up and turn down things, as the, load changes. Third. Is cross-platform support, as we go into the world of cloud customers. Want to make sure that they have, the flexibility. Of running, on multiple clouds, and in multiple environments, customers. Want to be able to run their workloads, on their, choice of operating system so. These are some of the main concerns, as to customers have and some of the motivations, they have to, actually reconsider. How these applications are architected. There. Are many ways to modernize, your applications, you could completely, refactor, you, could use. More managed services. Today. We want to talk about, modernizing. By moving to containers because this is one of the most popular, areas and we've got a lot of feedback over here that, this is a really. Great way that customers want to move their workloads, and modernize them. So. Let's see what support we have for them so today you can actually, Windows. Server 2016 was the first version of Windows that had support, for container. So it had support, for the docker engine, we. Have support, for container. Optimized, Windows server images, so just like you have that whole list of Windows, images you can actually take. An image run it on take, a Windows, container optimized, image it has your. Docker. Images. Already pulled for you with the right networking, settings and, you can just deploy a Windows container on it if, you, want to go more cross-platform, Microsoft.
Introduced, Asp.net. Core. Or. Dotnet core technologies, and we've been constantly investing, and moving a lot. Of the libraries from dotnet, to dotnet core and this, actually gives you the flexibility, of running it either on a Windows container or on, a Linux container, so. If you were to kind of develop on.net core and run it on a Linux container you, can actually now move that entire workload, on running, on GC gke. Or, GAE. So gke is kubernetes. Manage. Kubernetes service, and Google. App Engine, so if you absolutely don't want to do any management. GAE. Is your. Better bet. So. A little bit about why you should bring these containers, to Google Cloud, everything. At Google runs in a container all the demos you see all the all, the different, services, that we have they, all our container, based we. Launch an average, of about four billion new containers, per week and this, has really allowed us to improve, the tooling, and our systems, for managing. These. Containers. At scale. We've. Also been contributing. To a. Pretty, successful open, source project, which I think a lot of you will be familiar with kubernetes, and we're, constantly adding, more and more improvements. To, that as well as it's great to see all the work that the developer community has done to, make this project, successful, just. Like we have support for Linux containers and kubernetes is also a open, source project, and a, working, group that's looking at Windows continue our support and we're actively involved in that group so. Now, let's, let's kind, of look at how we can take our really. Really old pet shop application. And, modernize. That using, some of the, tools. We just spoke about so I'm handing it over back to Simon. So. This is just a reminder of, the simple, architecture, of our pet, shop application. And now. What we want to do is slightly. Modernize. It so. In this case you, can see that we will try to expose. Some of that functionality. As. Microservices. So, we'll still have a front end which, is Windows and is and that, will work against three microservices, orders, product, and profile. Those. In turn will work against, managed databases. So. Why. Doing that so you get a lot of. Our. Architectural. Benefits. From me doing that such as auto scaling or basically. A lot of good scenarios, for doing as. Scaling. With. Google. Infrastructure, as well, as. Very. Good and easy, integrate, with Visual Studio and, a stackdriver debugger, which I'll show you, in. A few moments so, let's delve into the demo. So. It's the same pet, shop application, but. This. Time it will work using. A bit different, architecture. So, already did some pre, work by. Exposing, the. Functionality. As microservices. If, you alright if you have SP dotnet, MVC, services. And you want to move them to asp.net, core, there, is a relatively easy path to do that if, not you will have to create your, asp.net, core. Services. From, scratch, and gradually, move your functionality, over so, I already did that and in this case we'll talk about. Taking. That and basically, doing, containerization. So. I added a docker file I'll demo that on one of the micro services but we need to do it for the three of them so. This is the docker file you define the image at the base image that you want to use and in. Google we support, multiple asp.net, core, images, for. Different purposes. So, you can base, off of one, of the images that we support you, define how to run, your application which. Ports to expose and some of the environment, variables, that may be useful for running this properly. On. The. Google cloud and then essentially, once we do that we, need to build. The container image, and push it into a. Container. Registry so. Let's take. A look at some. Existing. Continue. Register. Images, that are already pre created so, let's go into orders for example and you, can see here that these are different images. That they pushed I can talk them and then, essentially, the whole point is that we can create kubernetes. Cluster which. Will run our micro. Services, in containers, using one of the images, that we pushed into container, registry and, then, we can get a lot of benefits, of. Kubernetes. So, let's take a look at some of that. So. What I can do is run. A command-line. Cloud, is decay shell. So. Run a command which will show that we already have a cluster Burnett, is cluster, that that a pre created I'll, show you in a moment how to do that so, this command can show you that, we run the, micro. Services, in pods and pod, is the, minimal, deployment. Unit for kubernetes so you scale your micro services, in pods you deploy, them into, pods and you, can see that for every micro, service we have one pod, up and running in, order to create kubernetes, cluster you.
Can Just go into, this web. UI, under. Kubernetes, engine, there, is an option to do that by clicking on create cluster, there, are also other, options available, such, as command line. Tools. That you can use so. Essentially, to create the cluster, you just need to. Fill. Up the name of the cluster, the location, the. Version of kubernetes, that you want to deploy and, then. There, are certain features that you can make available. Such as tag driver logging, and monitoring, and if, you open this more, thing, and then. Scroll. All the way down you. Can see that we are pretty a secure, offering. In here because we can basically. Define what, Google. Services. Will be available from that kubernetes, cluster I can, do that for all the API I can do that with, full granularity. So in, our later, sample, we're going to show how we can use. Cloud, debugger. So. For, that we need to go all the way down and then enable cloud, debugger feature and then essentially we can click on create and that, will create our kubernetes, cluster so. Let's say that we have kubernetes cluster up, and running already let's. See what we can do this so. One thing I can do is just run cube city L get deployments. Now. Cube CTL is the command-line tool to manage your kubernetes clusters, for those who are not familiar. And we, are going to use this to. Talk to our pet shop cluster, that I already pre-created, you, can see that we have three deployments here. One, and one meaning, that we, want and one copy of each and we, actually get one copy of each but. The whole power is what, happens when we want to scale so, with kubernetes, you get this scaling capabilities. Basically. For free and it, makes it very efficient. By. Taking. Care of all, the scalability. Work for, you so you can do, cube. CTL. Scale. Deployment. And let's. Say we want to scale order, service. And. I. Want to have three replicas. So. What this command does it basically tells, kubernetes, that, we want to spin up two more instances, of our deployment, and kubernetes. Will do all the heavy lifting for us and to, kind. Of check on that we can just run again. The, cube CTL, get deployments, and you can see here, that now the desired, and the current, changed. To. The street just like we asked, we. Can also run cube CTL get, pods. And. See. These, are the three instances that, were. Created, so we basically just run one single command and kubernetes. Was, able to scale our asp.net, core, application. Really. Easy. Now. Let's scale back. So. In this case i just go back to one replica. And we can run. Get pods again and in, this case you, can see that the two replicas. That we want to kill there and in the process, of being killed and, essentially. We'll. Have one instance, of every. Micro service up and running. Okay. So that's all good we can scale, with kubernetes, and kubernetes. Will will take care of the, scaling capabilities, but there is more, to that so. What if we want to handle. Resiliency. Of our services. So let's. Try. To kill. One of the pots. Which will essentially kill our microservice, and see what happens, so, first of all I'll run cube CD l get pods again to just kind of confirm, the, starting, state and now. We basically. Want to kill one of the micro-services, and see what happens once it runs under kubernetes, cluster so. Cube CTL, delete. Pod. And I'll. Just copy the. Name of that pod and, you. Can see that it was deleted, now, if I run cube, CD l get pods you can see two, copies. Of that profile, service so one is terminating, and another is running which, is actually very interesting, because what happens here, is that. The. One that is terminating. Is that, copy that we tried to kill so, it takes time until it's actually a gets. Killed but. Then kubernetes, was smart enough to recognize, that. We desire to run one instance, of profile. Service so, if your service was. Affected, and essentially. Failed kubernetes. Will bring another copy of that service, back, up automatically, for you if you, have multiple, copies it will do that with multiple copies as well so, by just moving to kubernetes, with your SP dotnet core workload, what, you your able to get is full. Handling, of resiliency. As well as scaling. Capabilities. Which. Is really. Really cool, now. Another thing that we might want to consider is. The. Feature called, stock driver debugger. Now this feature currently. Is in preview, but, the fact that we are running in Google, cloud platform with. Asp.net, core. Allows us to do the following so. I'll open my debug. Screen on the. Google, cloud console, and you will see here, that this. Is basically the screen where we can, production. Debug our application. Now, it sounds like a. Bold statement but this, is actually. What it is in. What this application, allows us to do is, opening. The source code of our application. Attaching, the break points to, existing. Running, application, in production, and then, inspecting.
The Snapshot, that stackdriver, will, take from our application, if we heat that particular. Caught path which leads to the break point so let's try and see how we can do, that so. In this case I can, bring my source code from multiple locations we, have integration. With github github. Bitbucket, cloud. Source repositories. Of google cloud as, well as you can also bring your own, sources, so this is what I will do I'll check my local. Sources, and I'll. Hit upload. Now. This is not really uploading. Into cloud this is just opening that locally, on my browser. And, you. Can see this is the code of the application we'll. Try to debug, service, called products, and, if. We explore some of its code there is this, category. Controller, and. We. Can just go, explore. What. It does but, one of the actions, here, called, category, and. We. Can see that it tries to use caching so if caching is enabled. We, might use it otherwise, we will not use it so, let's inspect whether. Caching, is actually enabled, so that is kind of modeling, the real-world, scenario. Where you have something running in production, something. Happened, you want to understand, what is the state of your application without. Redeploying with, additional. Instrumentation. That you might want to add so, you can just add your breakpoints at, the, place where you want to stop and now, it's waiting, to heat, that, code. Path now, how do we know how. To get into this method. So. In kubernetes, I did, some pre-work. Which was exposing, all my micro services, with external ap so I created a lot bouncer object, and I, exposed, my micro. Services, externally. So. I'll run Q CTL get services, and. This. Will return all of my services, running under kubernetes, with their external. IP we. Are talking about product/service, so, i'll just copy this external. A b from here. And. If. We look at the source code there. Is this route called category, so, in order to reach this code pass what we need to do is, go. Into this IP and then a slash. Category, so. Let's do that so this opens, some. Information. Which is categories. Of our pet, shop and. Let's. Go back into the, bugger so, you can see here, that, suddenly, it shows all the call stock of that, code. Path so basically we hit the breakpoint there. Is the call stack of what. Really happens, up until, that point. Okay. This is the real application and also. We, we, are able to see here, all the. Variables. That and, their state at that moment when this snapshot was taken so. I can. Open. Up this. State. And then take, a look at this cashing, enabled, variable you can see it's zero which means false, this. Kind, of gives me the idea of what's, going on with my application, now, all those snapshots. Are, really a powerful. Feature and. There. Is almost no overhead to run that so you can run that in production safely, you can be sure that it will not run. On all of your CPU or memory the. Overhead, is almost. Next to nothing and it, gives you this powerful capability, of exploring. Your application. State. If you really need that and. Then, there is also this snapshot history. So. You can share this stage with other, developers, by, just sending, them link into the relevant snapshot, and essentially.
Gets Into. Get. To know what's going on with with, your application. Alright. So let's switch back. Cool. So, hopefully. We've demonstrated, to, you how easy it was to just lift and shift and Simon. Just demonstrated. To you some of the amazing capabilities. That just light up if you, were to refactor and move this to micro services on gke. A lot, of the work was, it, was sort of done and sort of explained, quickly because. We have a short time but, we have a detailed, set of white papers that was that, we wrote with one. Of our windows partners, Moe genic and they go into an extremely, detailed explanation. For the same application of, how, you could move and the different pieces and the. Tools and all. The work done is actually available the. Codes available so you know you're free to kind of look at some of the examples, and see, house. We did some of the migration there, in. Addition to that we'd like to also leave you with some of the links, so if you go to like cloud or wind cloud, or google.com slash windows or sequel server we, have a lot more information and, white papers, and best practices, and. We also have similarly, information. About our developer, tools so if you we, will probably be sharing, these slides after, the sessions so these, are really good links to kind of go and get more information.
2018-08-12 13:24