Linux container technology is IT’s shiny new thing. Containers promise to ease application development and deployment, a necessity in a business environment where getting ahead of application demand can mean the difference between staying in business or not. Containers offer many benefits, but they are not a panacea, and it’s important to understand why, where and when to use them.
Most IT pros recognize that application containers can provide a technological edge, one that translates into a clear business advantage. Containers unify and streamline application components – including the libraries and binaries upon which individual applications depend. Combining isolation with lightweight and image-based deployment capabilities, containers provide greater agility and efficiency when it comes to building and deploying applications – crucial as downtime tolerance drops and expectations for on demand services grow. Additionally, containerization is an opportunity to redefine processes and organizational structure, optimizing for agility, automation and control.
As with any new technology, there are many issues that companies must figure out before implementing containers:
- Do we have the right skills and team members in place for a successful transition?
- What needs to be done to move existing processes and applications to a new architecture?
- What security measures do we need to put in place?
- And, perhaps most importantly: how much will it cost to make the switch to containerized infrastructure?
Before any team can adopt a new technology they must first get the buy-in of senior management – and answers to the above questions will go a long way towards doing just that. Conversely, developers, engineers, and systems administrators often begin to fear for their jobs when they hear about an infrastructure overhaul.
Here are five recommendations for convincing those who aren’t thoroughly convinced that application containers make good business and technical sense, regardless of their role within the organization:
- Establish use cases: When laying out the benefits of containers, your argument will be significantly strengthened if you can put the technology into the context of how it will benefit the company. This should contain clear steps of how container technology will be initially implemented through to what a successful rollout will entail, like developer autonomy, dynamically scaling applications, automated maintenance and consistent operations across hybrid environments.
- Develop an integration plan: Be ready to explain how containers will integrate with existing legacy systems and processes. This is also the time to caveat any potential hangups – where teams may suffer setbacks during implementation, or where pieces of the technology puzzle might not fit together – as well as how these issues will be resolved.
- Prepare an opportunity outlook: Container technology may well eliminate the need for some classic IT tasks – and, possibly, roles. Think about how this might play out in your organization, and what kinds of opportunities will open up for people who will become freed up from mundane sysadmin tasks. This could include support for employees to learn new skills and technologies, or helping them to transition to a new, equivalent role within the company. With greater freedom comes greater responsibility, so certain roles might have to take on additional tasks and skills: Define a plan for developing these skills and establish clear definition and metrics on these responsibilities.
- Ensure Dev and Ops are on the same page: Having the right teams in place is always a concern when implementing a new technology. While both sides may have differing opinions on how to implement container technology, or even if it should be implemented at all, the truth is that containerization helps with decisions about who is responsible for what tools and processes. Container applications don’t contain an OS kernel, meaning that a developer is responsible his or her own container, while operations professionals determine how they are deployed as well as how the infrastructure services and application changes driven by developers are managed and monitored. In order for this to become smooth and reliable, clear policies and workflows need to be agreed.
- Demonstrate security benefits: According to Gartner, applications deployed in containers are more secure than applications deployed on the bare OS, as they can limit the extent of the damage thanks to a reduced OS footprint and relative isolation of applications and users. While they by no means provide a fool proof security solution, the argument should be made that implementing containers will pay off in the long run by limiting potential security losses.
While containers may not ultimately be a fit for all organizations, more and more customers are telling us that they can provide an advantage in terms of speed, security, and scale for application delivery and deployment. Organizations need to be sure to weigh the benefits and costs of adopting and implementing a new strategy, but it is quickly becoming clear that container technology is the way of the future. Through the recommendations above, members of the organization should be convinced that container technology is the right direction to go to ensure future success.
Lars Herrmann is general manager of the Integrated Solutions Business Unit at Red Hat. Previously Herrmann was the general manager of Red Hat’s KVM virtualization efforts and prior to that he held posts as director of product and business strategy and director of strategic marketing at the commercial software supplier.