Author | Yang Li
Respondents | Zhang Xin
Lei Feng network press: Enterprises' choice of technology path has never existed unique. Under the current wave of strong digital momentum, cloud native has become the popular direction of technology, and the combination of virtualization, containers, and microservices to provide sufficiently flexible cloud services for enterprise business will become the next universal technology boardwalk.
Starting with experimenting with container deployments, ByteDance's cloud-native practice has gone faster and faster in recent years.
In June 2016, ByteDance launched the kubernetes technology stack and began to carry out large-scale containerization transformation of the business, entering the phased volume stage in 2017 and 2018, and the single container cluster deployed in 2018 has reached tens of thousands of nodes.
Today, more than 95% of ByteDance's applications have achieved cloud nativeization, from the initial container-oriented deployment to the service-oriented stage, not only using container orchestration tools, but also establishing a relatively complete microservice governance system on top of this. In 2020, Volcano Engine, as an enterprise-level technical service platform under ByteDance, officially opened up cloud-native capabilities.
In addition to not having too much historical baggage, allowing this young company to go light and not pay attention to the cost of replacement, there is more judgment and investment in technology trends, and it has embraced the cloud approach very early. As a result, many of ByteDance's businesses are deeply rooted in the cloud from the beginning, and when designing new business systems in the future, they will also fully consider the elasticity of the cloud. Born in the cloud and grown up in the cloud, this has become the most straightforward and universal cloud-native practice path that enterprises can learn from.
In an interview with Lei Feng, Zhang Xin, deputy general manager of Volcano Engine, explained his judgment on the trend of cloud-native container technology, the difficulties and challenges faced by introducing this technology, and ByteDance's own cloud-native practice path in the past five years.
"In terms of technology curves, virtualization has gone through almost a decade of development, and now it has reached a stable period of commercialization. Similarly, container +k8s from Google open source in 2014 to the present, is expected to reach a peak in the next three years. ”
However, the current kubernetes because of its wide range of dimensions, including microservices architecture concept, networking, storage and other levels, resulting in both product service providers and enterprise practitioners, there are no small technical challenges in this process.
Zhang Xin, as the head of the cloud native application service of volcano engine, is also an early researcher and practitioner of the domestic container industry. The following is a complete summary of the interview.
Get to know the four directions of cloud native
Although cloud native is listed as the main development direction by major Internet companies at the technical strategy level, cloud native and containers are two related concepts that cannot be equated.
At the beginning, what may be more concrete and easy to understand is the container itself, which is a standardized encapsulation of resources and applications. But having a containerized deployment may only mean that the enterprise has a cloud-native infrastructure, not that it implements cloud-native applications. The evolution from containers to cloud natives will still vary considerably.
Judging from the perspective of cloud native core technology, cloud native should evolve in four directions: southeast, northwest, and southeast when it enters the mature period:
Let's start with Southbound, for a new generation of cloud-native infrastructure. As a popular technology trend in recent times, infrastructure as code (IAC) aims to make IT infrastructure more efficient and agile, and to deploy infrastructure faster in a configurable manner, further improving the performance and agility of the overall architecture. Domestic cloud vendors have also launched many similar products or technical solutions.
Look at the east-west direction. There are two trends: one is that more applications and middleware, including emerging business workloads such as big data platforms, databases, digital warehouses, and AI platforms, can be cloud-nativeized, or even serverless; second, it can better realize the opening of data islands and system connections within the enterprise through cloud native, including API services, API governance, and API gateways.
Then there's the northbound. In this direction, a number of emerging products for agile development have emerged, such as low-code, no-code tools, as well as development and test scenarios, industrial Internet and other industry scenarios, and bpm for business scenarios, which can build apaas for application development based on cloud-native microservice technology.
In terms of technology curves, virtualization has gone through almost a decade of development, and now it has reached a stable period of commercialization. Similarly, containers (2013 Docker announced technical standards) + kubernetes (2014 Google open source project) are expected to reach a peak in the next three years. Judging from the current situation of industrial digital development, all walks of life are now in full swing for construction, and industry digitalization is accelerating, which is theoretically a very good window period.
According to a cloud-native user survey report by the China Academy of Information and Communications Technology, containerization is still the mainstream trend, and the number of users surveyed who put container technology into core business production increased by 2.48% year-on-year. According to data released by research firm Gartner, by 2022, 75% of global enterprises will use cloud-native containerized applications in production.
But there is also a huge gap between them, that is, how the above-mentioned east-west, north-south technology products can be closely connected with front-end business needs. This is something that requires companies, including suppliers, to quickly land in the next three years.
The highest priority task
So, what will the volcano engine land on these four levels first?
"We're doing more of a north-south thing. That is, to cultivate internal skills downwards and provide services for developers upwards. Southbound is the most critical internal strength, any cloud application, system, and ultimately return to stability, reliability and other issues, which is something we must do and are currently doing very well. Zhang Xin pointed out.
First of all, byteDance's business itself is faced with the problem of how to maintain good enough performance in the case of large-scale data volume and business volume. ByteDance has a very large data center that houses nearly one million servers. At the cloud-native infrastructure level, including how to better integrate compute, networking, and storage with container technology, the team has done a lot of technological innovation.
Second, cloud-native applications are ultimately made available to developers, and how to make development faster and simpler is an important priority pursued by the team.
However, the current enterprise practice of containers can also be specifically divided into three stages:
In the first stage, for container orchestration management, users deal directly with container kubernetes;
The second stage, began to further improve, the user from container-oriented to a service-oriented, so there is a variety of microservices framework governance, then users do not need to pay attention to container configuration, management and other issues, but to consider how the entire business architecture is split, what microservice components should be, how to interconnect between different components and other issues;
The third stage, that is, the serverless stage, at this time, the user does not need to care about how the overall business architecture is designed, but only needs to pay attention to how the front-end business logic can be expressed quickly, which requires the manufacturer to preset the middle and back-end related components behind the business in advance.
It is worth mentioning that ByteDance itself has a middle office organizational form, which will support a lot of business lines to build, and can see a lot of applications or functions, which are actually built based on serverless.
At present, most enterprises are still in the first and second stages of container-oriented and service-oriented, and at the product level, ByteDance has begun to focus on the third stage.
A new force
At the customer level, different types of customers will have significant differences in the introduction of cloud-native container services.
Among them, the Internet industry has become the industry with the highest proportion of cloud-native adoption. First of all, Internet companies are very deep and wide-ranging in their cloud-native applications, and they are willing to pay for high-roi technology.
Especially the head of the Internet enterprises, its resource capabilities are extremely strong, and the business form is very complex, often choose open source deep customization + self-research for technical practice, the reason is that its business volume is large enough, can bring a relatively high roi through even 1% performance improvement.
In contrast, many Internet companies with waists may find it difficult to invest a lot of R&D teams in order to improve performance or cost by 1%. A recent survey by ByteDance also found that the customer base of the Internet industry has been further split, and vertical industries such as online games have accounted for more than 80% of their cloud-native adoption.
For traditional industries, the business-driven impact of their digital transformation has led to an increasing embrace of new technologies in recent years.
Industries such as finance, retail e-commerce, industrial Internet, shengxin medical care, and smart government have more and more Internet-related services driven by their digital business innovation. From the team's service observations in recent times, these industries are also embracing new technologies.
For example, in the field of Shengxin Medical, with the continuous emergence of businesses such as protein sequencing and gene analysis, as well as the promotion of digital construction of medical infrastructure, enterprises need more and more computing power to build more agile application systems. In addition, the shengxin medical industry itself is also focusing on creating a basic scientific research platform to open up the data island problem of repeated wheels in hospitals and universities in scientific research.
Do businesses need to pursue new technologies?
It is said that Google has implemented containerized applications for itself as early as 2003, and has been secretly used as a secret weapon for many years since. Relying on this technology, you can save half of the annual cost of operation and maintenance costs alone, which undoubtedly greatly enhances the competitive advantage of the company itself.
Zhang Xin, who once worked for the company, has witnessed Google's 2 billion container computing clusters running every day.
In his view, for enterprises, they will not simply pursue the purpose of trying new technologies, try new technologies, and still need business drive. Therefore, if you divide from the business point of view, you must first look at whether the company has enough sensitive business, and then further measure the ROI that uses new technologies to transform based on this.
The extension of container technology in more stateful application scenarios has led to the continuous optimization of the IT basic layer architecture, such as the ability requirements for storage and databases, the complexity of the DevOps environment, and the shortcomings in large-scale computing.
From the application point of view, stateless applications, stateful applications, steady-state applications, etc., the degree of cloud native ROI and difficulty of different applications is different.
First, stateless applications are best suited for the first cloud-native transformations.
Second, stateful applications may often be clustered applications, including business scenarios such as middleware, databases, and elasticsearch. You need certain technical barriers to solve this part of the scene problem, but once the stateful application is cloud-native, there will actually be a better return.
In the container environment, a problem often encountered by stateful applications is how to do data persistence, which changes the requirements for enterprise storage, such as which storage system to choose, can it meet the distributed storage performance? Can the data be combined with the upper-level application orchestration? Do I need to consider the affinity of the data when scheduling the business?
In the future, distributed storage itself also relies on a strong network system, which requires the container itself to have its own corresponding solution. How to do high-performance transmission based on rdma, whether it can be directly at the hardware level, such as hardware offload based on smart network cards... And so on these technical difficulties.
But from another perspective, these problems also provide a lot of room for many cloud-native container vendors. Because these capabilities cannot be solved within the open source technology system, this is also the area where the volcano engine hopes to power.
The third category is traditional applications or steady-state applications.
For such applications, the first migration will be difficult, they may be some commercial software package, may run on the non-x86 architecture; secondly, if such applications are built, it may not produce a lot of returns, may not need to solve performance problems such as high elasticity, do not require agile iteration, and even do not recommend spending a lot of energy and risk in exchange for returns.
New opportunities in the cloud-native era
Cloud native will also affect the understanding and consensus of cloud vendors on standards.
The first is to form standards. Otherwise, different manufacturers have a closed system between themselves, which will be difficult to be compatible with each other, and it will be difficult for manufacturers themselves to become larger, and enterprises themselves will face more and more technological islands.
Second, cloud native drives standards. Previously, container docker was popular because it defined a set of management standards from application packaging, encapsulation, and operation, and kubernetes also established a set of standards for how containers are arranged. Although there will be more and more technologies such as serverless, apaas, low code, etc. in the future, containers + kubernetes have actually solved many of these fundamental standardization problems.
"This state is relatively optimistic." Zhang Xin finally pointed out.
According to Lei Feng's observation, the difference in the understanding of openness differs due to the balancing strategy of the commercial interests involved in different standards organizations. In the current market, the competitive situation is still in the economic scale of international cloud vendors, how to make a breakthrough in technology? In a winner-take-all market, there may be a way out by doing open standards together and developing open source software together to offset the dominant position of market leaders.
(Lei Feng Network)