Welcome to the new series of Whiteboard Friday, “Winning at DevOps with Continuous Testing”. In this series I am going to touch on what DevOps is, and how we can use Continuous Testing to achieve success in a DevOps environment.
Today I am answering one question to kick off the series: What is DevOps? It is a cool word that is used lot today and in order to set the stage for our latest series I want to make sure everyone understands what it means. Join me as I dive into how the Traditional Environment and DevOps Environment are different.
In this episode you will learn about what DevOps is
DevOps is a combination of the words Development and Operations
The practices of DevOps is to remove friction between the two groups so that there is a faster time to market (not a military operation)
Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time.
Full Transcript Below:
Hey, everyone. Welcome back to Whiteboard Fridays. I’m Ryan Yackel and we’re going to be talking about a whole series on DevOps and continuous testing this time around. But the first thing we want to do in this actual whiteboard is talk about what is DevOps.
It’s a really cool word that a lot of people are using, kind of throwing around today. If I were to tell somebody that I worked in DevOps, they’d probably think that I was part of some military operation. It’s a really cool word to say and it’s really fun to say as well, but it’s actually a combination of two words, which is “development”, which really comes to the software development team and the operations team that’s really kind of revolved around the maintaining what gets deployed, the monitoring of that and all of the things that happen after the fact you’re actually done with the product.
What we want to do today is talk about how they’re different, the DevOps environment from a traditional environment. In a traditional environment, if you’re not practicing DevOps, what you usually have is siloed teams where you’ve got software development and you’ve got the operations team. Let’s just say that you have a package of software that’s ready to be pushed out into production. The development team has developed it, they have done a product for that release and it’s been tested and so on. What they usually end up doing is just kind of throw this over the wall, so to say, over into the operations team to actually deploy that software.
If you’ve ever been in a business that had this type of model where they’re siloed, they’re not really talking to one another, it’s pretty typical. I was a part of an organization like this before coming to QASymphony where we always had to involve the operations teams that really didn’t even know what was going on, really over here when it came to the product that was actually being released. There’s a big wall that gets put up here.
The problem with this model is that if something happens over here, which is usually labeled as “production,” if something happens and there’s a feedback loop that has to occur, it’s not in real time and it’s kind of disconnected from the overall team because they are siloed. If you look at a DevOps world, what it’s trying to do is reduce this wall that we have set up on the traditional side. It’s really getting to a point where you’re automating lots that’s going on on the development side and the operations side through tools like Jenkins and orchestration tools as well that allow you to continually test a product and then deploy it automatically into production. It’s really getting to a point where all these processes are as automated as possible but the feedback loop is also talking back and forth between the operations team and the development team.
The key point here is when you’re planning, developing, building and you’re getting to a point where you’re about to release it to production, this wall that we have over here really becomes more of like a push button. It’s more, okay, we are ready to push this out into production at any point in time. How can we do that? What we’re going to be getting into talking about next time is we’re going to be talking about the types of DevOps languages that we have here to talk about, which is CI, which is continuous integration, CD, which is continuous delivery, and there’s also another CD, which is continuous deployment, which is the most progressive DevOps types of form.
One thing I’ll mention, though, is that in this model here that we’ve kind of talked about, there’s something that’s a little bit missing. We have something that revolves around coding, merging, building and releasing it out into production, but where is the actual testing going on here? We’re going to be talking about that in the Whiteboard Friday series and we’ll be kind of focusing on this area of the development side of where continuous testing can come into play here, but also can come into play actually in the production side as well. Stay tuned, we’ll be talking more about continuous testing in a DevOps environment.
Hey, everyone. Ryan Yackel here with QASymphony. Thanks for watching Whiteboard Friday. If you want to learn more about QASymphony, make sure you go to QASymphony.com. There, you can sign up for a free trial of all of our products and you can go to our resource section where we’ve got a blog, upcoming webinars, all things related to testing. So, thanks again for watching Whiteboard Friday. We hope to see you soon.