spk-logo-tm-2023
0%
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

How Docker Helps Your DevOps Infrastructure

windchill features best plm software
Written by Mike Solinap
Published on March 23, 2016

These days, everything is moving to virtual. Virtual reality, virtual machines, and with Docker, virtual filesystems. Actually, Docker is not virtual, it’s very real and is a very convenient way to package an entire filesystem and run it on any supported system. Why is this good? How can it help your DevOps? Hopefully this blog post will answer those questions.

Setting up a virtual machine is pretty easy. You install your software to host the machine, whether it be VMWare or VirtualBox, create a machine, install the OS and you’re on your way. We typically do this so we can run a specific application, maybe a web server, or database. But, what if we wanted to run a whole suite of applications, like a DevOps build and continuous integration solution and then distribute that to various sites around your organization? This is where Docker comes in. Docker allows you to package up that solution, distribute it in an image file, and then run it. It can run within your own infrastructure or in the cloud. You can have multiple Docker containers running separate apps on the same machine, and they’re all in their own isolated environment.

Sounds pretty great, but how can it help you? Docker allows you to quickly distribute an application or solution without the hassle of having of having to setup a virtual (or physical) machine. It saves you a LOT of time. You can actually have 3 separate development environments on one single machine! A Docker container for dev, a container for QA, and a container for production. In the past, you’d typically setup 3 different machines for these environments. Now you don’t have to, and you can even host these in the cloud, so development can happen anywhere in the world.

I’m focusing on DevOps, because that’s where Docker is being used the most. Imagine your company produces 5 mobile apps. All 5 are managed by different developers and have different delivery requirements. With traditional DevOps systems, you would most likely have to setup 5 different servers with all of the applications that would support development (i.e. Git, Jenkins, Rundeck, Chef, etc.). With Docker, you can setup 1 machine, and have 5 separate DevOps environments. This is a much better use of resources! Your developers can get what they need to do their job and not have to worry about conflicting with others and their preferences. This translates to faster delivery, better productivity, and reduced cost to you.

Docker is the next “big thing” for DevOps, and with it utilized in your infrastructure, you can develop, test, and deliver your software applications much faster than a more traditional software development environment. In my next post, I’ll show a real world example of deploying an entire application suite in a Docker image and how easy it is to make changes and re-deploy. If you have any questions about Docker, feel free to leave a comment!

Bradley Tinder
Sr. Integration Engineer
SPK & Associates

Latest White Papers

Introducing Atlassian’s Service Collection

Introducing Atlassian’s Service Collection

Are you looking for new tools that empower your teams to deliver exceptional service experiences? Atlassian’s Service Collection ensures great service for both employees and customers. What You Will Learn In the following eBook, you will discover: The tools and...

Related Resources

5 Ways to Reduce Engineering Cycle Time Without Adding Headcount

5 Ways to Reduce Engineering Cycle Time Without Adding Headcount

Key takeaways Faster engineering does not always require more headcount: Disconnected systems, manual handoffs, rework, and poor visibility often create more delays than a lack of engineering capacity. A digital thread can eliminate major sources of wasted time:...

Why Late-Stage Changes Are Killing Your Time to Market

Why Late-Stage Changes Are Killing Your Time to Market

Key Takeaways Late-stage changes get expensive fast: The farther a problem travels through design, testing, and manufacturing, the more time, cost, and rework it creates. Disconnected systems and weak traceability are major causes: When requirements, design, software,...

The Engineering Digital Thread Playbook

The Engineering Digital Thread Playbook

In many organizations, systems operate independently, creating a large visibility problem. A digital thread addresses this by creating a connected flow of product information across the lifecycle. This playbook explains why engineering visibility matters, and how...