Containerization is already a well-established – and fast-moving – trend. Numerous analyst reports and industry surveys ultimately arrive at a common conclusion: Container adoption and usage has soared in recent years.
Gartner projects that 75% of organizations globally will be running containerized workloads in production in 2022, up from around 30% in 2020. Approximately two-thirds (68%) of IT leaders included in Red Hat’s 2022 State of Enterprise Open Source Report say they’re using containers, which puts the technology on a level with other white-hot technologies like AI/ML and edge computing. In the 2021 version, 72% of IT executives said they expect growing use of containers in their businesses.
[ Related read: 5 Kubernetes trends to watch in 2022. ]
Soaring adoption is not synonymous with maturity, however. Plenty of teams and organizations aren’t running containers in production or are still in the early phases of doing so.
So while it might feel like you’ve missed the boat, that’s simply not true. To recast the original container ship metaphor, these are really big boats, and there’s always another one getting ready for the next journey.
“If you’ve yet to get started with containers, you’re not alone – broadly as they’ve already been adopted,” says Gordon Haff, technology evangelist, Red Hat.
It’s true what they say; you have to start somewhere. But running containerized workloads in production isn’t necessarily the kind of undertaking where you’ll want to start just anywhere. Here are five tips for building on a strong foundation.
1. You'll need a plan – and likely some new tools – to attain the benefits of containers
Container adoption hasn’t skyrocketed on the whims and fancies of hundreds of CIOs. It’s growing because it can deliver real business and technical value. That’s particularly true as hybrid cloud environments mature and organizations of all shapes and sizes continue to aggressively pursue digital transformation goals.
“Implementing containers can be economical, efficient, and effective for internal team resources,” says Tsvi Korren, field CTO, Aqua Security. “Though containerization is more operationally complex than maintaining applications on physical servers or VMs, containers have excellent economies of scale.”
Sorry to say, however, those benefits aren’t automatic.
“If you want to move beyond containers as a tool for developers and put them into production, that means you’ll also be adopting an orchestration layer like Kubernetes and the various monitoring, CI/CD, logging, and tracing tools that go with it,” Haff says. “Which is exactly what many organizations are doing.”
Containers and Kubernetes tend to go hand-in-hand because without that orchestration layer, teams otherwise find that managing containers at any kind of scale in production requires untenable effort. Haff notes that 70 percent of IT leaders surveyed in the State of Enterprise Open Source 2022 report said their organizations were using Kubernetes.
Speaking of open source, containerization has open source DNA – and adoption often leads to uptake of other open source technologies, too. Make sure you’re using up-to-date, reliable, and secure code.
“Containerization leads to more use of open source and other public components,” Korren says. “There are a lot of useful, well-maintained code components on the Internet, but there are many that are not.”
[ Related read: Open source strategy: 5 keys to success. ]
In addition to tools, Korren notes that containerization also typically necessitates an evaluation of your application portfolio. Not every legacy system will make sense for containerization, for example – and as the growth of hybrid cloud makes clear, application modernization is not an all-or-nothing choice (more on this below).
2. Don't let the learning curve intimidate you or your IT team
The general wisdom says that legacy applications will eventually need to be rebuilt (often referred to as refactoring) or replaced to attain the full benefits of cloud. But there’s no rule that says you have to start there. While containers are commonly thought of as a cloud-native technology (and a good fit with things like microservices architecture), you can run a monolith in a container (and you can run a container on-premises).
Moreover, if you’re looking at containerization as part of a larger application migration project, you have choices. This is good news for teams that might find the learning curve with containerization intimidating.
“For some organizations, the answer may be that their near-term application migration plans don’t have to involve containers,” Haff says. “A recent survey from the Konveyor.io community found a diversity of application migration strategies, including just rehosting for now, even as a prelude to refactoring later on.”
And when refactoring (or replacing with a greenfield project) is the goal, make sure you’re ready to commit the proper time and resources to doing it right.
“If the goal is to modernize applications, teams should be ready to invest time into re-architecting the applications into microservices,” Korren says.
[ Read also: IT talent: 4 ways to address a Kubernetes skills shortage ]
3. There's help available if you need it
Further, Haff notes that successfully adopting containers and Kubernetes no longer requires taking on all of the operational complexity yourself.
“Another option is to adopt Kubernetes but to offload the operational burden onto someone else,” Haff says. “For example, OpenShift is a family of Kubernetes-based products that can run on a variety of footprints, including as a public cloud service where much of the operational overhead is effectively outsourced.”
Commercial and/or managed container platforms can be a boon for any team that’s already stretched to the max or that doesn’t already have the right skills or experience – especially in a tight hiring market.
“This can make adopting containers more practical for organizations lacking some of the needed skills in-house,” Haff says.
4. Take a layered approach to container and Kubernetes security
Containerization (along with orchestration) can enable stronger security, but like other potential upsides, it doesn’t come free. Container and Kubernetes security requires some new strategies and ways of thinking.
This is in part because some of the other benefits – increased developer velocity, for example – change your risks. The goal is to enable those benefits without introducing unnecessary risks. Policies and tools for ensuring your developers are using approved, trusted container images – without creating a bottleneck.
Check out this whitepaper on the layered approach to container security, including the key elements of securing containerized applications managed with Kubernetes.
[ Discover how IT organizations are implementing DevSecOps to protect their cloud-native environments: Download the 2022 state of Kubernetes security report ]
5. Work incrementally – but think big
More general wisdom: It’s often a good idea to tackle the big changes by starting small. But perhaps the better way to think about it is that you should work incrementally, not small. That lets you keep things manageable without sacrificing bigger ambitions.
“When starting on the containerization journey, the tendency is to hedge and try smaller, less used, or less important applications, which can lead to frustration when the inevitable complexity starts to build,” Korren says.
You don’t have to take a “big bang” approach, and there are ways (see #2 and #3 above) to make the journey more practical. But that doesn’t require you to limit the long-term potential of containerization.
“Applications that carry the business – the ones that need to scale and be nimble – are the ones where the power of cloud-native really shines,” Korren says. “Containerization is a leap. It’s better to dive into the deep end than hit the bottom of shallow water.”