It’s easy to get Docker up and running in a development environment, but moving containers into production can be difficult.
Containers are quickly becoming popular as a way to speed and simplify application deployment, particularly in organizations that have embraced DevOps. However, while developers often find it fast and easy to deploy containerized applications in their dev and test environments, experts say that enterprises sometimes run into unexpected challenges when deploying containers in production.
In recent interviews, Scott Lowe, engineering architect at VMware, and Brian Gracely, director of product strategy at Red Hat, highlighted five of the most common problems enterprises face when deploying containers.
1. Staff education
Both Lowe and Gracely said that one of the biggest challenges when working with containers is a lack of staff familiarity with the technology. "There's a whole group of new skillsets that their staff are going to need to get up to speed on," Lowe said. He noted that managers sometimes underestimate the amount of training that IT teams need to master new tools for orchestration, monitoring and data storage.
“The container ecosystem moves fast,” Gracely said. That makes it very challenging for employees to stay up-to-date and to educate themselves about what is possible in a container environment. He recommended that IT teams take advantage of some of the free or low-cost training online, which he said is constantly improving.
2. Selecting a platform
Organizations have a lot of options when it comes to platforms for running containers. Figuring out which one would be best for a particular organization’s needs and environment can be a challenge, Gracely said.
He advised enterprises to think five or ten years into the future and choose a platform based on where they see technology heading. He added that the selection process often takes quite a bit of time because “it’s a big decision.”
3. Re-architecting applications
Taking legacy applications and putting them into a container as they are usually doesn’t meet all of an enterprise’s goals for the technology. "They really are going to need to re-architect their applications to be effective in a heavily containerized environment," Lowe said. The issue is often one of scalability, he added. Many times, organizations need to break out individual components or individual services so that they can scale independently or be upgraded independently.
He pointed out that organizations see the biggest benefit from containers when they head towards a more "micro-services-like" architecture. "That takes effort, and it takes time," he warned.
“Typically, containers tend to start as a tool that developers are using -- they’ll use them on their laptops to experiment with things,” explained Gracely. “To get them into production, there’s a coordinated effort working with the operations team.” For that effort to be successful, there needs to be good communication between the two groups.
Gracely noted that the trend toward software-defined infrastructure has made it possible for developers and operations staff to use some of the same tools, which helps with communication. He also recommended adopting DevOps best practices and working out a collaboration model.
5. Network security
Lowe described securing containers as something of a balancing act. He said that for enterprises, the big question is "How do we architect a system that can give us appropriate levels of security while also giving our users, the developers who are using these frameworks, the freedom and speed that they want?" That becomes particularly challenging when containers are created and destroyed at a rapid pace.
When it comes to security, Lowe advised companies to select a solution that can handle their other types of workloads as well as containers because container adoption is usually a slow and evolutionary process.
You can hear more about containers from Scott Lowe and Brian Gracely live and in person at Interop ITX in Las Vegas. Lowe will present “Deploying Applications to the Cloud with Containers,” and Gracely will discuss “Managing Containers in Production: What You Need to Think About.” Don't miss out! Register now for Interop ITX, May 15-19.