Introduce: cloud native has become IT the most popular attribute, IT seems not to talk about cloud native out, but what is the real cloud native?

Note: This article is written by Ma Tao, a researcher of Ali Cloud Intelligence, one of the founders of the core team of Alibaba Group, and the head of the operating system team of Ali Cloud Basic Software Department. In ORACLE and Alibaba successively, I was responsible for the r&d work related to Linux and operating system kernel. Over 15 years of experience in operating system and kernel-related research and development, a well-known Linux kernel developer in China, with profound accumulation in file system, memory management, general block device layer and other aspects, has been invited to deliver lectures in well-known Linux operating system and kernel-related conferences at home and abroad for many times.

Now we can see all kinds of “cloud native XXX” in various occasions, cloud native has become the IT industry the most popular attribute, IT seems not to talk about the cloud native out. But what really is cloud native? Is it ok to run the old technology on the cloud? It doesn’t look good! Ali cloud senior researcher Jiang Jiangwei in a word to define – “born because of cloud is cloud native”. Simply put, in order for a product or technology to be able to add cloud native attribute, there must be innovation and evolution because of the cloud, so it is not easy to add cloud native attribute. If readers are interested, you can search the article “Ali Cloud Jiang Jiangwei: What is the real cloud native?”

Today, I’m volunteering to talk about cloud native operating systems.

In case you’re wondering, isn’t an operating system something that everyone who uses a computer uses every day? “Operating system principle” is not the first hard and deep specialized course of general computer department classmate? Wasn’t The most popular operating system, Linux, founded in 1991 by Linus Torvalds? If the answer to these questions is yes, then can such a rather traditional system software also be cloud native? Yes, the operating system should keep pace with The Times! So today I’m going to talk about how this rather traditional system software was born and changed by the cloud to become a “cloud native operating system.”

Before I expand on technology, let me say a few words about myself. I started to get involved in operating system development in Oracle at the beginning. In 2010, I joined Taobao core System to do operating system. As one of the earliest classmates in Alibaba to do operating system, I have been sticking to the field of operating system from Taobao to Aliyun. I have participated in and witnessed the evolution of the operating system in Alibaba due to cloud. Although Taobao is also an Internet company, its operating system is not very different from traditional operating systems. Everything changed because of cloud since I switched from Taobao to Aliyun in 2012.

At that time, ali Cloud operating system and Taobao is different? Objectively speaking, there is not much difference. The only slight difference: In Taobao, the operating system is a basic component of Taobao; In Ali Cloud, the operating system and virtualization became the cornerstone of the first generation of cloud computing, which is the first close contact between the operating system and the cloud.

Around 2000, VMware and Xen virtualization technologies emerged one after another. Operating systems virtualize physical resources to improve resource utilization and flexible scheduling, and finally give birth to cloud computing. Early AWS, Ali Cloud is the use of this technology to provide virtual host services. Is this cloud native, or is it cloud born? Of course not. First of all, most of these cloud vendors implement a virtualization layer (hypervisor) on the offline hardware, and run the operating system that directly controls the hardware on the hypervisor. Then, the abstraction and management of the server physical resources are realized by the hypervisor again. So, can this be done offline? Absolutely, so obviously it doesn’t fit the definition of cloud native. Although this is the beginning of the cloud, this is not cloud native.

In 2013, the second close encounter between the operating system and the cloud comes from the birth and development of the container **. ** Unlike virtual machines that virtualize server resources, containers are operating system virtualization that moves up the technology stack — providing lightweight, isolated environments for different applications with technologies such as cgroups and namespaces implemented in the kernel. The advent of Docker in 2013 made the packaging and distribution of application containers very simple and easy to use. With the advent of container scheduling technologies such as K8S, the container ecosystem was rapidly popularized and developed. Containers also quickly became the mainstream form of application packaging and distribution, development and testing, and gradually became the main operating unit of cloud computing.

This is what CNCF defines as cloud native, but only in a “narrow” sense. The operating system plays a big role in this “narrow” cloud native, but it is not really “cloud born” in the sense, nor does it reflect any revolutionary technological innovation in the cloud.

But a closer look at the above chart shows that the lack of container security is a big problem in the cloud. On the one hand, the traditional operating system has no good solution for the interference between containers. On the other hand, there are serious security problems such as the containers attacking each other and sharing some critical resources. Opportunities always come to those who are prepared, when the operating system finally needs to evolve for and for the cloud. We implement lightweight virtualization and application kernel technologies based on the operating system to create a new kind of secure container, which we call secure sandbox container.

Sandbox containers solve the problem of container safety isolation while still retaining the complete technical ecology and experience of containers, and can be seamlessly mixed with ordinary containers. This is an important evolution of the cloud-born operating system in the container scenario, where the operating system completes the beautiful “cloud-born” transition to being a cloud-native operating system. At present, this system has served various cloud native businesses of Ali Group, and also served our cloud customers through various container instance products on Ali Cloud.

The story doesn’t end there. How can operating systems continue to be “different for the cloud” for future cloud natives? This brings us to another trend in cloud natives: Serverless**. 支那

In 2019, UC Berkeley predicted that Serverless will gradually replace Serverful computing as the new computing paradigm in the cloud era. With the promotion of cloud-native concept and the continuous development of various cloud-native technologies, the trend of Serverless computing is accelerating. In this new scenario, users only need to focus on the application and business logic, more common functions, resources, and system capacity are sinking to the cloud, the user does not need to plan ahead capacity, do not need operations underlying system, can really like water, electricity, according to need to use according to pay, Serverless will significantly increase cloud’s efficiency.

With that background, the question arises — what does Serverless have to do with operating systems? I believe that to build Serverless services, the operating system must not be absent. Due to the upward shift of service boundaries in the Serverless scenario, the system under the application container or function code is a whole to the user, and the user is no longer aware of the technology stack layer of the underlying system. This change created the conditions for vertical integration of technology. We believe that cloud-native operating systems need to be fully optimized and remade in order to provide better underlying system capabilities for Serverless, which will greatly release the underlying operating environment, resource flexibility, and efficient execution capabilities.

If operating systems “evolved for the cloud” in the container and K8S era, then in the Serverless era, we have to completely create a new cloud-native operating system. It provides efficient and innovative cloud native system services for cloud native platforms and applications through the collaborative integration of full-stack technologies of underlying systems. The intensity of change and innovation is unprecedented for traditional operating systems, but we firmly believe that operating systems will change and be reborn for the cloud. Inside Ali, we give such cloud native operating system a resounding name – “kangaroo”.

Years from now, the content of the “principles of operating systems” in college courses may be completely changed by this change, but we firmly believe that this is the mission of the cloud for our generation of operating system developers: to redefine the operating system. The only operating system that is truly cloud-native is the one that is created by the technological innovation that is generated by the cloud.

The original link

This article is ali Cloud original content, shall not be reproduced without permission.