1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

How Docker Helps Your DevOps Infrastructure

Published by Mike Solinap
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

Atlassian Cloud: Understanding Zero Trust Security

Atlassian Cloud: Understanding Zero Trust Security

Where To Start & Why It Matters What is the Atlassian Cloud Zero Trust Security model? Well, for decades, enterprise security controls were built to protect a large, single perimeter around a corporation. Often described as castle-and-moat security, This approach...

Related Resources

Top 6 Ways To Improve Your DevOps Journey

Top 6 Ways To Improve Your DevOps Journey

Knowing how to improve DevOps can be challenging. But, creating an integrated DevOps toolchain can set organizations apart from the rest. This is because having a well-defined business DevOps journey can reduce errors, improve collaboration and drastically increase...

Why Process Automation Is Critical For Engineering

Why Process Automation Is Critical For Engineering

Process automation releases your engineers for the work their brains are intended for. That work is creativity and problem-solving.  By implementing process automation, you improve the team’s morale. Firstly, they get more focus time for deep work and designing better...

Deep Work Improves Engineers’ Productivity

Deep Work Improves Engineers’ Productivity

In this blog we'll explore how the principle of Deep Work by Cal Newport can improve your engineers productivity. Does it feel harder for you to focus on your creative, technical work? When I speak to engineers or management staff and ask this question, the answer...