 Everybody good? Everybody good? Couple of breakouts under your under your belt here a few more to go good content so far Yeah, awesome. Awesome. So this is our journey to to DevOps made possible by GitLab so All right So who are we as a company? Jim worth is a financial services company. We specialize in insurance products We sell life long-term care annuities mortgage insurance, so That's kind of our product portfolio, and that's what we specialize in the emphasis being we're a financial services company And that'll come into play here a little bit later So us personally my name is Frank Ford my title is application development manager I play more of an architect role at the company and I'm Mark Downey I'm senior manager of application development. I lead the web services team I've been here for about seven years So I was originally hired as a Java developer about 13 years ago and have been there ever since so What we hope you're going to walk away with today is why we started with GitLab as As a product and we're going to work from our story as a bottom-up story You've heard a couple of top-down stories today from the from the keynotes Ours is a little bit different and it was a grassroots movement that kind of became a an organization-wide thing Kind of where are we today? And where do we plan to take this in the future? so As I mentioned we're a financial services company that means we have to deal with a lot of regulation and The long-term care insurance product that we sell is a health insurance product So we have to deal with fun stuff like HIPAA and if you're not familiar with what HIPAA is That's the set of regulations that guard your private health information So we have to we have to deal with that on a on a daily basis Not only that we're in the process of we're publicly traded company right now in the process of being acquired by a foreign company That has added a much higher level of scrutiny To what we're doing because that company is located in China And so now we have government regulators inside the office and they're they're taking a look at what we're doing and we have to make sure that Data is segregated and protected accordingly So our journey Well, we started and just roll back the clock to about 2012 we're a hot we're a heavy Java shop and We had some we had some developers that were writing their code on their laptop and doing some builds But we had a we had a we called it. We had a homegrown build system. We called it auto build and it basically was just a Linux box that had Eclipse install on it and just ran in headless mode and it would run ant build jobs and our developers didn't really like interacting with it and so they said oh well this thing's just running a clips in headless mode And I've got some ant builds and they're checked into CVS And so I'll just pull those down and put a clips on my laptop and we were off to the races They were doing their own thing building their own stuff on their own Laptops and this is the stuff These are the build artifacts that are you know getting deployed to our environments and moving all the way up to production It wasn't really sustainable. We didn't know what was you know kind of being built We couldn't you know, we had a problem in production. How are we gonna roll it back if you've deleted The build artifacts off your off your laptop already or you know, let's think about the the business continuity of this All the code all the intellectual property for the company is sitting on an individual's laptop It's not checked into version control They're just you know writing this stuff and and doing it. It was it was kind of like the Wild West so You know if somebody puts that laptop on a car and the the car drives away. I've seen this by the way You know you drive away and then the laptop falls off and it gets hit by Another car or something like that, you know, you know, then that side comes in and they bring in this laptop It's folded in half and you know, they're like, well, what's going on with this thing? They say well, it still turns on and You know, it's it's funny, but it's really not because now how do we how do we get that data back? And there isn't really any way to do it unless they were put into inversion control So we all sat down as a team and we said, okay, how do we want to work? How do we how do we want to do this? And and they mentioned get and they want to use get, you know, they don't want it They don't want to interact with CVS. They don't like the way that we're interacting with CVS They don't like the the build server that we're using They wanted to use get so It's just 2012 and being a financial services company putting things out side of our organization is scary So it's it's really scary for us. So I knew we had to go on-prem so I started looking around at what we have internally and We had an install of stash So I went to the team that was managing that that install stash and said hey can we come play in you know playing your get the keys to this and come play and They said no, we we have the small user license and when you get to the bigger user license It's very expensive and you would put us over that limit and we don't we don't want to do that So I knew I needed an on-prem self-hosted solution and it needed to be low-cost and that eventually steered me towards get lab and so I went ahead and spun up, you know requested a VM spun up get lab on a on a server and The development team loved it. I now had you know source that was in version control It was all backed up and everything was great So so life was getting better And then and then along came this guy and showed up at my desk one day and said so I hear you have a burge Or an install of get somewhere. Yeah, so I talked to that same team that that had the stash server And they said I think you know you can't come here. So I think Frank's spitting something up So I went and talked to Frank and said hey I'm been looking at you know getting a CI pipeline put together At the time it was before You know good lab had integrated CI, but I knew that I needed webhooks to Call out to Jenkins. I didn't want to pull the Jenkins server. That was a little inefficient. So I wanted to get and so led to this guy and so My team kind of embraced it. We moved all our CVS code over to get Little rocky at first. They were following the old tried and proved habits of keeping all the development code in head and And I said no no no You know master branch that is that is for your production code. So once we got that squared away The next step was Issues so we had these post-it notes you know on the on a white board and And that was fine for a while. We moved them over, you know We had you know stuff that was in the backlog then we had started and then in progress And then and then you know We we all of a sudden saw in get lab. We were like well it has issues. Why don't we just move them here? Didn't have boards at the time, but But we still were able to put all that there and and actually tie the code to the issues It was it was fantastic. You could link back and forth And say at that time we had we have an install a bugzilla that we were using for the issue tracking and we'd written some custom stuff in there to help link it back to CVS and then That would break sometimes There's a little of a little script that would have to be running on there to invoke it It would break periodically and people would pay me and they'd say hey Can you ever restart the thing on the thing and you're like oh now? I know what you mean you mean that thing So, you know it It all of this made life a whole lot better. Yeah. Yeah get lab. It was all integrated. So that was great and and as as New things came along You know we were I was I was kind of stumbling into this agile like workflow. It wasn't really Something that I ever said hey, we need to do this kind of started because We're a very waterfall organization, but you know being in the web services. We never got any BRD's You know the teams didn't think we needed it. They just said you know you you go do this I was like well that that doesn't help. I don't have any requirements And so they give me the BRD and I'd say there there's nothing about my my layer in here You say the UI and you say the database, but you want me to connect the dots? so That kind of led to We said okay. Hey, why don't you guys just log in to get lab put what you know Into into our issue tracking and then we'll work from there And so that began to be an iterative process of our developers, you know going back and saying we need these things answered And and at the time we were developing a brand new application to replace this aging application that had You know 4,000 days of technical debt in in in the sonar cube report and we're like that needs to go away and so you know when we when we Created the the new application. We said we followed all the processes That that we kind of that would kind of saw through get lab and it kind of was the genesis to To how we started to you know starting with get flow and evolving into You know we followed it very religiously And then we started Taking and taking a look at well What else can get lab do for us and so LDAP kind of opened door We want our developers didn't like managing multiple You know Yeah, I didn't like managing folks logging into the system anyway So we just went ahead and hooked it into ad which required us at that time to To upgrade to the the enterprise products Which was great because it was it was that we were able to put it on on on more corporate cards and Yeah, it was a very Yeah It was great. So yeah, we got away with that for you know a year and then True uptime came and it was still under the limit So I was running through the card again But during that time word had started to get out and other folks have started to ask questions about hey So I hear you have get lab up and running and we would like to also migrate off of CVS So it kind of it kind of grew it kind of grew naturally Yeah, and at the same time I was starting to see all of the new features coming to get lab You know, this is about We're probably about five years ago now See I came in and and we're Taking a look at our Jenkins scripts and we're like well these these kind of break all the time There's not a real good tie-in. We're managing 15 jobs for this one production pipeline This get lab thing we'll put it all in one script We can see it. It's checked into version control. We can we can keep track of what changes are made to it And so that was great. And so then I started looking at every release notes That came from get lab and I said, oh, you know that that new feature That's that's really gonna start to shape my team We also we also like staying on top of this so very early on we scripted it so that it would go ahead and upgrade itself It would check once a week and then automatically apply an upgrade if it found one And that's helped keep us Up to date with everything that get lab has been throwing out and allowed us to take advantage of new features as they come out instead of saying Oh, well, we're eight versions behind and it's gonna take us a little bit of effort to upgrade to a new version To use this new feature that came out that we want so Maintaining that that that's keeping yourself up to date is a it's a big thing. Yeah My team began using the milestones to track their sprints so and then We said, okay, you know you you want to you want to release? Let's let's not put it three months out Let's not put it five months out. Let's let's just release once a month and so we'll develop for two weeks and Leave it in testing for a couple weeks and then releases to production So what does that look like? You know, we started to shrink down to what we can complete in that two-week cycle And we really got and began to get an understanding of You know, how much work we can take on how much is a safe amount of work to commit to And that fed back to the other teams who you know about this time, you know, we're seeing a lot more of My team and what we could produce We released our application to production and it had Much less it's about a 90% reduction in the technical debt. So it went from 4,000 to just a couple hundred and You know, so then they started coming to GitLab So we we started begin we get began at like 10 users for the first year Today we're at 450 users Larry I got a true up that I got to do coming up You know A couple other features that were that were key to bringing people in were with the issue boards The issue boards are great People love the visual con bond type style and being able to make that digital You know really really cleaned up a lot of our meeting rooms We had a lot of meeting rooms that just had tape all over the walls from where people had put the You know, they're they're cards that thought on there Well making them digital kind of fix that a lot then the Say the the the last thing here is is Kubernetes Yeah, this is this is future state for us So we're we're working with our infrastructure team to get a Kubernetes environment up and running so that we can have GitLab actually handle This whole container thing for us That's kind of the that's kind of our holy grail is to take that whole provisioning thing away from our infrastructure group And put that in the hands of the of the developer and say I need this much compute and let's go It's a holy grail because we've had to fight the crusades to get here. Well that and well, yeah Yeah, that and the other the other aspect of this is because we are Being acquired by that foreign company We've had to put a lot a number of a number of barriers in place between us and our infrastructure And while they do a really good job of turning around standing up traditional VMs. We can probably get one in about 48 hours This would remove that that barrier as well But that all has to be done that we can't pick up the phone and call them anymore It all has to be done through tickets and we have to communicate through the ticket. We can't actually communicate Using using any type of instant messaging or voice or anything. It all has to be done through a through a ticket So that that that piece right there is greatly going to speed up the way that we can deliver stuff So we want to leave you with some lessons that we learned along the way You know things things that you know, we either did wrong or things that that led us to where we were One is being open to new ideas Listen listening to your development team You know, they're saying hey, we want we want to try these new things. We we we're seeing these things Done in you know, don't just don't just brush them off. Don't just say hey This is the tool set that we have and this is the tool set that you're gonna like is the tools that you're gonna use Be open to trying out new things be open to experimenting a little bit You know, that's what led us to to this and and you know, and now we have it on the nearly 500 user base inside the company The other thing here is think about non-traditional use cases What are some ways to get your security team involved? You know right now we just had a meeting a couple weeks ago where our security group is is very very interested in Some of the new security features that get lab is is bringing to the table They think that You know that could actually we could retire a couple of other security related products that we have and stop paying maintenance on those and Paid support for GitLab and it actually winds up being a cost savings to the company So, you know think about that, you know and everybody the bus term DevSecOps it helps get you there so Get your teams buy-in before implementing change. This was this was very important for my team In in going from the traditional style where they would pick up a ticket and work on it for a few months and implement a change You know, I wanted to shrink them down to a couple weeks, but we had to do it over a number of steps number of iterations and and in in each Block I made very incremental changes to make sure hey They can see the improvements that are happening. They can see the cycle times being reduced They can see that their work is actually being appreciated because they didn't you know deliver it three months late So as as you're implementing change, don't just don't try to just dump it all at all at once They're gonna rebel they're gonna say hey, wait. Whoa. Whoa. What was wrong with the way? We did it before make small changes make Say hey, we're just gonna move these things over here. It's still the same way You know we always do it and then you start to tweak things on and playing off of that Stay the course. There's gonna be distractions along the way. There's gonna be bumps on the road Just like you said your team may push back on well, we're making too many changes too rapidly You know listen to your team get their buy-in, but but stay the course you know the end goal that you want to achieve Make sure that you're you're dedicated to that and and make sure that you follow through with it because As as we can see right here Also, don't get distracted by the baggage that you're gonna have to carry forward. We have a lot of legacy stuff That it right now. There's there's no reason There's there's really no way for us to just rip it all down and start from scratch as much as we would like to do It so there's things that we're gonna have to carry forward Don't get don't let that don't let that become a while. Well, you know We got to carry this legacy system forward one. We don't need to do this You know, you know, you know, you you know work with it inside the the confines of Git lab and your CI CD process and and whatever methodology you want to use for development And and make it work for you. There's there's there is no one prescription for how to achieve this transformation It's whatever works for your organization So keep that in mind we and and lastly here, you know, don't don't let your day two items Remain day two items We we have a we had a bad habit of Kind of pulling some stuff forward to that auto build box. I mentioned a little bit earlier in the pitch It was really just a bunch of ant jobs that built Year more files for us and all we did was we just kind of lifted the land of those into Jenkins and said, yeah It's in Jenkins now It didn't really actually do much of anything. We need to go back in and fix that whole process. So Do we have any anybody have any questions that Larry what you got We use the mic for the questions, thanks you mentioned a ticketing system to launch the Enhancement what is the ticketing system that you're using number one or two What is the overall outcome that you have seen as a result of the transformation? What are the metrics that management has seen and the visibility and what's the perception? Okay, I would say that the ticketing system. We're using a service now. It's service now. So you want to handle the metrics piece of it because Not yet. Not yet. We're looking into that Trying to figure out how to integrate get lab with service now so that we could have like our folks in the You know when a troubled ticket comes in from a customer service rep or somebody that's using any of our systems Call into the help desk the help desk could log a service now request And then if that gets triaged and ultimately needs development support or IT support Have that issue just feed on over to get I've created an issue inside a git lab And that's where the fingers on keyboard work actually gets done Your metrics The outcome the outcome the outcome has been has been great March team again, like I said has stumbled into into using agile. We're not really using the term agile It just kind of happened And and he you know, he's able to deliver stuff much much faster than than everybody So there's there's still a set of group a set of teams inside the company They're using waterfall and they do big bang releases and so you have to wait six months before you get your new feature Where we're in the process of implementing a new CRM system right now and mark team has been able to help support That effort by you know adding data elements to web services and do stuff He's been able to do that very very quickly and they've been very appreciative of the the that level of support because they say Oh, we forgot this this data element when we were scoping the service out So we need to go ahead and get it back and we don't want to wait six months to get that done We need it in now and his team's able to support that. Yeah in the old application. We had You know these 48 hour windows to to deploy applications and To our Planning meetings just to discuss the steps that are going to be done, you know over the weekend You know that all went away when we when we built our pipeline And we can we can deploy code in 10 minutes And and nobody has any, you know There's no downtime. There's no, you know, we're able to do a rolling restart and it's all automated We don't have people getting in the way and you know tripping tripping up the the works Works a lot better than than it used to Yep Any other questions see one in the back back bring you the mic Hi guys question for you. You mentioned Guy on the right mentioned he had to come to guy on the left. Sorry Mark right got it So you mentioned you came to him for CI help right because he was using GitLab. What about CD? Where did that come into your pipeline was that CI CD that you were looking for or was it just CI initially and Then CD was like an after effect. Yeah so Being a being an insurance company. We always think about control for production, right? We don't want to hand over the keys So having a completely continuous delivery pipeline You know it's probably Not going to be accepted by senior management Except we did it anyway We we kind of built the pipeline and then we then we have a Step where it just waits for somebody say okay And in this case it's that third-party entity that that administers our production environment they get Our our CI build will send a email to an email eater it'll get absorbed into their service now ticketing process and within a couple minutes somebody on that team will just Click the link and click okay go and and it goes from there so You know while we we have a CD, you know in place We've had to put in those those manual steps to satisfy the Some of the fear some of the regulations that we have to put up with