Cloud-Native DevOps with Kubernetes and Serverless Cloud Next ‘19 UK

Show video

How's. Everyone doing today oh. We're. So excited. Thanks. Everyone for joining us, I know we're a little bit, slow. Loading in thanks for everything thanks everyone for joining us today we are, going to be talking about cloud, native DevOps, with kubernetes. And server lists I think, I just hit buzzword bingo. So. So. So, like, mark your mark, your bingo cards. Today. Will be starting. With cloud. Native app dev data, and findings, we're, running us through that, and. Then Russel will be chatting. Through, path, to cloud native with. Some dope demos. Stephanie. Will have a demo for going server lists and then we will all be chatting about fireside, chat. So. Has, anyone here heard of the state of DevOps report. Yay. This. Is my favorite, nerd fun. What. The state of DevOps report is is research, and now y'all like, no. I left, school I. Promise. It's fun what. This does is it helps us understand, how to drive elite performance, this. Helps us know how we can develop. And deliver software with speed and stability so, that we can deliver, value to our customers. To our stakeholders. Or organizations. And. It. Does it in a way so that we know what capabilities, and practices, are really important, so we know what to focus on in our work so that we know what resources we should be focusing, on so. That we can improve, our, own technology, and organizations, in the best smartest. Ways so we aren't wasting our time so we aren't wasting, our resources and. So. That we know how we can be an elite performer, and everyone's like elite, performance what does that mean so, that we can optimize speed. And stability basically. And what, we found is that, speed. And stability goes, together, you. Don't have to slow down to be stable, or. Conversely. You don't, have to be less, stable in order, to go fast and they. Go together at the, and at the low end now, when I say speed and stability what, am I talking about, speed, is, deployment. Frequency, its lead time from commit to deploy. Stability. Is MTTR. And change fail right, now. When, I compare those, highest. Performers, those elite performers, and the low performers, this. Is what we see in this year's research we. See 208. Times more frequent code deployments, I see. 106, times faster, lead time from committing. Code to code running and production I see. Over 2600, times faster, time to recover from incidents and seven, times lower change fail rate. What. Does this mean why does it matter, it. Means. Faster. Feature delivery, so, again we can deliver value to our customers. But. It also means more than that it. Means that I can, keep. Up with compliance, and regulatory changes, it, means I can update. My infrastructure. It means I can deliver. Quality, it means I can keep up with security it really is a holistic picture, so. It. Really is important. Cloud. Is also a key, component of this and, it's. A differential, for elite performance, our. Elite performers, are 24 times, more, likely to. Have met all cloud. Characteristics. And. It's. Interesting, because, when. I started, researching this last year, we, saw this and we decided to dig into it because so. Often times I, talked, to sometimes. Executives, they're like well I did the cloud nothing, changed, or developers. And they're like well we did the cloud but nothing changed I don't. Know if anyone's seen this before. But. The challenge, is that we actually have to be doing, cloud. So. What we found is that when.

I Started doing the research were asking people if they were doing the cloud and then. We, dug into the, five characteristics. That make cloud, actually. The cloud and this is defined by NIST National. Institute. Of Standards of Technology, only. Twenty nine percent of respondents had, actually, met all five characteristics. Here's. What it is on-demand self service. You. Can't. Like. Put. It behind a ticket that requires human intervention, okay. Doesn't count broad. Network, access you, have to be, able to access your cloud from, several different kinds of devices. Resource. Pooling so. You have a bunch of resources that you pool and use what you need. Rapid, elasticity. Bursting. Like magic bursts. Up and burst dam okay also. Measured, service. Only. Use what you need and you only pay for what you need so. Cloud. And, using, the cloud and having an architecture, for the cloud means that you have all five of these and it really drives performance. So. What. We've seen is that we. Really have fundamental. Principles. For success, that. If teams follow these it really does drive performance, so. Here, are some of these that that we see so one is moving. From, monoliths. To micro services and, in, the research we've, seen this for a few years this really, is having a loosely coupled architecture and. I've. Seen this in my own work my very first job was as a mainframe programmer, and it's. Tough if we have something that's tightly. Coupled and we have to deploy these massive, changes all. At once right. So. If we. Can have a, micro. Service application, we, can have a logical, unit of functionality, that can really just exist, independently, right a, second. One is picking, a technology, with deep. Open source routes and we've. Seen for the last couple of years that the, highest performers, are, adopting. Open source technologies. Because. It allows us to, do a lot of things right we, can draw on the knowledge of a broader economy, inside. And outside of our organization. Right. We can have a knowledge, base that's broad we can have a recruiting pool that's broad, we. Can really drive performance, and a lot different ways. It, gives us freedom, it gives us. Resources. That are all over the place gives, us better security, to. Third. We. Can automate, smartly. This allows us to reduce tool and, an, approved speed, and stability and performance throughout. Our, entire. Pipeline. Okay. So. What. This allows us to do is to really adopt, our principles. So that we can be agile, and move faster. Okay. I've, talked too much who wants to see a demo. Like. Right this, really is my favorite part so I am now going to be handing, us off to, Russell, wolf please. Help me welcome Russell to the stage who will be talking about past a cloud native. Thanks. Nicole. Hi. Everyone I'm, Russell, wolf the product manager, for cloud, code and I'm. Here to talk to you about the path to, cloud native on Google cloud. There. Are essentially two approaches. To cloud native app development. Kubernetes. And serverless. It. Really, boils down to how, much control you want over the stack, versus.

How Much you want to be able to focus entirely, on your business logic. With. Serverless, you get an incredibly. Powerful stack, and it, lets you focus on your business logic by. Providing a higher level of abstraction. With. Kubernetes, on the other hand you get the higher granularity. And control, over the stack implementation. Google. Provides end-to-end, tooling, for both serverless, and kubernetes. It. Starts to its cloud code which lets you write, debug. And deploy, your coronaries applications. With. Plugins to. Ideas like vs code and IntelliJ, cloud, code makes. It really easy to. Work where, you work today. Cloud. Code also comes with pre-configured. Sample applications, so you can be up and running in seconds. Once. You've actually created, your code you need to build it and so, cloud builds there as a completely, serverless, CI, CD, platform, that lets you build test. And deploy applications, in. The cloud at any, scale. Cloud. Build recently, took the. Leading position, and foresters wave analyst, report. Once. You've built your containers, you need to store them somewhere so you can store them in container, registry it. Makes it easy to store manage and secure those containers before you get them deployed, once. You have your containers, in the cloud you. Then get to choose whether you want to deploy them to, uke. Or a. Service, platform like cloud run if you, choose gke you get a managed, prod. Ready environment. For you to deploy your containers, to kubernetes, if you. Choose server less on the other hand you get a fully managed, service, platform, that, its tracks away all that infrastructure, and lets, you just run your code. Finally. Once you get your code into production you have the stack driver suite of tools that enables, monitoring. And logging among. Other capabilities. There. Are three guiding, principles, for kubernetes, development, that we. Like to focus on you. Know the first one is keeping it simple, we. Want to get developers, productive, as quickly as possible. That. Means simplifying and optimizing, the developer, loop. That. Way developers, can iterate faster. Locally, as well as, once they've deployed their code to production and we do that with deployment, best practices. Next. Is continuous. Security, and feedback, we. Want to move critical, practices, earlier, in the development lifecycle that, way, developers, can identify and prevent, defects, sooner which, means you waste, let as time later in the process.

Finally. We want to help you implement everything, as code and containers. We. Use git as the source of truth and for version control we. Package applications. As containers, given, the isolation. And consistency, benefits, you get. Additionally. All your tool chains runtimes. And your applications, are then delivered and packaged, as containers. So. Let's start talking about that inner development loop. The. Inner def loop refers to the time it takes developers, to make a change and see that, feedback and that. Can happen when you're fixing, a bug refactoring. Code or, implementing, a feature. Cloud. Codes continuous. Development allows. You to rapidly rebuild, and redeploy, your code anytime you make a change saving. You from having to you. Know rebuild, every tag push, that registry, and then get it deployed every time it just happens and we have intelligence, in there that makes it happen a lot faster than if you were to do it manually as well. Next. Once your developers, are confident. That the code change is. What. They want you want to get it push to production and this, is where cloud build takes care of CI CD for you this. Involves steps like security, scanning. Integrating. In with pull requests, and showing results there and things. Like binary authorization. And signing and once. Your code is deployed again, stack driver provides that observability. That you need to, ensure that it's running correctly in production, through things like logging and monitoring. Now. As a developer, you want to get continuous, feedback and security, on your code from the time you write it to. The time that you commit, it and then finally releasing, it Google. Cloud developer, tools for kubernetes provide, you with fast feedback with, baked-in security, and compliance, here's. How we do it as. Soon, as the build is created, build results and logs, are provided. Directly, with a tool that you're using such. As a github pull request. Vulnerability. Scanning and then goes through and finds CVEs in the images, that get built, then.

During, Release, binary. Authorization. Make sure that only properly. Signed code that confirms conforms. To your organization's. Policies can. Actually, be deployed to production if, you try to deploy an image that, hasn't been signed, according. To binary. Authorizations. Requirements, kubernetes, will just deny it and not allow it to run on production, cluster. Finally. Those logs are available, to devs at the very end in case something does go wrong so, you can go back and fix it so, you can see that the whole end end has these insights. Finally. Google, helps you implement everything is code and containers. One. Great example of this is with cloud build, cloud. Build gives you the full flexibility, to, define custom build, tests and deployment steps with, a cloud build at Yambol for CI CD. Each. Build step is, executed. As its own unique container. That. Can run any task, that you need as part of the build, cloud. Builders are provided, with common. Language run times inside of them and also. Various, tools as well so, you might have one specifically. For performing. Docker containers, or for Cloud SDK. Tasks. And finally. Enterprises. Can then tie their legacy, and homegrown. Tools as part of that build process, by, stringing together these, various containers, that, are purpose-built, and isolated, as. You. May have heard in the keynote today cloud. Code is now generally, available. Cloud. Code makes it easy to write debug, and deploy your kubernetes, apps in the. Keynote demo I focus, on two key features, of cloud code the, first is rapid, evaluation of, kubernetes and the second was tight integration with CI CD, systems. With. The cloud code VA we've also matured, all of the other features across IDs. Please. Welcome Eitan onto stage and he's going to show us how cloud code enables Cabernets, development, inside, the IntelliJ, IDE. Alright. Thanks Russell so. Now it's demo time. There, we go all right so I'm gonna now demo, how, Claude code can simplify kubernetes, and cloud native development, as. You can see here I'm in IntelliJ, which, happens to be the IDE I use most frequently. Club. Code ships. With a set of starter, templates to help you get started quickly on, kubernetes, in various languages as you can see here. The. Cloud code also makes it easy to bring in your existing applications, like.

This Guestbook app I have so. This is a java application with, a few services. A front-end back-end and a Mongo service and it's. Written using the, spring code framework so let's open it up. So. This this application, is new to cloud code, normally. I would have to spend a bunch of time figuring, out how to run and debug my application, on kubernetes, and, this. Could mean searching around the web and bringing, in a bunch of different tools and processes but. Notice this notification. That, I have here prompting me to create a couple new run, targets, so, I'm gonna accept the prompt here and that's. It at this point we're ready to run and debug our app on a kubernetes, cluster but. Let's, dive a little deeper first, so. Notice the cloud code created, a couple, run configurations, for me so develop, on kubernetes, and run on kubernetes. I'm. Gonna look a little closer at develop on kubernetes. I'll. Put a couple I'll point a couple of things out here so. Up. Here at the top and the first setting in the first setting clog. Code will. Watch for changes in my source in my source code and automatically, surfaced them on the cluster whenever, something changes. Another. Thing I'll point out here down, in deployment, cloud. Code makes it super easy to switch between my available clusters as you can see here right now I'm pointing to my GK cluster, in the Europe West zone. But. I can easily swap to, another cluster like my local docker desktop, cluster I can, set up a mini Q cluster and point to that or new any one of my other GK clusters, in, fact. Cloud code works with any kubernetes, cluster. The. Plugin also has this handy, cluster, Explorer, where. You get a. Poplarville view of your clusters you can see which one is active and easily switched between them, you. Can even drill down into, your resources, and view, things like your pods deployments. Replica sets. Services. And so on. So. At this point I want to debug the application, and it's as easy as clicking the debug button right here. So. Cloud. Code is now building. My application, it's building my image it's tagging, it it's, pushing it to a container registry and, it's deploying my app. It's. Also instrumenting. The application, for debugging, so. If you ever. Tried to do all of this manually, you know this could be hours of set up but cloud code streamlined, this into a single action for me, so. Let's look at the logs, it. Looks like the application is started, up or nearly started up and as. You can see here we have a couple debuggers, now attached one, to my front-end service and, one to my back-end service. Now. I want to open up the app test, it out to make sure everything looks correct, so. I'm just gonna open up or I'm gonna open up the app by clicking on this link, right here to open up my, front-end service. All. Right so, here's, our application as you. May have noticed cloud code took care of port, forwarding the app to localhost for me so that I can easily test things out, so. This is a guestbook app so. Let's first, just add a few entries into the guestbook. Let's, add a couple more just, name message, and. Then. One last one. So. This looks okay but, notice that my, new message messages. Are showing up at the bottom here so if, I had a bunch of messages to the guestbook the new ones could get lost at the bottom so ideally, I'd like them to show up on the, top let's, go back to the code and see if we can debug. And fix this, I'm. Gonna open up my back-end controller. And. Take. A look at the, get messages end point where I'm fetching, all the messages, of messages, from, my Mongo service and. I'm gonna set a breakpoint here on the return value then. Go back to my guestbook and refresh and as. You can see we, hit a breakpoint so now I can view my local variables step through code evaluate. Expressions, and so on, but. Let. Me remind you this, application isn't running locally it's running inside of a container inside of a kubernetes. Cluster on, gke. Yet. I'm able to debug the code as if it were running locally, with no added setup, so. Let's take a look at our messages. Array and I. Can see the three entries that I added right here and. Indeed. They look like they're in the incorrect order.

So. I'll just open up the expression evaluator, and take a look at our repository. Service and, as. You can see here I'm calling the find all service but. I can also see here that we have one that takes in a sort object-- so, that looks like what we want I have. The code snippet that we need actually right here at the top so. I'm just gonna copy it paste it. Into the method and then, pass the sort object, into. My repository service and. We'll. Step out of the code and remove. The breakpoint. So. At this point I could wait for everything to get rebuilt and. Redeployed. But. Since this is a Java app in cloud code utilizes. Language specific functionality, like hot-swap, I don't, have to wait that long so I'm just gonna go to build and recompile. The class so. IntelliJ is now going to recompile my my controller class and reload. It on the fly so this, feature should be pretty familiar Java, developers, but the cool thing here again is that this is not an app running locally, it's running on my remote GK cluster, so. I got. A notification here, that my back in class was reloaded, and now. I should be able to test things out and if I go and refresh we. Can see shows up in the correct order and. Let's. Just add one more message to. Confirm. And. It, looks like it's showing up in the right order now. Alright. So, back, to my application oh. One. Thing to point out is that, I can go here into my cluster Explorer, and then view my resources, that are deployed so you can see here that I have three pods and they're all three of them are healthy and, I, can do things like stream, logs from the pods, describe. The resources, and so, on, cloud. Code also supports, some, more advanced scenarios, like. Non-default. Coop config files so. Right now I'm just using my default one but I could easily point to a different coop config file or load a new one. Alright, so now we're happy with the app I'm just, gonna kill the development. Session and. As. You can see here in the logs cloud. Code is taking care of cleaning up my deployments. And my services for me but, I can easily configure it to leave them running on the cluster if I wanted to. Cool. So now let's. Get this application into, production and to. Do this we, should probably be, using a CI CD pipeline, this, can be tricky to set up but cloud, code helps here with. Some declarative. Configuration and. Cloud. Build. So. Let's first, create. A new file and I'm gonna call it, triggered. I gamo. Add. It to version control, and. Now. Using a built in snippets in cloud code I'm going to create a cloud build github, push trigger which. Tells cloud build to build my application on. Every, push to a branch in my repository. So. Let's just give it a name I'll call it push trigger the. Owner of the repo which is me and the name of the repository which, is guestbook. London. And. That's, it, you.

Can See here we're pointing to a file called cloud build yama which tells cloud build how to build my application I, had. Already created this ahead of time and where, we happen to be using scaffold, to build and deploy the app but. If I didn't have it again I could use the, built-in snippets and cloud code to quickly alter one. So. Now let's create the trigger. I'm. Just gonna right click on the triggered IMO file that I created already and click, apply trigger, now. I'm gonna confirm, my GCP project, here and click OK. So. The trigger is now being created and. It looks like the trigger was created successfully. So. All that remains at, this point now is to commit my code fix push, it to my repo cloud, build will then pick up the change and then, build and deploy my app to production, and. That. Concludes the demo. All. Right just. To quickly recap what we just saw. So. If. You're just getting started with kubernetes, cloud, code ships with. A set of starter templates to help you get started quickly. But. If you have an existing application you'd, like to bring in and optimized, for kubernetes development, we, have support, with snippets, and automatic. Setup. Your. Inner development loop, is sped up with. Cloud code via automated build and deploy, steps, you. Also get the full power of debugging, your apps live in, a kubernetes cluster as, if they were running locally. Cloud. Code also works with more advanced language features for, example I demonstrated. Hot swap in Java and, you. Can easily deploy your code to any local, or remote kubernetes. Cluster right, from the IDE. You. Can get insight, into your cluster and its resources using. The kubernetes Explorer that I showed, and. Finally. Our, snippets. Make it much easier to set up your CI CD pipeline. So. In summary. Across. Both the JetBrains family vie des and vs, code as you saw earlier in the keynote plug. Code helps you simplify kubernetes, development. So. Now please. Help me welcome Stephanie, to. Talk about server lists and cloud run. Thanks. 8 on. All. Right so you are all probably very familiar, already, with what. Surveillance. Provides and its operational. Model you, pay for what you use and, there's, no server management, but. What's also really interesting, here is the programming, model it's, service full and its event based and what that means is that you are consuming, fully, managed, services, without, dealing with things like setup, infrastructure. Management and, things like load balancing sharding. Etc, and. At. Google cloud we, offer full, stack serverless products, including. Machine learning, data, analytics, database. And storage and DevOps as Russell. And Eitan covered you, might also be familiar with some of our compute, server list products like. App Engine and cloud functions. But. As you know containers. Have become, the de facto standard, for, packaging your code and kubernetes. For, deploying. Your applications. These. Give developers. Scalability. Flexibility. And productivity, but. There are also multiple, steps, involved, in the workflow from, the time that you commit the code to, the time that you can actually access the application, this. Includes things like creating. A docker file with, all the dependencies. Building. The container. Image, and then uploading, that container image to the container registry. Creating. A kubernetes, yamo file for, the deployment with the container, creating. A yet. Another llamó file for exposing. The deployment, as a service, deploying. The pod in the service and then finally, accessing, the application through, the endpoint, so.

Developers. Have been asking for a server list tool that goes beyond simple functions and one, that supports. Containerized, environments. And they're. Usually faced, with a really tough decision, choose. Between the, speed and the ease and velocity. Of serverless, or the. Flexibility, and the portability, of containers, but. At Google cloud we, really think that you should have the best of both worlds. So. Introducing, cloud run which, you, may have heard we announced in beta last year and now, it is generally, available, so. Cloud run brings service, to containers, and it. Effectively shortens, the path between the time that you can commit your code to actually. Accessing. Your application, it lets. You run stateless, containers, that, are in vocable, via HTTP. HTTP. Requests. Cloud. Run auto scales your application, up or down and even, back down to zero when, you're not running your workloads. Because. It is request, aware. You. Only pay for the resources that, you are using so if your application is not running you're not paying anything and when, your application is, running you, are paying down to the nearest 100, millisecond. You. Can also run any binary, or language, because. You're deploying using containers and with, the help of tools like cloud code and cloud, build. Developers. Can write their code test. It locally and deploy. It as a container image on Google cloud using, cloud run without, the intervention of devops, teams, so. This is modern, software development, the way that you want to do it without the hassle, and this. Is part of our mission to bring the cloud to you. So. Behind the scenes cloud run is built using K native which. Is an open source project to run serverless workloads, that we deployed, and launched last year it's. An open API and, runtime environment, that lets you run your server list workloads, wherever, you choose so. This means that you can actually deploy, the exact same micro service to any kubernetes, cluster. Running. Either on GC p gk. E on, your self-managed. Kubernetes, cluster and, that, can be on-premise, or, even. On the cloud even another cloud provider and just. To restate this because I think it's worth hearing you, can run your server list workloads, on any. Kubernetes, cluster running, K native so. With this portability, you can easily run these workloads with tools that you're already using to, run and deploy your containers, on Google Cloud. So. Cloud run comes in two flavors fully. Managed cloud run and cloud. Run for anthos, so. Fully managed cloud run is fully. Managed with, no cluster as a back-end so. You have things like usage-based, pricing, auto. Scaling, and no infrastructure, management, you, simply package your code into, a container image upload. It to the container registry and, then, deploy the container image. To cloud run. Cloud. Run for anthos lets you run containers, on gke as serverless, code so, instead of a fully managed. Infrastructure. You can deploy your code on an existing gke, cluster, that you've already created that way. You can have things like custom machine types use, GPUs, and run, it on Google cloud or on-premise this. Is perfect if you're already running a kubernetes, cluster and, you, want to configure our specific, hardware requirements, for your server list containers. All. Right so to demonstrate this I'm going to actually be deploying, an application that, converts Word documents, into, PDFs so does. Anyone remember, OpenOffice. Some. There, here and there okay I see a few people so, it's somewhat of a legacy application, and I'm going to show you that I can just, deploy. It to a container and run it as a server list work load. All. Right so what I'm going to do here is head, over to the cloud run deployment, page. If it loads. Let, me switch over, potentially. This one might be faster. All. Right so once I click create, service, oh. Sorry. About that. And once, I'm here on the deployment page I can select my container image URL. That. I've already uploaded to the Container registry so here I'm selecting cloud run fully managed, all. I have to do here is click. Create. And. What. It's going to do is it is going to upload the container image make, sure that it's getting get, started, and it. Will start, to route traffic over and it. Will soon be able to just, give us a stable and secure, HTTP. Endpoint. And, see if this loads maybe I'll switch back. That's, not what I want. All, right so this is the end point that it's been able to give us and. Once. I click it it'll give. Us the OpenOffice. Application. That converts our Word documents, into PDFs so let's, go ahead and test it out with a document. Sure. You're all familiar with this. So. While it's converting, OpenOffice. Is not exactly a modern piece of software it's about, 15.

Years Old binary, and it's about 200 megabytes and we were able to deploy that as a server list container just with, a few clicks. So. Let's. Go ahead and take, a look at the code real quick so. It's a very small file on file here and what, it's doing it is as it. Is listening. For incoming, HTTP. Requests, and, then. Using OpenOffice to convert the document into a PDF and, then. Alongside. We have also very simple straightforward docker file it. Starts by specifying, our base image which is the official Python based image and, then. Using, an installing. OpenOffice, and any startup, commands that we have included, and while. It's deploying. In, the case that you have an application that needs to scale up very quickly cloud, run can actually, auto scale to thousands, of instances or containers, in just, a few seconds. Now. In the case that you do want a little bit control and you want to run it on your own gke cluster, or again. As I mentioned deploy. Using GPUs. Then. We can go ahead and try out cloud run for anthos so. It's the exact same deployment. Page and developer. Experience, we're gonna choose, the same micro service and instead. Of selecting cloud run fully managed as a region you simply. Need to select cloud run for anthos and here I have an existing cluster that I've already created. Again. I'm clicking create and again, it is deploying, on that gke, cluster, and it's going to give us a URL and HTTP, endpoint in, return as, you. Can see here. And here, I have it now running on anthos, and. Just, to show you real quick this. Is what container registry looks, like once. You have packaged your code using cloud build for example is what I've done here in this case you, can upload it to continue your registry, and. It. Becomes, available. As, a selected, image that you can deploy on cloud run. So. Go back to the slides real quick. Demo, has concluded, so I just need to go back to this it's perfect, alright, so just in conclusion what, you just saw we were able to just simply deploy our container, in just, a few clicks you're able to get the. Application, up and running in production you, can use any stateless, container as I mentioned in vocable, via HTTP, requests, you, have a URL in seconds, it's one developer, experience, whether you choose to do fully managed cloud run or cloud run for anthos you. Have consistent api's and tooling with the rest of the Google cloud ecosystem. It's, portable, with Kay native which i think is very salient. And you're paying for exact usage, so, overall it's cloud, run is giving developers what, they love about serverless. There's. No infrastructure, management server. Lists in nature and you get to focus on the code in conjunction, with tools like cloud build, and cloud code so. Next I'm going to bring back on Russel and Nicole so that we can jump into that quick fireside, chat. Okay. Thanks, everyone for demos so. I'm. Sure we have questions, so. I'm, gonna, field questions but that I have already written sorry. Y'all, you. Can you can find us later so a question. That I get a lot when I meet with developers. And with. Managers. And with. Executives. Is. Why. Do we, have competing, development, platforms. I hear serverless, I hear containers, I hear kubernetes, how. Why, do we have this competing thing how do I even choose. Well. As I mentioned earlier, part. Of it is whether you really want to focus on your business logic or.

Whether, You want a lot more control, over your infrastructure. Regardless. Of which one, you really choose there though, you're. Still gonna use the, same tool chain, you're still gonna package. As containers you're so you're still gonna use cloud, build. Container. Registry. And. Tools. Like stack driver monitoring. And sector logging. You, also get. Benefits, in. Both cases of Google managing, your operating, systems as well. As, sort. Of Google's. Global network allowing, you to deploy, your apps anywhere in the world and have high speed and efficiency. Yeah. And then in terms of just some of the unique points, I think it really comes down to whether you're running stateful, or stateless applications. As I mentioned earlier and it, also in addition boils, down to the type of work that you're, actually running so, for example if you're running an e-commerce application. That has high, peak times during specific time frames then, that's a great use case for server list because of the ability that it allows you to scale back down to zero and not pay when you're not actually using it on the. Flip side if you're running a very consistent application, that's, high volume based with, a lot of predictability, then. You may want to consider running that on gke. Okay. So it's more complimentary. Than competing right, okay, so somebody take a picture this isn't WETA so I can find it later I like. This summary, okay. Another question I get a bunch. I keep hearing a lot about cloud, native what, are some guiding principles that, y'all use, and suggest to follow I think. The first one is you, want to focus on building micro-services, and getting, away from the, monoliths, that i think we all were building in the past. Micro-services, allows your code to be managed independently and, even. More so it allows your code or. Your. Services, to scale granularly, so. Second. I'd say use everything as code. That. Way everything can be automated, tracked, in version control and, rolled, back independently. As necessary. Similarly. You probably want to use everything as containers that. Way you can leverage your own pre-configured. Tool chains, and. Focus, really, on the code and not, redefining. These tool chains each time, yeah. And then automation, of tip for me is a really big one so your CI CD should, incorporate fast. Feedback, loops via, per branch CI and deployment. Automation so. For. Example rather than thinking, of automation, from end to end every, time a branch change occurs then, CI should, have set up so you get continuous, validation. Again, whatever change, is committed you get feedback and your CI system is then scalable, and serverless, and then, in terms of proactive security. And compliance you. Should be building in isolation.

So That you have continuous security. Throughout, the entire process so again that's alongside. Automation. You should have compliance, built in that into that automation, as well so, rather than thinking of security, as an afterthought, you, should be building compliance, into your actual pipeline and making, sure that builds, can actually go through until, compliance, is met and then. Lastly scalable, so, as I, was talking about with serverless the, ability to scale back down to zero is a really key point and then also scale back up to meet demand so, that way you're only paying for what you use again, that's a key principle of serverless, and. Again, wrap it elasticity, bursting. Up and down and. Just basically. Reducing, your resource consumption, and. Actually. Dora is the part that you worked on that also talks about some of these principles right yeah. Elasticity. And Merchants service we've seen a bunch of that and for so many of these things I'm, sure. You. All have seen a bunch of this in your own work right like use, of automation good, architectural. Patterns. Automation. Makes, things. Repeatable. And consistent, I love. Hearing. These in, terms. Of intuition. And, stories, but as a researcher, I need proof. And so, we've seen so much of this show up and in, our own evidence in Dora's research so the, nice thing is that everything. Here we've, seen drives, performance, outcomes as well, so. This. Sounds, super hard. This. Sounds like a lot to do right so what. Are some initial. Steps or where can we all start. There. Are a lot of resources, that Google cloud offers, for adapting. To cloud native development, the. First is with our developer, training and certifications. You. Can find free hands-on, training, that we offer online as, well as on-demand courses. With, things like quick labs or, Coursera. And, finally. We have in classroom, training, offered by many of our partners as well.

Second. I'd say reach out to your Technical, Account Managers. By. Working with them directly you can help, get. Assistance to finding your business requirements. And then coming, up with a roadmap that aligns with Google's. Third. You. Can work with professional, services, consulting, that, Google Offers to really, build whatever it is that you're looking to build and. Finally, you can work directly with Google's, support engineers, and. They. Can resolve whatever problems you have. So. I. Like. I mentioned earlier I started. On mainframes so and I work with lots of enterprises, who say like but. What if I'm an on-prem shop have. Do. We have tips for that yeah, and that's a really good question and one that we often get I mean, I I think cloud, tools can definitely help you offload, your work but it it really depends. On where, you're at with your migration journey so, for example you might be, starting to offload some of your applications, and systems and then perhaps, later down the road you decide to completely do, a Ryoka tech chure of select applications, so just diving into that a little bit more so with the lift and shift as you probably know what you're doing is you're actually Rijo. Stting your existing, applications, in the cloud and you're, lifting existing, applications, into, for example google cloud and then. Next up you might be considering, deploying your, application on the cloud and then supplementing. It and and, optimizing, using some of the cloud native functionality, so, you might be doing things like taking. Advantage, of our CI CD tools for example eventually. Replacing, Jenkins with cloud build, and then maybe taking, advantage of our database offerings, as well and then, monitoring, like stackdriver that's already built into many, of our offerings, these. Tools can actually, work really well without. React, architecting. And it can work in conjunction with, your existing toolset and then, lastly if you decide to react. Applications, you're able to leverage the benefits of containers. Micro services etc I love, the fact that there's something. That you can do anywhere, that you are right, to kind of move forward so. What's. Something that we can do today as we step, out from. This talk. If. You watch the keynote. Earlier I would check out the remote development, QuickStart, for cloud, code that. I showed off there it, allows you to try kubernetes. Without. All of the tooling setup so you don't need to worry about language, support. SDKs. Cube, control docker scaffold. All of that stuff I'd, also try adding CI CD to that sample just, like I did on the keynotes you can refer back to that if you want to see how. Yeah. And then likewise I mean just like how a cloud code can make it easier for you to deploy kubernetes, you, can also easily deploy, to cloud run and just a click so, with the link here you can try it out for yourself you can take your source code and deploy it directly, to cloud run simply.

By Clicking a button so I really encourage you all to check that out cool, well. Thanks. So much for your time thank, you for joining us we are out of time now but we will be around if anyone has questions.

2019-12-13

Show video