Sashkin - Fotolia
Virtualization became an IT mainstay because it eased software development by providing an abstraction layer between system hardware and software. But even this widely adopted technology is being threatened by the industry's never-ending quest to build a better mousetrap.
Here come containers.
New York-based analyst firm 451 Research thinks containers eventually may have a greater impact on IT than the OpenStack project. While the nascent technology is generating buzz, its ecosystem is new and missing functionality, such as strong container management platforms. Use in production so far is minimal.
Containers are gaining attention because they offer improved portability when developing and deploying applications and because they use resources more efficiently than VMs.
Organizations are under pressure to respond quickly to changing market demands, and increased competition shrinks product lifecycles. In response, businesses have been adopting DevOps to quicken the pace of new software releases. Containers speed up program configuration tasks and the setup of application infrastructure.
Reduced cost is another benefit. Containers standardize how suppliers develop and deliver software, which theoretically reduces custom development and lowers costs. IBM's Big Data University (BDU) found that moving to containers cut its infrastructure costs by two orders of magnitude, said Leon Katsnelson, director and CTO for emerging technologies at IBM BDU, an online training program.
While the technology is garnering interest, it has holes. "The container management space is very immature," Katsnelson said.
Containers are now a relatively small part of the application development cycle but have been gaining significant traction.
For IT departments to manage their systems, application software needs to be tied to system infrastructure. Currently, the pieces required to allocate containers, from coordinating the network to assigning storage to applications, are largely proprietary or missing.
Filling the voids
Startups and established vendors have been working to deliver modular container infrastructure service and orchestration software. These products need to be integrated with existing tools so that companies can monitor containers' impact on system infrastructure: servers, networks, and storage. A lot of work needs to be done.
Three open source options have emerged to help fill the voids:
- Google built Kubernetes, software designed to manage clusters of containers, and then donated the software to the Cloud Native Computing Foundation. The nonprofit vendor consortium, which now operates under the guidance of the Linux Foundation, is focused on advancing development of cloud systems by creating a new set of common container technologies. Kubernetes was designed to help users automate application deployment and monitor ongoing operations.
- Docker is an open source project focused on building a container ecosystem. Docker Swarm is a native clustering system that uses the Docker Engine command line interface to build containers. A Swarm is a collection of hosts that act like a single image; the standard provides cluster management and integration features.
- Mesos is under the aegis of the open source Apache Software Foundation. The project abstracts CPU, memory, storage and other compute resources away from machines -- physical or virtual. This enables fault-tolerant and elastic distributed systems.
The capabilities and dividing lines among these different open source management initiatives are murky and constantly shifting. Some businesses may use them together. Others run them autonomously.
While there has been a lot of interest in the container market, its emerging ecosystem is incomplete. The open source systems work mainly with Linux containers. With the inclusion of containers in Windows Server 2016, many IT shops are looking at containerizing Windows-based applications.
Various support mechanisms are in embryonic stages. Training and certification programs are scarce. The Cloud Native Computing Foundation and OpenStack distribution provider Mirantis offer Kubernetes training and certification programs.
Third-party support is largely missing. Container management vendors are slowly building partner networks, so a business testing the container waters will have more places to turn for help.
A growing number of startups are trying to fill the various voids. One estimate put the number of container vendors at well over 100.
Many businesses are in an early stage of deploying containers. 451 Research's "Market Monitor: Cloud-Enabling Technologies" report indicated that 25% of businesses use containers; only 34% of those adopters were using containers for production applications.
Out of the mainstream
Not surprisingly, few mainstream companies are running containers in production environments. As with many new technologies, early adopters are often technology companies. For instance, IBM's BDU is an initiative to democratize access to data science and data engineering skills. More than 600,000 IT professionals take classes on topics such as big data fundamentals, Hadoop, Spark and data science for business.
The BDU program runs its system as a software as a service (SaaS) model, one deployed on three continents and supported by two cloud providers: IBM Softlayer and China-based Alibaba Cloud. Managing rapidly changing workloads can be challenging. At BDU, which is short for Big Data University, the system creates and then shuts down complex multi-container stacks for every person who accesses the labs. Consequently, the system has to be responsive; environments must be created in less than two minutes.
IBM's BDU began on a traditional cloud-based, virtualized infrastructure. "Our user base grew rapidly, and our costs escalated to the point of being unaffordable," IBM's Katsnelson said.
The firm initiated a search for container management platforms in early 2016, looked at three options, and chose Rancher Labs.
"We appreciated the fact that Rancher did not force us in to a certain path and provided us with options to switch to an alternative technology as both our understanding and the market matures," Katsnelson said.
Each of BDU's SaaS deployments consists of more than 25 microservices, and each microservice uses multiple containers. The early results have been promising, as IBM BDU has reduced its infrastructure costs significantly while expanding its user base.
A changing management paradigm
Planet Labs, which has 300 employees, is another tech company dabbling in containers. Founded in 2010 by a team of ex-NASA scientists, the startup launched a series of satellites and offers a variety of geospatial data services, such as measuring agricultural yields, monitoring natural resources usage or aiding responders after natural disasters.
Planet Labs started building its applications on Ubuntu and Debian distributions running on Amazon Web Services. But this technique created bottlenecks as the business grew. "We needed more consistency and speed when creating our system images," said Troy Toman, director of engineering at Planet Labs.
The company wanted to move to containers, looked at different options and selected CoreOS. The change helped development: Application images are created and deployed more quickly. However, new challenges arose.
"You cannot manage containers like traditional applications," Toman said.
Instances are created and broken down so quickly that tried-and-true monitoring tools do not make sense. Workloads are generated so dynamically that measuring performance at different system choke points (server, network and storage) is of little to no value, he said. Consequently, businesses need to think differently when looking for possible performance problems. Rather than the dogmatic monitoring of set locations, an IT team needs to experiment. For example, change parameters as applications are dynamically created and then watch for any new trouble spots.
More infrastructure system management tools are expected to arrive as the fledgling market matures. Consolidation has begun, as Apprenda acquired Kubernetes backer Kismatic, and Cisco purchased ContainerX, a Docker Swarm supporter.
In sum, container management platforms are demonstrating the typical signs of a new market. It is generating a lot of commotion even though its ecosystem is missing some key pieces. The question becomes one of timing. Should organizations buy in today or wait to see the market evolve?
"Don't be seduced by the buzz," IBM's Katsnelson said. "Focus on what you really need, and keep it simple."