 Thanks everybody, I'm the guy who created this ansible thing So how many people are in like it or push code to production or manage code in production? All right, good bunch of you people anybody any ansible users out there. All right. That's awesome for those of you Not this is a generic talk anyway So a lot of times I wonder like what is my purpose in life, right? So I am writing computer software that in some extent creates more problems for people writing computer software And I think a lot of us do this So what I kind of really kind of realized is that a lot of things we do are not unique and interesting When we're pushing code out of production everybody's doing the same thing How many people are worrying about EC2 load balancing out there? It's it's phenomenal and everybody's kind of been doing the same stuff And the result of those cycles are that we're not Inventing new things So I think a lot of what I want to do is enable people not to just have more free time for beer But to have more free time for their own projects and their own ideas and to do new and interesting things So like I said your apps are interesting I want to see more people creating new apps So I want to see new people trying out new key value stores or you know, maybe people are trying out New ways to store their log data or what are all these things? but one thing that they shouldn't be doing is Doing the same annual steps all over and over again or figuring out how to solve the problems that everybody's been Solving in IT we should work together and a lot of my career has been like how do we get system ends and developers together to share? And and and cheat off each other basically So like I said we spend millions of hours each year doing the same things the exact same things and because things aren't open Or we're not sharing or people have just decided that I'm gonna go do my own thing and my own will not even hear solution We waste a lot of time so again, how do we fix that? Well, we can collaborate on what's in common So like and understand that the boring parts are the things we're all going to use So I think many projects here today you saw a lot of talks on docker ansible has modules for docker, but you don't have to use it In some cases is a good thing In some cases it might not be good for you But no matter what you do you need some sort of way to automate your tools. It doesn't have to be our stuff But I also believe that automation and writing all this stuff shouldn't be your day job either right If we build tools and somebody has to use the tools we create Every single day for eight hours a day What we've done is we've enslaved somebody right so And basically the goal of automation whether that's test automation or IT automation in general is to do things less so that we can do other new things and keep doing the new and interesting Uh again saving time for planning experimentation research those things we do care about I realize I'm talking into two microphones at once. This is kind of awesome I'm gonna keep doing it Um So one of those strategies is released early release often right so nobody knows what dev ops is I will not tell you what it is because no one absolutely has any idea um But one of those things is getting in the habit of rolling out your software often so that you're not surprised And that you can just press one button and have things go Um, one of the other good ways to to spend less time on on things that go wrong is building in a culture of testing Um Continuous integration tools like Jenkins. You may use something else. It doesn't matter awesome idea Have a build system run your unit test in the build system every single time Have an environment that mirrors production That you can basically deploy into your production simulation environment every single time a code change is made and see what's going to go wrong um Build up a culture of automated testing. So I think this is the one thing that so few people get right but uh Build your code so that it has good testable apis write programs to test your code. Don't manually test it Get with your qa teams and I'm sure they'll love you for it You know look into things like selenium for automated testing Know that the behavior of your code based on your your stage environment And your programs when it deploys what's going to happen Um, and that helps, you know, what's going to happen and also in production use lots of monitoring software um Teacher it process is a self-destruct. I have no idea what the slide actually means. No, I'm not No, what it is it's basically about knowing that when things fail knowing what to do with those systems So if you're doing like a rolling update across your infrastructure I've got 500 machines and I update 50 of them and and 17 of those machines fail It's a good time to stop the update before you you update the rest of the infrastructure because you're gonna make more bad things happen Um, so those kind of tools uh immutable systems very popular Between you know amazon and in a rack space and tools like packer and emanator and Tools like docker. Those are very popular ways to get repeatable infrastructure You're still going to need software to kind of help you roll out and do upgrades and All that kind of good stuff Get into continuous deployment right so go to your local dev ops group and uh understand what that means like Don't necessarily have to do it, but there's some really really good ideas to research there um And share tools and cheat so I think this is the big thing for us. It's why we make ansible um Get all the systems of the world to go together to build common tooling and all the developers that are building common tooling Uh to make something that we can all use and share and take from job to job And help other people with be able to have the same language describing your infrastructure um We also have a site called ansible galaxy So they basically you if somebody writes a recipe for say deploying uh like the elk stack for instance Wake up the elastic search people in the room The uh for instance you can find a role for that on galaxy and you never had to learn how to set this up And so we can cheat and share content with each other even if we work for like different competing companies So um, like I said, I think we want your infrastructure to be boring because we want people to have more time to do other things and uh Check out ansible and uh next up