How to Succeed (Or Fail) with Docker

By Jacob Olson  |  

Software Engineer

Docker was developed in 2012 as a tool for virtualization applications in a reproducible environment called containers. Containers allow development teams to package their application, third-party libraries, and other dependencies and ship it out as a single package. These packages consistently run on any Docker-enabled environment. Gone are the days of “It worked on my environment!” 

Now, some may say, “Why don’t we just build a virtual machine?” This can be a valid option in the right situation, but it is time consuming and resource intensive. Instead of creating a whole virtualized operating system, Docker allows the application container to use the same Linux kernel as the host machine boosting performance.

When to Use Docker

Docker is an amazing tool, but like any other, you must know and understand when to use it. 

  1. Software Development
    Docker allows for teams large and small to develop and test applications in the same environment, no matter the individual developer’s programming environment.
  2. Testing Technologies
    With the use of Docker Compose and Docker Hub, it’s incredibly easy for teams to test new technologies and applications. Ever curious if switching to a self-hosted GitLab or bug tracking with Mantis was the right thing for your company? Docker allows you to test these applications out in a matter of minutes with minimal overhead. And when you are done testing, you can simply delete the container and move on.
  3. Application Isolation
    Have you ever needed to run multiple applications of the same server that may have conflicting dependencies? Docker allows you to sidestep these issues by completely isolating applications into containers, removing any conflicts.
  4. Highly Available Micro Services
    This is where Docker truly shines: small, stateless applications that may need to be deployed rapidly or spun down when the resources are no longer needed. 

When Not to Use Docker

Docker is great for many situations, but there are some cases where it falls short.

  1. Production Environment
    Docker can be used for production environments, but it should be noted that there are many more steps to making a production-ready Docker container that would be considered stable.
  2. Performance
    Since Docker shares the host environment’s resources, it does impose a cost to performance. If you want to squeeze the most out of your applications, you may want to skip Docker and host your applications as close to the native OS as you can. 
  3. Databases
    Docker is best used for stateless applications and should not be used to host databases. Docker containers have been known to have stability issues with database writes and can be killed mid-process. Databases are best left hosted on a host machine directly.

Overall, Docker has become an essential tool for many organizations, allowing teams to test in reproducible environments and deploy applications across many different environments with the knowledge that it will run as originally intended. 

Here at Buildable, we have embraced Docker for software, IT, and DevOps and have received a boom in our productivity.

/23

"Buildable Custom Software has people on our calls that are dedicated to our project, which is something we have not experienced before. Unlike past vendors that have experienced a lot of staff turnover, we have had the same team."

Josh Jones
CityCounty Insurance Services

The team managed the project well, maintaining frequent communication and responsiveness. They were a very transparent partner who was enthusiastic about the project.

Joleene Armbruster
Tangeloo Mobile App

“They were able to accept our ideas and turn them into working software. Buildable is one of the few companies that we’ve met that can understand non-software engineers when it comes to product definition and design.“

Steve Baker
Parity Software

“Buildable Custom Software has been extremely professional and timely. Their team has been flexible in responding to our special needs over the years.“

Jeb Bladine
News-Register

"We have a rules engine that has hundreds of lines of code to develop these rates, and Buildable Custom Software condensed that down to seven or eight lines of code, and it works great."

Josh Jones
CityCounty Insurance Services

"Everybody here is more excited about the look and feel and being able to finally get live data. With the old system, we had to export text files and it always took a day. We're all excited to have something new, fresh, and with more functionality. The reports are more dynamic, and we can actually scale them."

Adolf Valdez
Precision Analytical Inc.

"The project manager puts the contract together and outlines what we're doing each sprint. She does an excellent job of organizing everything we need."

Josh Jones
CityCounty Insurance Services

“Their team is organized and creative, understanding requirements quickly and providing innovative suggestions to make the project better.”

Jeffery Bradshaw
Avanti Destinations

"We haven't found many other vendors that can understand our unique business needs as well as Buildable Custom Software."

Josh Jones
CityCounty Insurance Services

“The discovery phase was great. That was definitely helpful because we discovered areas that we hadn’t thought through and then made those decisions up front. The product works well, and we’re happy.“

Rod Sanders
Consolidated Supply Company

"They were never afraid to show me their code, so I could always see what they were working on."

Adolf Valdez
Precision Analytical Inc.

 I appreciated their knowledge, passion, and honesty. I also appreciated their forthcomingness and ability to tell me what the best solution was.

Joleene Armbruster
Tangeloo Mobile App

"Buildable Custom Software has done a great job of understanding what our needs are."

Josh Jones
CityCounty Insurance Services

“Customer service is really one of their strong suits. They are very smart people and are able to very quickly understand the requirements of a project, and then communicate their suggestions of the direct changes that you can make to get a better final product.”

Jeffery Bradshaw
Avanti Destinations

“Their project management was exceptional. We had standup meetings on a weekly basis. Their team would tell us what they accomplished last week and what they intended to accomplish in the coming week. They were on target.“

Heyke Kirkendall-Baker
Parity Software

"They blew us out of the water with their proposal. They featured the latest and greatest software, and we were impressed by their past work."

Josh Jones
CityCounty Insurance Services

"I found the best thing I liked about them is their communication. We were never left in the dark, like with other development companies."

Adolf Valdez
Precision Analytical Inc.

Web Design and Web Development by Buildable