In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
Author | Zhang Lei, Senior Technical expert of Aliyun Container platform, official Ambassador of CNCF
The editor said:
Since Google led the establishment of CNCF in 2015, cloud native technology has entered the public eye and achieved rapid development. By 2018, large cloud computing providers including Google, AWS, Azure, Alibaba Cloud and other large cloud computing providers have joined the Cloud Native Foundation CNCF. Cloud native technology has also developed from the original application containerization, including containers, Service Mesh, micro services, immutable infrastructure, Serverless, FaaS and many other technology directions. CFCF also includes more and more open source projects.
Kubernetes, as the first project of CNCF, has attracted people's attention from the beginning. Kubernetes was redesigned by Google engineers based on many years of design experience of Google's internal cluster management system Borg, combined with the infrastructure characteristics of the cloud computing era. The purpose is to help enterprises solve the application container orchestration problem of large-scale IT infrastructure. After Google launched Kubernetes in June 2014, with the joint efforts of Redhat, Microsoft, Alibaba and many open source enthusiasts, it has grown into a de facto standard in the field of container choreography, which has greatly promoted the development of cloud native field.
In a systematic introduction to what cloud native is and what cloud native means to developers, let's start with a brief history of the development of cloud native technology.
A brief history of the development of cloud native technology
Cdn.com/1984634253ecef3ab2c930a97067b211b0c666e0.png ">
From 2004 to 2007, Google used container technologies like Cgroups on a large scale internally; in 2008, Google incorporated Cgroups into the Linux kernel backbone; and in 2013, the Docker project was officially released. In 2014, the Kubernetes project was also officially released. The reason for this is also easy to understand, because with containers and Docker, there needs to be a way to help people manage these containers easily, quickly, and elegantly, which is the original intention of the Kubernetes project. After Google and Redhat released Kubernetes, the development of this project is very fast. In 2015, the CNCF Cloud Native Foundation was led by large cloud computing vendors such as Google, Redhat and Microsoft, as well as some open source companies. When CNCF was founded, it had 22 founding members, and Kubernetes became the first open source project hosted by CNCF. Since then, CNCF has grown rapidly; in 2017, CNCF reached 170members and 14 funded projects; in 2018, the third anniversary of CNCF had 195members, 19 foundation projects and 11 incubation projects, such a rapid development is very rare in the entire cloud computing field. Ecological status of cloud native technology
Therefore, the cloud native technology ecology we are talking about today is a huge collection of technologies. CNCF has a cloud native panorama (https://github.com/cncf/landscape), in which there are more than 200 projects and products, which are also in line with CNCF's point of view.
So, if you take this panorama as the background, you will find that the cloud natives we are talking about today mainly talk about the following points:
Cloud Origin Foundation-CNCF
CNCF (Cloud Native Foundation) is currently the most successful in the field of cloud computing.
One of the open source foundations is Kubernetes,containerd,etcd
, Envoy and other well-known open source projects
Cloud native technology community
The 20 + formal projects currently hosted by CNCF make up the modern cloud.
The cornerstone of computational ecology. Among them, Kubernetes project is the largest in the world.
Four active open source projects
Cloud native technology industry
Except for the first two points, Kubernetes is now supported by all the major public cloud vendors around the world. In addition, more than 100 technology startups are also continuing to invest, with the overall market approaching $100 billion in 2021. Now Alibaba is also on the cloud in an all-round way, and the cloud is about to go to cloud origin, which is also an example of major technology companies embracing cloud origin.
We are at a critical juncture of the times.
2019 is the key point in the era of cloud origin. Why do you say that? Here we will briefly sort it out for you.
Since the release of the Docker project in 2013, the release of the Docker project has made the sandboxie technology of full operating system semantics readily available, allowing users to better and more completely package their own applications, so that developers can easily obtain the minimum runnable unit of an application without relying on any PaaS capabilities. This is actually a "dimension reduction blow" to the classic PaaS industry.
When the Kubernetes project was released in 2014, the significance was that Google "reborn" the internal Borg/Omega system ideas with the help of the open source community, and put forward the idea of "container design pattern". And the reason why Google chose indirect open source Kubernetes rather than direct open source Borg project, in fact, the reason behind is also relatively easy to understand: Borg/Omega such a system is too complex, there is no way to provide for people outside the Google to use, but Borg/Omega such design ideas can be accessed with the help of Kubernetes, which is also an important background of open source Kubernetes.
From 2015 to 2016, container choreography will be in the era of "three countries competing for hegemony". At that time, Docker, Swarm, Mesos and Kubernetes all competed in the field of container choreography, and the reason for their competition is that although Docker or the container itself is of great value, if you want it to generate commercial value or cloud value, you must occupy a favorable position in the choreography.
The characteristic of Swarm and Mesos is that they are relatively strong only in ecology and technology. Among them, Swarm is more ecological, while Mesos technology is stronger. Kubernetes, by contrast, had both advantages and finally won the "three Kingdoms struggle for hegemony" in 2017, becoming the container arrangement standard from then to now. A typical event in this process is the announcement by Docker that the Kubernetes service is built into the core product and the maintenance of the Swarm project is gradually stopped.
By 2018, the concept of cloud native technology began to sprout gradually, because Kubernetes and containers became the established standards of cloud vendors, and the idea of software development with "cloud" as the core was gradually formed.
By 2019, things seem to be going to change again.
What is "cloud origin"? How does the original cloud land? The definition of Cloud Native
Many people will ask, "what on earth is cloud origin?"
In fact, cloud natively is a best path or best practice. In more detail, Cloud Native provides users with a low mental burden, agile, and the best path to maximize the power and value of the cloud in a scalable and replicable way.
Therefore, cloud native is actually a set of ideas that guide the design of software architecture. The software designed according to this idea: first of all, it is naturally "born on the cloud and grows on the cloud"; second, it can maximize the ability of the cloud, so that the software we develop and the "cloud" can be naturally integrated together to give full play to the maximum value of the "cloud".
Therefore, the greatest value and vision of cloud origin is that the future software will grow on the cloud from its birth and follow a new model of software development, release and operation and maintenance, so that the software can maximize the capabilities of the cloud. Speaking of which, you can think about why container technology is revolutionary.
In fact, container technology is very similar to container technology, that is, container technology makes applications have a "self-contained" definition. Therefore, such applications can be released on the cloud in an agile, scalable and replicable way. This is the revolutionary impact of container technology on the cloud, so container technology is the core chassis of cloud native technology.
The technical category of cloud origin
The technology category of cloud native includes the following aspects:
The first part is the cloud application definition and development process. This includes application definition and mirroring, configuration of CI/CD, messaging and Streaming, and databases. The second part is the layout and management process of cloud applications. This is also part of the focus of Kubernetes, including application orchestration and scheduling, service discovery governance, remote invocation, API gateways and Service Mesh. The third part is monitoring and observability. What this section emphasizes is how cloud applications conduct monitoring, log collection, Tracing and how to achieve destructive testing on the cloud, that is, the concept of chaos engineering. The fourth part is the underlying technology of cloud native, such as container runtime, cloud native storage technology, cloud native network technology and so on. The fifth part is the cloud native toolset. On top of these core technologies, there are many supporting ecological or peripheral tools to use, such as process automation and configuration management, container image warehouse, cloud native security technology and cloud password management. Finally, there is Serverless. Serverless is a special form of PaaS that defines a more "extremely abstract" way of writing applications, including concepts such as FaaS and BaaS. Whether it is FaaS or BaaS, its most typical feature is Pay as you go, so Serverless charging is also an important knowledge and concept. Two theories of Cloud original thought
After understanding the native technology category of the cloud, you will find that it contains a lot of technical content, but the technical nature of these content is similar. The nature of cloud native technology is based on two theories.
The first theoretical basis is: immutable infrastructure. At present, this is achieved through container images, which means that the infrastructure of the application should be immutable, a self-contained, self-describing thing that can be completely migrated in different environments; the second theoretical basis is: cloud application orchestration theory. The current implementation is the "container design pattern" proposed by Google, which is also the main content of the Kubernetes part of the article. The evolution of infrastructure to the cloud
First of all, I would like to introduce the concept of "immutable infrastructure". In fact, the infrastructure on which applications depend is also going through a process of evolution to the cloud, for example, for traditional application infrastructure, it is often variable.
You may often do such a thing, such as the need to release or update a software, then the process goes something like this: connect to the server through SSH, then manually upgrade or downgrade the package, adjust the configuration files on the server one by one, and deploy the new code directly to the existing server. As a result, this infrastructure will be constantly adjusted and modified.
But on the cloud, the cloud-friendly application infrastructure is immutable.
The above update process in this scenario will do this: once the application is deployed, the application infrastructure will not be modified. If an update is needed, you need to change the public image now to build a new service to directly replace the old one. The reason why we can achieve direct replacement is that the container provides a self-contained environment (including all the dependencies needed for the application to run). So for applications, you don't need to care about what happens to the container, you just need to modify the container image itself. As a result, cloud-friendly infrastructure can be replaced and replaced at any time, because containers have the ability to be agile and consistent, that is, the application infrastructure of the cloud era.
So, to sum up, the infrastructure of the cloud era is like an alternative "animal" that can be replaced at any time, while the traditional infrastructure is a unique "pet" that needs to be taken care of. This reflects the advantages of immutable infrastructure in the cloud era.
Significance of the evolution of infrastructure to the cloud
So the evolution of infrastructure like this to "immutable" provides us with two very important advantages.
Consistency and reliability of infrastructure. The same image is the same whether it is opened in the United States, in China, or in India. And the OS environment is consistent for applications. For applications, it does not need to care about where the container is running, which is a very important feature of infrastructure consistency. Such an image is self-contained and contains all the dependencies needed for the application to run, so it can also drift to any location on the cloud.
In addition, the cloud native infrastructure provides simple and predictable deployment and operation and maintenance capabilities. Now that there is an image, the application is still self-describing. The whole container running through the image can actually be made into self-operation and maintenance like Kubernetes's Operator technology, so the whole application itself is self-contained, enabling it to migrate to any location on the cloud. This also makes it very easy to automate the whole process.
The application itself can also be better expanded, from 1 instance to 100 instances, and then to 10,000 instances. This process is nothing special for containerized applications. Finally, we can also use immutable infrastructure to speed up the surrounding management and control systems and supporting components. Because these components themselves are containerized and conform to the theory of immutable infrastructure.
These are the biggest advantages that immutable infrastructure brings to users.
2019-the first year of popularization of cloud native technology
Why is 2019 likely to be a key node? We believe that 2019 will be the first year for the popularity of cloud native technology.
First of all, you can see that in 2019, Alibaba announced that he would go to the cloud in an all-round way. We can also see that the idea of software development with "cloud" as the core is gradually becoming the default option for all developers. Native cloud technologies such as Kubernetes are becoming a required course for technicians, and a large number of jobs are emerging.
In this context, "Kubernetes" is no longer enough, and the importance of "understanding Kubernetes" and "cloud native architecture" is becoming increasingly prominent. From 2019, cloud native technology will be popularized on a large scale, which is an important reason why everyone should learn and invest in cloud native technology at this point in time.
Aliyun and CNCF jointly released the Open course on Cloud Native Technology, hoping to give developers an overall understanding of cloud natives through 29 courses.
Alibaba Cloud Native Wechat official account (ID:Alicloudnative) focuses on micro-services, Serverless, containers, Service Mesh and other technology areas, focuses on cloud native popular technology trends, and large-scale cloud native landing practices, so as to be the technical official account that best understands cloud native developers.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.