If you ask what the most popular IT technology is today, the answer might be container technology. As a competitor to Virtual Machine (VM) technologies, container technology is widely welcomed by users for its open source feature. Docker is a new, open source container technology that has become the main product of many startup companies.
Since container technology provides a uniform environment for customers and features high resource utilization and quick startup speed, more and more users are starting to embrace it. Due to different customer requirements, container technology is integrated into IT systems of different scale at different levels.
Three Application Scenarios of Container Technology
Based on the application environment, container technology can be deployed in standalone, cluster, or container cloud mode.
Standalone mode: In this mode, container technology is deployed on a standalone server for OS-level lightweight virtualization and automatic batch application deployment. Typically, users choosing this deployment mode mainly want to try this technology out. The performance of a standalone system, however, is limited. Only a distributed architecture can give full play to the container technology. Therefore, most users choosing standalone deployment cannot fully experience and evaluate this technology.
Cluster mode: After previous testing, some users may use the container to process some services. In this mode, the concerns are cluster resource management, application orchestration and scheduling, and application storage and network. The number of containers deployed is escalated from 1,000 to 100,000 to solve the problem of deploying distributed applications.
Container cloud mode: In this mode, containers are used for large-scale deployment by high-end users who care more about application performance, O&M automation, cross-cluster management, and security. The container deployment is advanced to the millions to implement large-scale deployment in the enterprise production environment.
Many enterprises favor Docker when discussing container technology, and Docker is indeed a good container engine for standalone deployment. For large-scale cluster management, however, users need to not only determine the status of a standalone server, but also to centrally manage all IT devices. In this case, a large-scale management application is required.
For cluster container mode, the Open Container Initiative (OCI) community was formed to create formal, open industrial specifications for container run-time and image formats; to ensure containers are independent of upper-layer clients, scheduling systems, and commercial products or projects; and to support multiple OSs, multiple hardware, multiple CPU architectures, and public clouds.
OCI is different from other traditional communities, which are dominated by foreign enterprises. Google, Red Hat, Docker, and Huawei are founding members of OCI. Huawei has contributed over 200 patches to the community, ranking in the top 5 of contributing members. Two Huawei maintainers have participated in runC and Runtime Spec projects to prepare the container run-time standard with other OCI members, help the community adapt to VM-based security containers and ARM64, and verify the container run-time standard in the OCI Tools project.
Huawei Promotes the Growth of the Container Technology
The main challenge with container technology today is large-scale cluster deployments. As distributed architecture becomes more popular, more users have started to use this system. In particular, the Internet+ concept that emerged last year has freed more users from traditional architectures and drawn them into the distributed architecture camp.
These distributed systems bring higher requirements and challenges for the clustering function of container technology. Currently, the three cluster scheduling systems, Cloud Native Computing Foundation (CNCF), Docker, and DC/OS, are running neck and neck. They provide supervision, security, and deployment capabilities through their own solutions, trying to seize opportunities in container cloud development.
From Huawei’s perspective, all three technologies have great development potential. At present, the entire container industry is not fully mature. It is hard to tell which technology will outperform the others.
The CNCF container application scheduling system is donated by Google, and it incorporates Google’s decades-long experience in managing super-large container clusters. The system can deploy and manage applications for distributed deployed services. It provides functions such as resource scheduling, deployment and operations, service discovery, and capacity expansion/reduction for container applications and features abundant scheduling algorithms and convenient expansion of scheduling policies, meeting development requirements of native cloud applications.
DC/OS is another scheduling system popular in the market, whose core is the Mesos open-source scheduling software (called the kernel of the distributed system). It can simplify the process that distributed application frameworks run on a cluster and dynamically distribute resources to different frameworks. In this way, multiple distributed application frameworks can concurrently run in a cluster and dynamically share resources. DC/OS features high resource utilization, strong scalability, modular design, and fine-grained resource allocation. Compared with Kubernetes, DC/OS is more powerful for resource scheduling, while Kubernetes is superior for application orchestration. These systems complement each other and supplement each other’s weaknesses.
From the above perspectives, the three have different advantages and application scenarios and may even coexist within the same time period. It is up to the market and customers to make the final choice.
Huawei’s Open Source Concept
Huawei always embraces and adheres to open source technologies. Open-source container scheduling systems have a complete framework and good flexibility. Huawei hopes to incorporate the advantages and ecosystems of open-source software and master its basic architecture to meet customer requirements. This is Huawei’s open source-based policy.
If open source cannot meet customer requirements, Huawei will implement innovations and constantly enrich its container scheduling system to enhance its open-source capability. The nature of open source is to open, and closed systems result in the loss of agility. Huawei plans to continue to contribute to open source organizations and offer valuable feedback to the open source community to facilitate its development.
As the only Chinese CNCF Platinum and founding member, Huawei has contributed more than 360 patches to the community, ranking in the top 5 among all contributing members, and provided two maintainers, who participated in the development of features such as the multi-scheduler framework, affinity scheduling policy, Uberbetes framework, cluster deployment, O&M monitoring enhancement, and container conformance testing.
At present, container technology is a hot topic, but the industry is not fully mature. On the one hand, a large number of applications based on traditional architectures need micro services. On the other hand, container scheduling technologies need further improvement, which requires a joint effort by developers and customers. Huawei hopes that more companies and developers pay attention to and participate in container-related communities to co-build the container ecosystem.
Register for the Huawei Connect 2016 Webinar