In building software-defined data centers, VM technology has become increasingly inadequate, container technology as a successor to the emerging slowly. Container technology has a long history, but the emergence of open source technology Docker provides a standard for developers to build portable applications in the form of micro-service. With the maturity of the Docker, the container has been able to meet the portability, automation, choreography and extensibility of the application.
As an Open-source Linux container technology, Docker has been supported by companies such as IBM, Google, RedHat, VMware and Microsoft that have announced support for Docker in their operating systems, virtual machines or cloud platforms. Microsoft announced in May that it could run linux-based Docker containers in its Azure cloud service's IaaS component. It should only be a matter of time before the PAAs service is available. "We are also considering this, and many of the PAAs users of Azure cloud already have this demand," said Mark Russinovich, a CTO at Azure Cloud Services, in September. ”
Russinovich confirmed plans to commercialize the container technology, code-named "Drawbridge", Drwbridge based on the library operating system (libraries OS), library OS from Microsoft Research Galen Hunt was launched in 2008.
"VM based virtualization technology is inefficient, and traditional OS virtualization technology, such as Linux container technology, security is not enough, so drawbridge chose a two-pronged road, Put the kernel memory state in the container (this refers to Windows container), the user's isolation is more thorough, and each container still share a portion of resources, so compared to VM virtualization efficiency. "Zoo Yue, a former Microsoft chief development manager in charge of the drawbridge project, told the author.
The cornerstone of the
drawbridge: the Library OS
In a paper published in Galen in 2011, the working prototypes for running Excel, PowerPoint, and the Internet in the Win7 library operating system are described in detail. The idea of the library OS is that the features of an operating system that an application relies on are reflected in the application's address space. A small abstraction set connecting the host operating system kernel and the library operating system improves the system security and makes the components of the system improve faster.
In this paper, a working prototype of the Win7 library OS is described in detail, which runs common applications such as Microsoft Excel, PowerPoint, and Internet Explorer. It is proved that the reuse of network protocol can realize the desktop sharing of each independent and secure isolated library operating system instance. The cost per instance is much smaller than total virtualization, and a typical application will only increase the working set of 16M and 64M of disk space. A new ABI (Application Binary interface) is provided below the library operating system to ensure the mobility of the application. We have also proven to be able to achieve many of the current hardware virtualization features with only a small cost.
The library operating system streamlines the operating system to the firmware layer, focusing on APIs and application delivery rather than low-level services. Defines 3 OS services, including: hardware services, User services, and application services. Hardware services include the operating system kernel and hardware drivers; User Services include GUI shell and desktop, clipboard, indexer, etc. application services include API implementations, including frameworks, rendering engines, common UI controls, and more.
Applications running in drawbridge can access the core features of Windows and the enhanced version of the APIs, including the. NET CLR and DirectX. Although strictly isolated, applications in drawbridge can still share resources, including screens, keyboards, mice, and user clipping boards.
On the keynote of the August TechMentor Convention, Redmond columnist Don Jones gave a speech to discuss the topic of the library operating system. "We generally understand developer development as a development for a particular system, such as iOS development, Android Development, Windows development, etc., but this is inaccurate and should be developed for a running environment or a set of APIs," Jones said. This set of APIs is associated with the corresponding operating system. ”
Drawbridge VS Docker
At the Interop conference in New York, Russinovich proclaimed that drawbridge was still in use. Although he did not say the Windows plan, it was not clear that drawbridge would be added to Windows Server and Hyper-V. But it is certain that drawbridge's work in Windows Server and Azure is already in progress. Russinovich says drawbridge container technology has been used in Microsoft's new Azure based machine learning technology.
"It is clear that the acceleration of virtualization technology is not enough to meet our needs, so we are using Microsoft Research's container technology drawbridge, this is a technology we have been using, we are trying to make it public." ”
While Microsoft Azure has also made a high-profile claim to its support for Docker, Russinovich's attitude is that it will drawbridge as a priority for container technology, constantly emphasizing that drawbridge is safer at deploying micro-services.
Russinovich said: "In a multi-tenant environment, there must be a lot of unknown sources of Third-party code running on the same platform, you need to set up a security barrier for them." Most cloud platforms are implemented using virtualization technology, which is designed to be implemented more efficiently through a smaller-grained security container, which is the drawbridge design. ”
Zoo Yue told the author, in fact, Microsoft's own container technology and Docker is not contradictory, Docker is the Linux container technology standardization tools, the same Windows container technology can also use Docker to manage.
Windows server container technology?
Sam Ramji, Apigee (a cloud-based API service provider), was the head of the new open source and Linux strategy department when vp,5 left Microsoft years ago. In the interview, he believes that Windows Server only has its own container technology to continue to maintain a counterweight to Linux.
While you don't know what the server team's head is thinking, it is certain that they have already started container technology and are expected to add support for container in the next server release. Zoo Yue told the author, drawbridge is only a Microsoft container technology, as for the future of Windows Server container support is based on drawbridge remains to be seen.
boss Open source, how to play?
Before the IT sector, many are the boss closed source, second open source, now the boss Open source, closed source how to play it? First of all, to rob the Linux business, first of all, Windows currently users have such a strong demand for container technology?
Ubuntu has just launched its own lxd, and also emphasizes not to replace Docker, but as a complement to Docker. Fortunately in the micro-letter group to see Daniel's discussion: Some people say LXD is to replace Docker, because the original intention of Docker is lxc+restful API, and some people say that Docker make containers more like process, and lxd is to make containers more like virtual machine. Are not foreigners always opposed to the "repetition of wheel building"? What do you think?
(Thanks to former Microsoft Chief development manager Zoo Yue for proofreading and help for this article!) )
RELATED links: Windows ' drawbridge ' Container Tech Sets Stage for Docker Battle
Why IT Pros Should Prepare for Microsoft ' s Stealth Library OS
If you need more information about Docker or technical documentation to access the Docker technology community, if you have more questions, please put it in the Dcoker Technical Forum and we will invite experts to answer. CSDN Docker Technology Exchange QQ Group: 303806405.
Container Technical daily public account has been opened, welcome attention!