Enhance Your Testing with Docker: An Interview with Glenn Buckholz

[interview]
Summary:
In this interview, Glenn Buckholz from Coveros explains how you can use Docker to improve your testing. He details how the containers platform allows testers to capture more descriptive defect reports while communicating a high volume of information to developers quickly and effectively.

Jennifer Bonine: All right, we are back with another interview, so thanks to our virtual participants for joining us. And I have with me today Glenn. Glenn, this is our first interview together.

Glenn Buckholz: Yes, it is.

Jennifer Bonine: So I'm excited to have you here.

Glenn Buckholz: It's wonderful down here in Florida, and thank you for having me speak.

Jennifer Bonine: Yeah, absolutely. And some of the folks out there watching may be familiar with someone you work closely with, Jeff Payne.

Glenn Buckholz: Yes.

Jennifer Bonine: So Jeff has sat here in our interview spot quite a few times, and he and I have chatted about some of the things Coveros is working on and what's going on in the industry. So you've attended a couple of these conferences now.

Glenn Buckholz: Yes, this is the third conference I've had the privilege to speak at, and it's a wonderful group of people you have here, and I love being able to share my experiences with different clients with all of the attendees.

Jennifer Bonine: Perfect. Now, from your perspective, what were you speaking on, so they know? Because unfortunately, probably, they didn't get to see your session.

Glenn Buckholz: I was speaking on—the name of the topic was “Using Docker to Enhance Your Testing.”

Jennifer Bonine: Okay.

Glenn Buckholz: And basically, at Coveros, we've had a couple of different engagements where the client said, "We must use the Docker," not really knowing what ...

Jennifer Bonine: "The Docker."

Glenn Buckholz: "The Docker." Who, why, how, what, or where to use it. And sometimes it wasn't always a good fit for the venue we were in, but what we did was, we made it work the best that we could, and we're able to find some interesting applications in the testing vein for how to use Docker. And in one of the cases that we have, we were able to take our CI/CD automated testing pipeline and basically drastically reduce the server footprint. We were able to shrink it down, which of course helps with cost control, especially when you're in the cloud.

Jennifer Bonine: Yeah.

Glenn Buckholz: Other things that we've been able to do is testing pipeline as code. So if you have your test scripts or your Puppet scripts, which are basically automatically laying down your system, this provides a quick, efficient, and cost-effective way to test them instead of having to stand up a VM from scratch, or stand up a bare metal machine from scratch to test it.

Jennifer Bonine: Absolutely. So from that perspective, so for the folks out there that may have just said, "Oh my gosh, Glenn, you said a whole bunch of words and I don't know what all of those mean and I'm lost," maybe step back from where you get the clients that say, "What's the Docker?" Right, and maybe start with, what is Docker? For those out there that are wondering, "Whoa, this sounds interesting. Maybe I need a Docker," right?

Glenn Buckholz: Right, who are you, and why? So the presentation today started with a brief introduction about Docker and how it applies to me as a tester. And honestly, since this is a testing conference, as a tester there are only a couple of basic concepts that you need to have on the tip of your tongue in dealing with Docker. And those are basically the idea of what is a Docker container, what is a Docker image, and what is a Docker repository? And these are the big concepts.

Jennifer Bonine: Yep.

Glenn Buckholz: So a Docker image is basically ... It's kind of like a file system, right? It's a static version of a container. It's unmoving, it's where you start from, right? The container itself is that image, and running. And the parallel I use that most people seem to gel with is, it's the difference between a binary file and a process run. Right?

Jennifer Bonine: Yep.

Glenn Buckholz: And basically, what it is is it's a slice of an operating system where it has virtualization VMs ... You're simulating an entire machine, right?

Jennifer Bonine: Right.

Glenn Buckholz: Docker is, you're simulating slices of an operating system. So you can have many images using the same kernel, the same operating system, the same set of hardware. And it's a lot lower overhead and a lot quicker to deal with. It's a lot quicker and it comes up faster. The last concept I covered was the idea of a registry. And Docker registries are basically just places to store images. And that's it. So those were the big, major concepts.

Jennifer Bonine: And does this help write ... So you kind of touched on it around making it more cost-effective. One of the big challenges I think all of us have faced in our careers, if we've been in testing or development even, is environments, right?

Glenn Buckholz: Yes.

Jennifer Bonine: And having the place to do the appropriate testing that mimics closely enough to what's gonna happen when our customers receive whatever it is they're getting, right? The code, whatever.

Glenn Buckholz: Some of the concepts that we went over in becoming more cost-effective ... or two, actually. One, one of the most valuable commodities that you have as a tester is time. You only have so much time to do stuff. And what do testers typically spend a lot of time doing? Filling out defect reports.

Jennifer Bonine: Yeah.

Glenn Buckholz: At least as far as I'm aware, nothing has radically changed that much in the past couple of years, right?

Jennifer Bonine: Right.

Glenn Buckholz: And one of the things Docker can do is, it can allow a tester to capture more descriptive defect reports, and communicate a higher volume of information to the developers more effectively. And in my talk profile, I mention this thing called the state capture problem, and that is basically when my test fails, how do I package up the system in such a way as it can be replayed to a developer?

Jennifer Bonine: Right.

Glenn Buckholz: So Docker allows you to do that, or allows you to hit the pause button on the application, beam it back to the developer, and they can actually see the application as it's failing.

Jennifer Bonine: Yeah. And I think what's interesting ... So for folks who are getting introduced to Docker for the first time on the testing side, this is not necessarily something new when you start talking to developers and other folks. They've been using Docker, typically, and have some exposure, at least, to it.

Glenn Buckholz: Some yeah, some no. It's still relatively young technology. Some people might argue with me, but the fact is that there's a lot of hype around it, and for good reason.

Jennifer Bonine: Yeah.

Glenn Buckholz: It's an extraordinarily useful tool. But in terms of implementation, widespread adaptation, it's not there yet. But it will be, it's coming. There's no unringing that bell.

Jennifer Bonine: No, absolutely. And I think from our perspective and the folks I deal with, it's funny because I see a lot of adoption in that space, and it's getting more and more popular. So I think you're absolutely right that it's just gonna permeate other industries. And some industries are slower to adopt some of the new technologies and those types of things. Primarily when you guys are working with groups, what type of industries are you working in right now, and what are some of the groups you're predominantly getting requests to help them with this?

Glenn Buckholz: So, we're working both the federal government, we have a couple of clients in the federal government, and we work in the commercial space. And the biggest request in terms of Docker that we're getting is, one, integrating it into their CI/CD pipeline, to make their application test cycle shorter. And then the second is reducing server footprint.

Jennifer Bonine: Okay.

Glenn Buckholz: Because they're like, "Oh, you know Docker, so work your magic." And then we help them with that.

Jennifer Bonine: Yeah, and make it magic and make it work for us.

Glenn Buckholz: Right.

Jennifer Bonine: That makes total sense. Now, from the talk you gave today around this, and for folks out there that are looking to get started and say, "I just don't even know how to get myself started, or how to understand if this fits or if it'll work for me," do you have any references or places you would point them to say, "Go look at this," or "Take a look at this reference," to say, "Here's how to get started" if they need to sell the dream of using this?

Glenn Buckholz: Well, there are a couple of different places you can look, but one is that you have to have a use case in mind, right? And since most solutions are tailored toward a particular audience, especially if you're addressing the people who write the checks at your company, right?

Jennifer Bonine: Right.

Glenn Buckholz: What I recommend you do is you take a look at the Docker website itself and do some research on Stack Overflow. I know that sounds like a little bit of a cop-out, but since you need to tailor this to the person in your organization who's going to be deciding on this technology, you then have to take that leap yourself to figure out how this technology meshes with what you're doing in particular. Of course, you could always call me, and I would be more than happy to make the argument for you.

Jennifer Bonine: Yeah. And if they need to reach you, Glenn, what is the best way to get in touch with you?

Glenn Buckholz: All of our contact information is on the Coveros website, www.coveros.com.

Jennifer Bonine: Okay. And Coveros as an organization, you're based on the East Coast, correct?

Glenn Buckholz: Yeah, we are an East Coast organization, although we move to wherever we're needed. And we have engagements all over the country.

Jennifer Bonine: Yeah, so you guys work everywhere, but you guys are on the East Coast currently. Now, any trends you're seeing having been at this conference this year? You said you've attended two others and spoke at those as well. Any other shifts ... Obviously the topic you're talking about, and some of these new technologies, but any kind of general themes as you're networking and talking to people, socializing at the events that you're hearing?

Glenn Buckholz: Well, one is containerization. Docker is not the only container technology that exists out there, and people are moving into those different container technologies, basically for both performance and efficiency reasons. And also, there's still ... Even though the cloud has been around awhile, people are still transitioning from their legacy data centers into the cloud.

Jennifer Bonine: Right.

Glenn Buckholz: And the last one has to do more with process than technology, but people are still transitioning to agile, and they're trying to find ways to be more agile even if they can't adopt agile as a whole.

Jennifer Bonine: Right. Now on some of the ones where you said they're trying to be more agile where they can't adopt it, where are those instances where they're saying ... Where are you seeing, from an industry perspective or an organization perspective, is there any trend on the people that are still struggling with how to make that leap?

Glenn Buckholz: Typically, it has to do with how the executive staff understands planning and management. And that is something that is very difficult to change, since these are the decision makers, right?

Jennifer Bonine: Right.

Glenn Buckholz: And the scenario that I've seen played out several times is, "Okay, we want your team to be agile, great. So, here is our twelve-month Microsoft project plan. Tell us where your sprints fit in."

Jennifer Bonine: Right.

Glenn Buckholz: And immediately you're like, "No, that's not how this works." And they're like, "But you've got to fit in our schedule." And then you try to explain to them, "Well, probably, your schedule is only going to be accurate out to the first two or three months, and then ..." They're like, "Nope, this is what we're doing." Take a deep breath and do the best you can.

Jennifer Bonine: So managing that perception, have you guys had any luck, or are there some strategies that you've seen work better when you do have executives who maybe have a mindset that's not as current as thought processes are today around how to deliver quickly, meet the business needs, do it with quality ... What works with that?

Glenn Buckholz: So there's an expression that I've heard many times. "I'm from Wisconsin, show me." And the user acceptance testing portion of the agile methodology is where you can get a lot of buy-in from the product owner. And the reason I say that is because then they start to be able to put their hands around it, it's something tangible that they can touch and taste.

Jennifer Bonine: It's tangible.

Glenn Buckholz: And they kind of get addicted to being able to make quick decisions, or make quick changes in direction, whereas they might only have been able to see a demonstration after six or seven months of development work, now they're seeing it every two to four weeks, depending. It should only be three weeks, but some people stretch that role.

Jennifer Bonine: Yeah.

Glenn Buckholz: And they say, "Well, I want that to be blue instead of red," or "The font's wrong," or "That's not the workflow I wanted," or "I wanted you to go here instead of there next."

Jennifer Bonine: Yeah.

Glenn Buckholz: And then two or three weeks go by, and then they see the change-in, and that hook has been what gets a lot of the more business-oriented people into it.

Jennifer Bonine: Right, and gets them to understand the value of doing this and making this shift.

Glenn Buckholz: The difficulty is getting them to participate in that UAT session.

Jennifer Bonine: Yeah.

Glenn Buckholz: But if you can overcome that, it goes a long way in helping.

Jennifer Bonine: Right, so get them to participate in that. So for those of you out there that may be struggling with this concept that are saying, "I have this hurdle, how do I overcome it?" So that's a good suggestion on how to help do that. If you can get them into those sessions, get them to buy into that and then slowly make those changes, if your organization's not completely on board. So I think that's great advice.

Any last-minute tips or food for thought for the folks who haven't been able to attend that you'd like to share before we close out?

Glenn Buckholz: Yes. Docker is not a one-size-fits-all solution. It has benefits, and if somebody says, "I must implement the Docker," be very wary. But, there are a lot of places where it can be bent to be useful. So don't also just dismiss it out of hand, too. But not, "If you have a hammer, every problem looks like a nail." Not every problem is a nail.

Jennifer Bonine: Perfect, that's great advice, Glenn. Thanks so much for being with us. You guys should have Glen's contact information to be able to reach out. Find him after this, maybe ask some questions. Also, hopefully that gave a little more insight to those of you out there that are either using Docker or thinking about it on how to get started in that process. So Glenn, thanks again for being here with us, and hopefully some of the folks will reach out. I appreciate it.

Glenn Buckholz: Thank you very much for having me. It's always a pleasure to talk at these conferences.

Jennifer Bonine: Thank you.

Glenn Buckholz: Thank you.

Jennifer Bonine: And tune in for the next session later on. Thanks, guys.

Glenn BGlenn Buckholz leads CI and deployment automation efforts at Coveros. Using his more than fifteen years of industry experience, Glenn brings success to his customers. Beginning his career as a consultant implementing automated test frameworks, he introduced the concept of change management to many, many projects. After moving on from consulting, Glenn settled down at the Public Company Accounting Oversight Board as their full-time enterprise change manager. He eventually ventured back into the real world at Coveros, where he specializes in implementing agile practices, implementing CI, and engineering configuration management instead of simply documenting it.

About the author

Upcoming Events

Apr 28
Jun 02
Sep 22
Oct 13