Last year, the container technology gains represented by Docker and CoreOS were full. So what will replace the container technology in a few years? Container technology has gained remarkable attention over the past year. Both a large technology forum and a large company have invested heavily in Docker. Later, CoreOS and Docker were both important components of container technology, and they did make great changes in the features of the operating system. Container technology is very easy to encapsulate and distribute applications.
Last year, the container technology gains represented by Docker and CoreOS were full. So what will replace the container technology in a few years?
Container technology has gained remarkable attention over the past year. Both a large technology forum and a large company have invested heavily in Docker. Later, CoreOS and Docker were both important components of container technology, and they did make great changes in the features of the operating system.
Container technology is very easy to encapsulate and distribute applications, especially in application scenarios based on the infrastructure cloud model. Compared with its predecessors: Virtual Machine technology, containers are faster and easier, providing faster start time and reasonable isolation features, ensure that different applications on the infrastructure shared by opportunities can be effectively isolated and provide security protection. Containers are also optimized to run multiple applications in secure and compatible mode on a single operating system instance.
Is there any problem? Yes.
The size of traditional operating systems is relatively large. Even if some means and technologies are used, they are relatively heavyweight. If you look at a container instance, you will find that the container size is only several hundred megabytes. The advantages of the container in hosting applications are obvious.
A copy of an operating system means that all operating system services and subsystems, whether necessary or not. This huge volume of conflicts is contrary to the "microservice" development trend in the broader cloud market. The current service development trend requires improved security, all operations are required to be completed as quickly as possible.
Therefore, container Technology in traditional operating systems may be replaced by new technologies, such as UniKernels. A Docker container recommends a single-service-per-container (microservices) service for a container, while a nuclear UniKernel will take this idea further.
UniKernel allows you to compile and package all your applications, including operating systems. For example, if your applications do not require persistent disk access, the device drivers and OS-related disk tools can be excluded from the Imag production, because UniKernels is designed to run virtual management programs such as Xen, they only need interfaces of some standard resources on the network and disk, and are used to display thousands of devices driving disk drivers. As a result, the production system is minimized, but it only requires the application code runtime environment and necessary OS tools. The VM image file becomes smaller, the deployment becomes faster, and the maintenance is easier.
From the perspective of application developers, UniKernels can deploy applications without an operating system host. This UniKernel method allows developers to select a service from a group of service libraries, this service can support the running of applications. These service link libraries can be directly compiled and packaged into applications.
The result is that the UniKernel model can completely remove the operating system and allow applications to run directly on a virtual machine or server hardware. This is a model without the underlying software stack, only applications.
UniKernels has the following important advantages:
1. Space size advantages
Unlike virtual machines or containers, a UniKernel only needs to run the underlying support service of a single application. We know that containers are smaller than VMS, but they are still quite large, especially when an application does not care about the underlying operating system image. A mb application removes the underlying kernel and service support, which may only be 50 MB in size. This means that the network load of mobile apps on the network is still very large. In such an era of cloud data centers, both inbound and outbound data in the cloud need to spend money, And the UniKernels can not only save time for network transmission, but also save real money.
2. UniKernels is fast to start.
Recently, the UniKernel instance can be started in about 20 ms, which means that the UniKernel instance can start to provide services almost immediately after receiving network requests. A MirageOS project named JitSU led by Anil Madhavapeddy is to use UniKernels to quickly start and stop services in the cloud.
3. Better security
UniKernel is nuclear-free, which reduces the size and complexity of the system. Therefore, compared with container technology such as Docker, UniKernel is more secure, ensuring that other components not required by applications are not at risk of being attacked. In addition, UniKernels are often "unchangeable", which means that once built, the only way to change it is reconstruction, no patches or unpredictable changes, this reduces the complexity of Patch Management after system deployment.
4. Compatibility advantages
Although most UniKernel designs have been focused on new applications or applications that can write code based on this model, some new technologies such as Rump Kernels provide the ability to run existing applications on the UniKernel service. Rump kernel componentization can be used to set up various subsystems of the operating system, package the required drivers, and compile them into applications.
The above four advantages can well support the development trend of cloud, such as microservice, microkernel, discretization, and fast portable application instance migration. Technologies like Docker and CoreOS make infrastructure services better microservices. However, these services still need to be changed and evolved, which is also the driving force behind the development of UniKernels lamps.
The power and simplification of UniKernels will have a profound impact over the next five years. It will at least supplement what we currently call container technology and gradually occupy the market or even completely replace Docker. I hope the container Technology enthusiasts are ready.
Original article:Why unikernels will kill containers in five years)
Introduction to translators:Zhang Xiaodong, vice president of zhuyun technology, focuses on the cloud computing field.
This article permanently updates the link address: Http://www.linuxidc.com/Linux/2015-11/125677.htm