Virtualization technology yesterday, today and tomorrow

Docker and OS virtualization are discussed separately. And then decrypt the author in-depth analysis of the data found after the field of virtualization is and nothing happened.

I've done a lot in the past few years after Docker (formerly known as dotCloud, later renamed Docker) and Docker employees and core executives, including Ben Golub and founder Solomon Hykes, and then wrote a lot according to my thoughts Under this article.

In addition to direct communication with the Docker team and in-depth discussion, I also completed some interviews in the first four days. These interviews include a series of standard questions and discussions on Docker technology, including but not limited to the following questions:

  • How do you currently use Docker virtualization technology?
  • Will you plan to use Docker technology in the future?
  • What tools (such as Net, Java, Python, Node.js, etc.) are currently used by your development team to configure and build?
  • Can Docker help you develop more quickly?

OS-level virtualization history

First, let's review the history of virtualization, then explore its current situation, look at the future direction of development, and introduce some of the information I have received from interviews and discussions with different teams over the four days.


OS-level virtualization is a virtualization application that allows software to be installed on a complete file system, just as a hypervisor-based virtualization server, but by increasing the installation speed and overall performance by using OS-level virtualized host OSs. This reduces the extra consumption of the kernel system and the corresponding virtual clients on the host.

Since 1960, there has been a concept of virtualization, when IBM in Cambridge Research Center vigorously into the study of the direction. Related development has been advancing, but the real breakthrough is the 1999 launch of VMware's virtualization platform, and ultimately the success of virtualization to the market. It is in the Vmware help, only to create a hypervisor level virtualization of the huge market.

But OS-level virtualization, which is the basis of Docker, and did not appear in the fire when the fire quickly. These years, OS-level virtualization in the field of the emergence of a lot of products, but not as Docker so epoch-making significance. Docker released in 2013, the rapid development of today, there are many growing demand for development and use of the scene.

Virtualization development timeline

Docker at the right time, the introduction of OS-level virtualization into the developer community to meet the needs of the current Web development, provides a new way to achieve the application of efficient and continuous delivery. Docker is one of the most widely used OS-level virtualization tools that enables immutable infrastructure, build, integrate and deploy environments, and as a general-purpose virtualized environment to develop the required consumer resources.

The status quo of virtualization

Docker currently has a large share of the OS-level virtualization market. Let's take a look at the Docker community statistics a few days ago.

  The Stats: Docker on Github -> 

Watchers: 2017
Starred: 22941
Forks: 5617

16,472 Commits
3 Branches
102 Releases
983 Contributors

As can be seen from these data, the Docker community is very active. You can also look at the fork and decide to pull the request, accept the relevant data, you can see the whole codebase very healthy There have been questions about Docker's ability to manage open source communities, questioned whether it could be consistent with product development while promoting product development, word of mouth, and product quality.

Now based on the past four days of the interview situation to explore the status quo. 17 people who talk to me know what Docker is. This has been a big improvement over the previous years.

Of the 17 people who talked to me, the 15-person team was already in use in their environment, or was trying to use Docker.

13 of 13 individuals said they were seriously concerned about Docker's security. The team where these people are trying to find a way to use Docker in a production environment, rather than just being used to use Docker in a development environment.

17 people want to use or are using Docker way are not the same. But there are some things in common.

The biggest resemblance to Docker's use is to build it as a platform for developing a test environment or testing a server. It may be a regular database server or a simple distributed database, such as Cassandra or Riak, which can easily build exactly the same database and then destroy it and rebuild it when testing and development needs. Some Docker builds are only used to simulate the distributed database environment required for testing. Note that I hear and see these probably because I had worked before at Basho, had come into contact with other distributed system programmers, companies and research around this technology. This area is still very interesting and very effective.

The second most common use of Docker is to use Docker in the ongoing delivery chain. Making the continuous integration and delivery process more immutable, repeatable and reliable, which is the best entry point for Docker and these needs. Can be generated within a few seconds the environment, then destroyed, after a period of time to create, which makes continuous delivery more powerful, and more than ever before are feasible.

Some of the less common usage is still the core usage of Docker, which is talked about during the interview: in-memory cache servers, network virtualization and distributed systems.

The future of virtualization


Before the history part of the Docker introduced the core usage, where we look at the acquisition of the situation. The Docker acquisition could react side by side to Docker's future direction. Recent acquisitions include: Kitematic, SocketPlan, Koality and Orchard.

From the high-level strategy, through the purchase of Kitematic and SocketPlane, Docker will further promote virtualization, just like the fashionable argument "virtual all things" the same. Both companies will help Docker extend OS virtualization to a system-level virtualization of a programmable network environment. These capabilities can help companies out of the previous legacy of the IT environment, to create more possibilities.

Docker acquired Koality to further strengthen its existing core competencies. Koality provides parallel, continuous integration, deployment and related services. This allows Docker to provide more relevant heavyweight services.

Another acquisition is Orchard ( It is home to real-time provider of cloud-based Docker hosting business. The purpose of this acquisition is similar to that of Koality. It strengthens one of Docker's already capable. Also brings the possibility of two branches: web-based SaaS and the provision of products behind the firewall, which may also be areas of the acquisition of Koality.

Threat vector

Even from a number of perspectives Docker's future path is already clear, but still some point of view is not very clear. For example, there are a lot of competitors slowly appear, the biggest threat from Google, it is not interested in Docker, so he built a tool to compete with Docker. If Google vigorously enter the field of OS-level virtualization, Docker will be a strong opponent.

Another threat is that some of the threats are not yet visible. A tool like Mesos may decide to no longer use Docker after it comes up and focus on other virtualization paths. Similarly, when, Mesos will feel that the value of the virtualization level that Docker can bring is less than the cost of maintaining Docker.

There are a lot of intangible threats in this area. There is no good way to locate these threats and then discuss them in depth with Docker's developers. In some ways, developers love the ability to do something, but they like to try a lot of tools, which makes some of the latecomers have the possibility of home. In short, there is no magical loyalty to Docker, and developers will choose any tool that will help them get faster and easier to work.

Another foreseeable threat is likely to be acquired by traditional software companies such as Oracle, Microsoft, or other companies. This will undoubtedly shake the OSS aspects of the product and slow down the progress of the development, it may increase a lot of enterprise-class features. This is also a possible situation.


Docker has two major threats: direct competition to another potential level of virtualization and another level of virtualization. Another big threat is that Docker itself is acquired, which of course may mean a substantial increase in enterprise-class functionality. In Docker and technology evolution on the road, usage and functionality will continue to grow. Now that speed is guaranteed in leading technology startups, the speed will certainly slow if it is part of a medium or large enterprise.

Give you the question

This article summarizes my views on Docker and I would like to hear some other information about the Docker that the reader may have noticed. Are you concerned about the network, other levels of virtualization, machine deployment, integration or delivery, or other parts of the field? Tell me what you think on Twitter. Of course, if you have different views on this point of view must also tell me.

The Question of Docker, The Future of OS Virtualization (translation: Cui Jingwen)
Translator introduction Cui Jingwen, now working at IBM, senior software engineer, responsible for IBM WebSphere business process management software system testing work. Has worked for VMware in the quality assurance of desktop virtualization products. Has a strong interest in virtualization, middleware technology, business process management.

Heads up! This alert needs your attention, but it's not super important.