 You know, have you been to my other sessions where I open up with music? Yeah, I normally open up with music Yeah, so my planning and migrations are do you know where you're going to? And then I did Features now more of Cal with more cowbell. So it was all about like Yeah More cowbell Yeah, those doodles almost came back because they're all like bands and guitars and everything that almost trickled It is on our hook 42 shirts But I wore my Johnny Cash outfit today. It's because like Gotta bring a little bit of the Johnny Cash Nashville in here It's so quiet. Are you guys enjoying your time here so far? Okay, good. That's a good Nashville food Music who saw live music yet? Ah Awesome, that is fantastic Yes, I If you woke up earlier enough to see the pre-note, then yes, it absolutely counts as a live music performance Yeah, I did I did not I'm I classically well sometimes I've gone, but it's always like oh Was I out too late the night before? Oh You're quite responsible. Oh, I know it's so hilarious. Yeah, I just On the day if I if I have the the talk that I'm doing that same day It's also in like oh, I just need to go in a corner and have a moment before the talk Okay, we've got a couple more minutes So wait for people to mosey on around so I talked to somebody that Lives here and this is a really new conference center. They just this is like the first year. Do you live here? Oh Oh Fantastic, you know more than that, but it's basically pretty new and it's all Leads certified energy forward. Oh Really? Oh, that's fantastic. Actually. Oh, that's fantastic. Oh Yeah, cuz I saw in all the signs like all the the washrooms use the rainwater capture so For the ladies and the allies in the house. There's a woman in Drupal event tonight Yeah, it's on the events page Look 42 sponsors it because we're women in Drupal and we like to support those things It's a good match It's a fun group All right, so should we start really on time because now it's really on time Okay, all right. Good afternoon Hi Come on in have a seat If you're in here to talk about what mix of DevOps things is right for your needs you're in the right place My name is Amy Degnan and I'm the CEO and principal architect at hook 42 Today we're going to cover the what and why and how we got to DevOps some of the how Through concepts and tools keywords and also talk a little bit about choosing your DevOps solution Just some disclaimers here. It's a really broad topic This is not a huge deep dive everywhere or anywhere and really these topics sessions warrants are these topics Like warrant their own sessions and conferences and they do have them our days and days of training If you're expecting for me to mention a tool just cold tight We'll get there Because the order of it kind of like everybody gets really antsy I've done this session a couple of times and they're like hey, hey, when's that tool when's that tool when's that tool? I'm like, whoa, it's okay. We'll get there But if I miss one, please by all means bring it up in the question and answers And there's a lot of words because it's a really dense topic And but I'll be posting a PDF version right after the session on the session The goals here is to gain understanding consider the impact of DevOps to your business Identify relationships all throughout DevOps and also think differently I normally don't talk about myself in presentations But it's important to understand where I came from and why am I doing this session? I was I am a child of a network and systems special specialist from a small company called General Electric He helped set up the internet So I was exposed to Very forward networking network computing since a young child I went to school for sports medicine and athletic training and figured out I couldn't fix an ankle as good as I can fix a computer So I switched over and I became a systems administrator across multiple platforms and custom hardware I was really lucky. I got to work at electronic arts And set up a lot of their online gaming infrastructure and large-scale deployments of their E8.com platforms There I kind of evolved from a CMS specialist web application developer and an enterprise architect And then I was like well this stuff isn't really working because some of the decisions that are made at the higher business level aren't just Really valid for what I should be doing technically you can see a lot of gaps and disconnects So I just said oh, yeah project managers can handle that And so I did some project management at Ubisoft and and health net And then evolved into a process improvement engineer so how to take metrics and make broken things work better and then evolved in a strategic direction and Really the end I was as a technical person in an old school curmudgeonly sysad men at heart I wanted to be in the most effect effective position to influence like informed change Right and and DevOps is all about change and managing change and supporting change So I'm going to talk about Why did I use the word things in the title? Well? I wanted to remove word baggage right because there's terms in DevOps that mean multiple things to multiple people based on the Experiences you have or maybe the blog article you read or somebody is running around with a flyer somewhere So we're going to clarify debs off DevOps terminology in context of concepts, and I can say that ten times So this is kind of fun cloudy with a chance of DevOps is Kind of how a lot of things happen in DevOps And it's a it's not very clear, but it's kind of silly It says I'm sorry if I do dad jokes in the middle of this But this is from Bridget Chromehound from pivotal labs. She's a leading DevOps champion So what is DevOps and why did it evolve? So simply its software development plus IT operations So that's where the name came from and it also contains QA for business alignment. So I love Venn diagrams. There it is Thanks Wikipedia But really it's this combination of a lot of different mindsets to to achieve a specific outcome and Why did it involve in humanity? Okay, so I did lots of large-scale systems administrator This is the exact blackberry version I had and I got Like called lots of times and what the systems administrators would think is why don't the engineers write code that will not continually break production at 3 a.m. Okay, and then the developers are like why can't I have root on production and fix all the things, right? And so that is something that's been an ongoing battle For a long time it still happens But really as like things evolve a new systems administrator goal is to be Conan the Deployer and Really the best thing in life is to continuously integrate your services to see the test suites fail and to have engineering Lament about it while you are not we could woken up at 2 a.m. Right? So it's like hey give the engineers their tools to do what they need to do Without having to page everything and break production But really let's take it up a level what does what does the business want with any IT operations or web operations? they want an efficient and Strategic use of the available resources time money team tech to achieve faster time to market improve deployment frequency and increased deployment frequency shorten lead time between Deployments lower fail rate and faster time to recover recovery So remember these concepts because that's the driver of all of your DevOps types of choices Okay, these are the core goals that drive what choices you make on your tool set Really give me the best product for the fastest thing so I can make some money and like slam the competitors Also, what happens is to actually really make those goals across team collaboration is necessary to reach those right? Because the applications grew more complex the applications needed more computing power. They need to be bigger More complex Environments that integrated all the things you and then we did a big movement from a build and ship software Who like bought a DVD before or CD of like a video game or some software? Yeah Physical that's a completely different development cycle than a continuous online software Cycle and it was great because I was at electronic arts very early And it's a it was a very built to ship software company and to to help transition a lot of that development team operations team and business to an a continuous mindset that was this was in like 2099-2000 it's a long time ago But it was a huge shift in thinking it was very difficult and it takes some folks still time to move that over Now we're having this other additional challenge with to support the internet of things, right? So you have a hybrid hardware solution like your Fitbit or your home control software and an online interface That is showing the data that you you interact with But really in the end it's you have to support more with the same amount of people or less, right? So pushing for more want to spend less maybe want to spend different money Okay, so this is a beautiful kind of diagram here of the DevOps process and What's beautiful about this? It's continuous. It doesn't end What's interesting is like there are some phases that are heavy are on the dev process here on the dev land And then and there's some processes that are heavier on the ops side of things But this is and we'll get into this later, but the ops side of thing has a lot of support That happens in the dev process and vice versa dev has to be very involved with the operations phases So just because there are these two groups doesn't mean they're segregated There's a lot of overlap and a lot of collaboration on every phase of the dev op process So I'm going to do process management 101 because it's really important to understand that a process is the people and Systems performing the action performing actions in repeatable order with predictable outcomes repeatable predictable people and technology things are transferred between each step success code You know an error message that type of thing and decisions are made based on that transfer of things And then you collect metrics throughout the process and for review and adjustment within the planning phase So you can see oh how many times did that handoff of the thing break how many how fast did it take that type of thing? And if you think about it like that the basic process structure It really drives a lot of the characteristics of dev ops Very internet interconnected some of the main dev ops characteristics. It's connected. See I just said it connected I'm going to say connected a lot the cross team, right? So you have business owners and you have QA folks and you have engineers and operations All sorts of folks cross role cross system We want to really drive for parity and equality So making sure everybody is working with something that is as close to production or similar to production as you can Velocity movement speed forward movement and this is a characteristics of dev ops Continuous repeatable automated and also very early error detection. So Bring these characteristics with you and we're going to talk about Continuousnessness Yes, that's fun So if you look at dev ops and you hear about all of these words There's like continuous dev ops continuous integration and continuous development and continuous quality continuous testing delivery, there's so many continuousnesses And and this is like a screenshot of Google like that. There's even more right and so sometimes there'll be Some teams will call some time the same type of commute continuous thing a Different word than somewhere else and it's is it a marketing thing? Is it a keyword reach for SEO? Are they trying to kind of expand a concept? I'm not sure but when as you research tools and come come to understanding with what you're looking at just make sure like If the words sound kind of similar then it they might be saying the same thing But continuous delivery is not the same as continuous deployment Just want to call that one out continuous delivery is always making features continuous deployment is always putting the files on the server This is a nice visualization that I found Because you see the image that I just showed you with the nice infinity symbol Kind of represents this one flow But really the continuous activity happens within each phase as the dev ops Activities happen so you have continuous planning and continuous integration in each one of these Areas feed into the next step, right? So you have to plan what you're going to build you're going to you have to build and test what you're going to Build then you release it and then you just then operate you keep it Stably live in production and then that customer experience help like interacts with your end product And then throughout this whole thing there is a platform of continuous assessment Which is metrics and review of things that are broken and you have this continuous security It's across all of the parts of the system so It's it's everything is connected everything is continuous And then there's a big thing about automation and and some people will be like Do I really have to automate all the things? Because maybe they don't know how to automate it or maybe they know it may be a daunting task and some people are like Automate all the things because they love automation and they're like I'm gonna automate everything And then really what we look to is to keep calm and automate all the things because then everything is in and things keep moving and Automating all the things is Like at all is a big word But you want to automate the things that are that can add efficiency and consistency Reduce human error reduce machine error You want to have your automation be a force multiplier So if you can take that time to write automation scripts and then it releases that person who wrote them to do other work And that's fantastic We also want to reduce time to market and capture metrics along the way So some of the challenges of DevOps is like really what do I choose it's so confusing It has a really quickly changing and vast tool market and all of the words We just talked about some of the words and there The words are getting funner and hipper and and and what is that? What do they all mean right because they meant something five years ago where they didn't start that now They're meaning something different and also what is the hippest thing? Like do I need to look at the coolest best new thing on the market? But is it right for your needs? So there's like this moment of evaluating the DevOps kind of Environment to see what you need What's wonderful is this know-ops movement who's heard of know-ops before Okay really I looked a lot about getting a firm definition of it and Conceptually it's an evolution of automation into intelligence opera intelligent operations Pantheon I was overhearing some of their demos and they're talking a lot about their kind of Movement into a know-ops type of thing But really the philosophy around know-ops is like the IT environment is abstracted so much from the developers That you don't need a dedicated team to like manage all the infrastructure But the infrastructure actually does need to exist somewhere Some type of infrastructure needs to exist and we'll talk about where those things can exist later But some characteristics of know-ops is serverless programming Containerization Like we already use a lot of Docker triple VM. So more containerization Moving to a microservices architectures. You don't have monolithic sites And intelligent and unified operations. So that's like monitoring and deployment and log tracking is actually being Watched by something that goes hey, I'm gonna look for these error patterns And it's also going to have some self-healing when they see an error pattern It knows how to fix it. So instead of calling the sys admin or developer to fix it The system already knows to self-heal And they're doing a lot of movements into a more seamless type of rollback and it's it's really a fantastic thing So really quickly you can see how The internet's involved or evolved the internet infrastructures So in the 90s, it's all data centers and iron, right? And I'm just gonna tell you like the cloud still runs on servers Just so you guys don't yeah, it's there the cloud is not a gaseous place of like hard drive space But really what we started moving in into is virtualization and APIs and then evolution into that first round of like Sysops area like cloud ops right and but we're really evolving into no ops and actually no ops was a movement That was brought up in 2013 but what happens is all the tools and the support and The supporting languages, they're all getting more mature so they can get closer to a no ops movement I had this discussion With an old sys admin friend of mine and and we had this you know is no ops something that's going to be like Shangri-La Right because at some point stuff something's gonna break and you're gonna have to call somebody with systems Background to like help you And I think that that will always exist. I just want to be optimistically realist here But it's a good good place to go and Where can I find me some no ops? The market's maturing quickly like I was saying you can visit some of the hosting vendors here They're already tying in these types of intelligent operations and systems here That and that vision is really pushing growth through the classic DevOps the need for having Infrastructure that's already there For developers to use without having IT investment is a really strong message that these hosting providers Have been hearing and I want to address one thing because it this is the good kind of place to do it Kind of seems like well that will put a lot of IT workers out of their job right and that's not really at the case because These big Infrastructures to support a no ops environment needs to be supported by someone that has that type of background so The people building the infrastructure for no ops tools are going to be that the classic IT folks and development operations engineers So the DevOps culture you can't just do DevOps you need to live DevOps It's true, and it's a very zen moment. So let's take that together in the people that exist in DevOps Developers so their task to build forward-changing features for the business They might not understand network computing very well. So who is a developer here who who identifies as developer? Do you feel like you have a firm understanding of network computing? Okay, that's less people that raised their hand, right? But they often use the tools created by DevOps and IT engineers right to do their jobs. They have to understand the tools The IT ops team are intensely cautious They test a lot Measure many times before they press the button We're really paranoid that production will break because it will and they will get the call because that's what their job Is to get paged And they really are tasked to understand full impact of the overall system change Not just like what's on the server, but the server the application the networking everything that's chained together That's the IT ops historic responsibility But then you come in and have this concept of a DevOps engineer and they really represent the crossover the two roles They bring the best from both they have a a large amount of paranoia to help them create the Non-breaking very reputable tools that improve confidence across the teams, right? So you have to take a lot of that Same characteristics out of somebody in IT and ops historically, but with That really went stability and they want to balance that with that driving need to move forward So some skills assumptions just really quickly all technical staff supporting DevOps Need to know more in general There's a higher mental lobe than historically because they have to be more cognizant of what the other person is doing in the other in their dev process Some of the technical staff may not have the skills for DevOps tasks So you might have a front-end developer that does not know how to create their own gulp Scripts they might not know how to get the compilers put together They might need to because maybe they're junior and they're doing all right on some front-end stuff But you they don't know how to get their infrastructure set. So you need that type of help So some may not have the desire to be a DevOps engineer who loves DevOps in here Okay, who hates it? Okay, there's a love and hate relationship with both of those. So right so and I think I feel both It's a love and hate thing But I actually love the fact like when you press a button and you can like Deploy code to thousands of servers and you can see nothing is failing and everything is good and you can Like rest easy at night. I think it's fantastic But I would really want to take away that all technical staff should be able to use the tools that DevOps creates Right or no ops right all the people on your technical staff or stuck our stakeholders of the DevOps tooling process So very quickly a developer evolution, how could they evolve into a DevOps engineer? It's like they learned how to code they're playing around with their own dev tools Then they're like oh, I want to grow into a full-stack dev Then they start integrating things so that integration Requires a little understanding of systems and networking and security and then boom They might just evolve into someone that has interest in DevOps because they have the supporting skill set now On the sysadmin side you have to you understand the system you can install things you can get a computer on the network Oh, I have to install software on it. I have to support that software on it I need to do full-stack debugging of that software and our custom app because it's in the two in the morning And something broke and I have to figure it out And so they start dabbling in application development and evolve up to DevOps So what's interesting here is cross-team alignment matters Historically like and still still now Incentives may be different from each team right success measures may be different and accountability may be different So like for development, how many features can I get out the door, right? So that's the the continuous delivery Maybe they have a metric like I need to get X amount of features out the door And then the operations team has a completely different metric, which is how stable is the overall system like is it up? Is it performant? Am I not getting people like my customers complaining about the site? So the problem with this is the dev came teams like yeah, let's crank them out Boom boom boom boom, but if they crank out a bunch of unstable buggy features and you don't catch that earlier That number is seemingly good for dev But it's really bad impact on ops and it causes an unstable environment And so this is a huge impact to cultures you have this wall of confusion like the two teams are separate And there's finger pointing and it goes back to why did you make me wake up in three in the morning to fix your stuff? And no one wins out of this situation, right? So when we bridge the gap, there's no silos. There's only the total team There's full transparency of information across the dev ops process You have open and frequent communication communication rewarded, right and make sure that the teams performance metrics are tied together or aware of each other and also it's Tied to the overall dev off process, right? So instead of just having one teams accountability it's it's accountability for the whole success and Really you have to make sure that use data-driven work for that accountability And the big thing about dev ops culture is that the business Needs to support the dev ops culture, especially if you're going kind of to an older school an older school very separate and segregated development IT staff Dev ops will fail without leadership supporting it So the company must encourage communication healthy and communication Also embracing an agile nimble approach. They also need to basically figure out if they're going to reorganize their their The teams if to make sure this matches that what they need They have to invest time money Team and faith like wow this is going to be hard for some industries to like hey I gotta I gotta take this leap of faith Because I have all these tech guys telling me that I should do this and the business is like well Show me why and that's part of this why this Conversation exists, but also really once again data-driven decisions to guide growth You can't have someone be like I just feel like this today and that tomorrow. It's very difficult to have that Business leadership that's not going to be grounded to help the dev ops changes And dev ops is work dev ops takes time and it must be addressed as such so budgeting Putting it on your product roadmaps that type of thing And a surprise benefit of dev ops is the platform of continuous learning So basically when you have these cross-functional engaged team members working together on this overall process It provides understanding across the board People have exposure to more tools and techniques and it provides them Opportunities to go. Oh, yeah, I really want to do that over there. I really hate this development I'm going to go be a p.m. But I like this infrastructure. I can do that. So it's opportunity for growth for all So the dev ops tool chain so just to hear a A tool chain is something that you'll see a term used for the multiple amounts of tools that you can use on the system There's some overarching concepts that we're going to touch on and these are techs heavy. I'm sorry, but just hold tight We're going to talk a little bit about self hosting versus hosted solutions So self hosting is the installation and configuration upkeep of one of your dev op tools Or many of them on a server completely managed in and by your organization This is in addition to all the work that's required to support your business applications and your website So like you can you can have a self-hosted Atlassian stack You can have it yourself installed get servers. You can have yourself installed get lab Where hosted solutions are a pay-for-services where you just like Plug it in. Hey, I'm going to just start using this and all you have to do is focus on your business goals So has anybody heard of github? Sorry, I'm being sassy now because it's the afternoon. Maybe pantheon aquia You know platform all these guys Also circle CI Travis CI get lab. There's a lot of these hosted solutions that will we that will Allow you to not have to focus on that infrastructure. So it's that movement to a no ops Infrastructure There's single function tools and solution suites. So a single function tool will serve like one thing like You know be hat cucumber our testing tool selenium tool, you know is a testing tool So they focus this one part of of activity in the freight in the all the phases now You can use those testing tools on to build and test and on your development Environments, but you can also use those