Software development in the enterprise is no longer something left to technology companies alone. Rather, organizations across sectors have found the need for apps and software to service both customers and internal stakeholders.
Whether application creation takes place internally or is contracted out, companies are investing in software that best suits their organizational needs, giving rise to new development technologies and methodologies. One such technology — software containers — has allowed organizations to develop in a far more quick and efficient way.
A recent 451 Research Market Monitor report estimates the application container software market will be worth $1.1 billion in 2017. Growing at a compound annual growth rate of 35%, researchers expect the market to reach more than $3.4 billion in 2021.
Like other new types of technology, technology leaders should be aware of the advantages, opportunities and challenges of leveraging containers. Here's what you need to know:
Container technology is touted as a way for enterprises to boost the portability, agility and rapid delivery of applications.
"The key enterprise advantages of containers are speed, simplicity and efficiency, mainly around helping developers and related lines of business move faster, onboard developers more rapidly, build and package applications for the cloud," said Jay Lyman, principal analyst at 451 Research. Containers can "more simply create and destroy infrastructure and applications as needed."
Given the mad dash toward digital transformation, container technology could play an increasingly important role in the enterprise by allowing companies to rapidly transform.
"Organizations that are adopting containers today, or looking at adopting them, see them as part of the bigger picture of continuous delivery, becoming more agile and more flexible," said Chip Childers, CTO of Cloud Foundry.
And because many of the innovations around container technology are being created within open source communities such as Cloud Foundry, the breadth of use-cases is quickly expanding.
"Companies are using containers and container platforms … to modernize existing applications, build new cloud-native applications, accelerate big data projects and ... explore IoT opportunities," said Brian Gracely, director of product strategy at Red Hat.
Only partly cloudy
While container technology offers many advantages, the number of organizations running containers in production is still relatively low. This is especially true for enterprises. Clearly, it is still relatively early for container technology in the enterprise, and challenges remain.
The primary challenge for containers is the technology does not offer all of the same capabilities and functionality as virtual machines (VMs), which have been around longer, according to Lyman.
"We expect we will see more displacement of VMs from containers in the enterprise going forward, but it will be mostly a case of mixed use and co-existence of containers and VMs," he said.
Container technologies surfaced about the same time many enterprises began seriously working on moving to the cloud. As a result, containers are often associated with the cloud-based applications they support. But contrary to what many believe, the two technologies aren’t interconnected.
"Adopting container technology doesn’t have to be dependent on moving from on-premises to cloud infrastructure," said Lyman. "There are container platforms out there that allow for deployment on-prem as well as on any cloud, hybrid or public."
Where to begin?
Many organizations struggle with how to begin with containers because there is still significant development activity occurring around various container engines. A common area of confusion with containers is which groups within IT or a line of business should care about the technology.
"The reality is that containers are usually adopted first by developers and then operations needs to catch up and figure out networking, security, storage, availability and compliance," said Gracely.
The more effective approach is to think about containers as a "platform discussion" that's focused on accelerating software delivery, Gracely says. This should bring both groups together, and then they can holistically focus on the right platform to solve both developer and operation’s needs.
Interoperability and legacy projects can also be a sticking point for containers in the enterprise. Container technology is great for projects that start from scratch, but moving existing projects to containers can be a lot more difficult and expensive.
Finally, many IT professionals struggle with finding the right container platform for their needs. Container vendors primarily offer massive-scale setups that don’t work for smaller setups. However, new options are constantly coming to market.
'Not a panacea'
Containers alone are not the best solution for most CIOs problems, but rather are best used when looking at a broader picture of how to change the software delivery process within a company.
"They could be really key in streamlining it, making it more efficient and eliminating the difference between development and production departments, which frequently is a major problem," said Childers. "But they're not a panacea. They're technology that you can use as part of changing the way that your company operates and uses technology."
Should a company choose to move forward with container technology, there are a few things to watch out for. First, keep an eye on cost competitiveness, suggests Mark Balch, vice president of product at Diamanti.
"Ensure capex and opex for the container stack (software and infrastructure) are competitive with public cloud," said Balch. "Traditional enterprise virtualization and infrastructure is simply too expensive in time, money and training."
Secondly, make sure to choose commercially supportable systems to minimize business risk.
"Don’t attempt to build and manage your own container system," said Childers. "Creating your own platform is extremely difficult and risky and probably not the best use of time for your valuable engineers. Focus your top engineers on the hardest business problem, not the hardest plumbing problems."
Whether a company chooses to get onboard with containers or not, they are sure to have a growing role in the enterprise, though that role may grow a bit more slowly than expected given the hype.
"We will likely continue to see more enterprises using containers in testing and development and proof-of-concept implementations as well as growing use of containers for production applications, mainly based on speed and efficiency advantages," said Lyman.