You want to put Docker technology to use at your company. You might have heard about the productivity benefits of using Dockers. Alternatively, you appreciate the fact that you can use Docker technology to engage and retain your technical talent. However, there’s just one difficulty to keep in mind: Docker technology needs the right support to be adequately implemented. Omit that support and you’ll struggle to get much from the technology.
The Barrier to Achieving Success with Docker
Docker technology is like any other new technology. It needs to be supported with the right processes and project management disciplines to be successful. If you omit these steps, you’ll waste time and resources trying to get containers to work. Even worse, your team may be discouraged at the failure. To prevent that from happening to you, make sure you avoid these Docker implementation mistakes.
- You Have no Business Case for Docker Implementation
Raw excitement for Docker technology is not enough for a successful implementation. Why? Your software and IT teams already know and understand how Docker technology can help. What about your senior management team? They may have no idea what it’s all about. To win their support and financial backing to implement Docker technology, you need to present a strong business case. Simply put, explain the benefits of adopting Docker technology in plain English.
To guide you through the business case process, read our article: Get Your SSO Software Project Funded with a Business Case. One tip to get you started: you must know your audience. If you’re presenting to a CIO or other IT executive, you have more leeway to get into technical benefits. On the other hand, a generalist management audience will need you to connect the dots between Docker implementation and company goals such as increased productivity.
In most cases, the best approach lies in emphasizing productivity benefits. Find out more from our past article: 7 Productivity Benefits of Using Containers.
- You Overload Your Containers
To achieve ROI as fast as possible, some Docker implementations have put too much pressure on their containers. Specifically, setting up multiple processes per container tends to cause problems. The solution? Follow Docker’s best practices and keep your configurations simple: one process per container. This mistake is especially serious to keep in mind when you’re first getting started with containers. Start small before you scale up your containers.
- You Ignore Reviewing and Updating Access Governance to Keep Up with Containers
Whenever you make a substantial change to your environment, that change has implications for your cybersecurity. With this mistake, you charge ahead to implement Docker containers and forget to update your security program. There’s a way to prevent this problem. Use an access governance solution built with containers in mind, such as Identity Anywhere.
- You Create Large Images
Speed is a key productivity benefit to using Docker. However, it’s more than possible to sabotage that advantage if you create large images. Instead of looking for ways to load everything into your Docker container, keep it simple. Ask yourself, “What’s the minimum possible set of services or processes I can put into this container?”
- You Store Credentials Directly into Your Containers
Constantly entering access credentials is part of life in a modern company. This pain point has encouraged some developers to take an ill-conceived shortcut: hard-coding access credentials directly into containers. In the short term, this hard-coding technique may save you some time. However, it creates an unnecessary security risk. The better approach to password management frustration is to use Single Sign-On to cut down on the burden of managing passwords.
- You Don’t Have a Vision to Use the Added Productivity
By implementing Docker containers, your organization will become more productive. Who doesn’t want more productivity? That added capacity may not be valuable, though. If you don’t have additional projects and services in mind for your team to execute, that added capacity created by using containers will add little value. Thankfully, this mistake is easy to avoid with a simple exercise.
In the next five minutes, open a notepad and write some answers to this question: “What else could my software team do if they had a few free days of extra work time per month?” If you can come up with at least three great answers, you’ve avoided this mistake.
- You Have a Weak Testing Program
Every organization claims to have a robust process to test software before deployment. In reality, that testing process is often rushed. There’s pressure from management or a client to “go live,” and the testing team may not feel comfortable speaking up. Consequently, you experience lower quality software with more crashes because of poor testing.
How do you prevent this from happening in your organization? Recognize that containers play an important role in supporting and accelerating testing. In fact, improving software testing is one of the most important use cases for adopting Docker containers. Aside from using Docker containers, we also recommend managers speak up for the value of testing. Without management support, testers will be less likely to speak up and challenge the process.
- You Have no Change Management Program for Docker Implementation
If your idea of change management is little more than announcing “we’re going to start using containers next week,” then you need to pay attention. Even hungry-to-learn software developers need change management support. Specifically, you need to craft a plan that provides support in the form of training and communication to support the change. Help other stakeholders in the organization to understand that your productivity may slow down temporarily while the team learns its way around Docker technology.
What about Docker Security Challenges?
There are security risks associated with using any new technology, and that includes Docker technology. Our recommendation is focused on developing a comprehensive security program and make sure it applies enterprise-wide. For example, are you taking active steps to discourage password reuse? Have you identified and reduced the risk of privileged users? These two methods can reduce your cybersecurity risk exposure across the organization.