×
Community Blog KubeVela: The Golden Path towards Application Delivery Standards

KubeVela: The Golden Path towards Application Delivery Standards

This article discusses KubeVela's origins and how KubeVela is leading a charge toward application delivery standards.

By KubeVela Team

In the "2022 China Tech Power Annual List" by InfoQ, KubeVela won two awards: "Top 10 Open Source Rising Stars" and "Top 10 Open Source Projects Most Loved by Developers". Why has this cloud-native open source project, which has only been around for just over two years, gained so much recognition from developers? Where did it come from and where is it headed? Let's follow the KubeVela founding team to learn about its open source story.

The Evolution of Open-Source Standardization in a Cloud-Native Scenario

Looking back at the development history of the information industry over several decades, there have been no standards and norms in areas such as cluster management, resource allocation, resource scheduling, task orchestration, application delivery, and application operation for the millions of servers in the entire industry. A few years ago, an industry survey showed that the average global server resource utilization rate did not exceed 10%, which resulted in huge social waste of resources and also left a lot of room for optimization.

The development of cloud computing has made it possible to solve these problems. The gradual migration of infrastructure to the cloud has led to the rapid popularity of containers and Kubernetes. It has also established unified standards for the above-mentioned fields so that differences between IaaS from different cloud vendors are shielded. This allows users to flexibly use resources in all cloud environments seamlessly migrate and maintain applications.

As a result, the concept of cloud native has been rapidly popularized. Enterprises are migrating more and more workloads to Kubernetes, including stateful or stateless ones such as microservices, big data, AI, databases, middleware and so on. In order to manage and operate these applications, developers have to deal with a large number of underlying APIs which pose two challenges. On the one hand, the lack of delivery and management standards means that various workloads will form their own operation and management platforms, leading to differentiation at the enterprise platform level. On the other hand, Kubernetes is too complex for business developers and brings high usage thresholds and stability risks.

As Kubernetes and cloud-native technology gradually unify infrastructure and workload abstraction at the lower level, how to further simplify and standardize application delivery and management operations becomes a very natural but important evolutionary direction in which market competition will truly take place.

1
Alibaba Cloud and Microsoft Jointly Released OAM in 2019.

Around 2018, the Alibaba Cloud Native team and Microsoft both saw this direction. After a deep exchange and brainstorming session at the Alibaba Silicon Valley Center, both sides immediately decided to join forces to jointly incubate this application delivery and management system. In 2019, they jointly released the Open Application Model (OAM), a standardized model for cloud-native ecosystem application platform construction providing theoretical basis.

KubeVela: The Golden Path towards Application Delivery Standards

The open source of OAM has caused quite a stir in the industry, and many enterprises are actively promoting verification, including several product lines of Alibaba. However, after a period of time, the Alibaba Cloud Native team realized that relying solely on models is far from enough to truly solve users' problems.

Due to the lack of specific implementations, following the idea of OAM will still create significant differences between systems, especially in larger-scale scenarios. For example, multiple sets of implementations have been formed within Alibaba internally, with capabilities that cannot be reused and applications that cannot communicate with each other. In the community's promotion process, more feedback received is that the OAM model has not been implemented and is difficult to use on a practical level. Therefore, the cloud-native team has made a decision to implement OAM and do so in an open-source manner - this is also a call from the community.

2
The Open-Source Team of KubeVela Is Communicating the Technical Implementation Details.

KubeVela was created.

New technologies should solve existing problems, not create new ones.

KubeVela was created in the OAM community and is the first project to implement the application-centric design concept. In May 2021, Alibaba Cloud and the China Academy of Information and Communications Technology (CAICT) jointly released the industry's first cloud computing open application model standard with OAM as the core, which turned OAM into a reality. It also played a key role in the subsequent development of KubeVela, promoting KubeVela to become a real cross-cloud platform for application delivery and management.

3
Alibaba Cloud and CAICT Jointly Released the Open Application Model Standard in 2021.

With experience in cloud products, the KubeVela Team knows it is important to solve the existing problems first and minimize the cost of adoption to promote new technology. The community has made KubeVela fully compatible with previous practices and features. When the first official version of KubeVela was released, it was more like upgrading than using a new system.

In order to ensure that the subsequent evolution of the KubeVela community does not deviate from this path, the founding team of KubeVela set some core principles at the beginning of the design to guide the long-term development of the KubeVela community.

1.  User-Friendliness and Scalability

KubeVela provides user-friendly upper-layer abstractions based on the OAM model, but these abstractions can be extended at any time to meet various user needs. This avoids the KubeVela project becoming a project that can only solve the "lowest commo denominator" problem, which is a very important innovation.

2.  Programmable

In the many scalability designs, KubeVela ultimately chose the programmable extension method of Infra as Code. Because this extension method is not only simple and easy to use, but also convenient for modularization and addon development. This choice not only provides the best solution for extending KubeVela, but also lays the foundation for later ecological capabilities such as addon markets.

3.  Delivery Model with Workflow as the Core

In the process of being gradually adopted by the open source community, KubeVela has received a lot of user feedback and research showing that behind various seemingly fragmented and complex application delivery and management scenarios, there is indeed a very essential underlying model. This basic model is "workflow", so after the establishment of KubeVela, the team quickly began to evolve the OAM model itself while introducing "workflow" as a basic model and implementing a very lightweight workflow engine in KubeVela. The feature of "workflow" itself naturally complements Kubernetes and GitOps ecology, so this key innovation quickly became KubeVela's "killer feature" widely adopted.

4.  Take the Most Extensive and Realistic Scenario in the Industry as the Compass of Project Evolution

During the development of KubeVela, a large number of key designs, such as the perfect support for the delivery of Helm components, the core delivery process based on GitOps, and the multi-cluster/multi-cloud/hybrid cloud environment as the primary delivery target, were polished, designed, and implemented together with a large number of open-source community users in combination with large-scale internal practices of Alibaba. This evolutionary approach, which is based on Alibaba's best practices and closely follows the most extensive scenarios in the industry, has made a crucial contribution to the widespread adoption of the KubeVela project.

4

Tools and technologies in the cloud-native era are blooming. It is a huge challenge for enterprises to quickly implement these technologies for their use. Therein lies the value of KubeVela. If we make an analogy, it is like the Spring Framework of the cloud-native ecosystem. In the Java ecosystem, developers can use Spring to quickly build business applications and use a consistent programming model without understanding the details of various technical frameworks, thus reducing the technical threshold. Correspondingly, KubeVela connects cloud-native technology components with enterprise applications to establish standards for application delivery and management, allowing developers to upgrade their focus on cloud-native from Kubernetes to the application platform.

More functions or a lower threshold?

OAM's advanced concept, combined with the user base of the community and Alibaba's large-scale internal practice testing, made KubeVela's early development very smooth. In its first week of official release, it surged to the top of GitHub's Go language project trend list.

5

At the same time, it inevitably encounters problems that any emerging open-source project might encounter.

First of all, a key factor for the success of an open source project is the initial user experience, while early teams generally focus more on product capability development. KubeVela itself has strong flexibility and scalability, which leads to either overly simple first use cases that cannot highlight its features or overly complex ones that cannot be executed. To solve these problems, the team began to pay attention to installation complexity, first use case design, document structure design and so on. Up until now, the community has been continuously improving related tools and documents to allow initial users to experience the project with low barriers.

Secondly, scalability is a core design feature inherent in KubeVela. However, at the beginning, there were many extension points in KubeVela but no unified concept or corresponding toolchain. As a result, almost no community developers knew how to extend it. Therefore, the community proposed the product concept of Addon to develop and integrate extension capabilities in a relatively standardized form. The focus was on maintaining end-to-end tools and connecting the development, storage, distribution and upgrade mechanisms of Addons. Currently, the product concept of Addon has become one of the characteristics of KubeVela.

Third, as the project is applied to more scenarios, and its features are enriched, KubeVela will inevitably encounter the complexity challenge. In the second half of 2021, KubeVela version 1.1 was released, which provided the ability to manage multiple clusters and drive the entire delivery process through workflows. This significantly improved the scalability of the KubeVela project but increased the threshold for users. It was at this time that the KubeVela team realized that there needed to be a stratification of users: those building and operating PaaS based on KubeVela's engine capabilities require flexibility and scalability to adapt to different enterprise scenarios; while business developers need a simple and easy-to-use platform for rapid development needs. Therefore, the community launched a new project called VelaUX, which is integrated into the KubeVela kernel in a addon manner so that users can install an out-of-the-box platform by enabling an addon. The emergence of VelaUX also marks KubeVela's transition from being primarily a highly scalable technical project based on Kubernetes to becoming a highly scalable platform.

Passion creates competitiveness.

KubeVela is special compared to those projects that have been incubated in the company and then open-sourced. It was initiated and evolved in the community from the very beginning, and even the name KubeVela was voted on by early members. KubeVela's start-up team invited many engineers from early OAM adopters to work together to ensure the code quality and stability of the core part of the project. Many modules are designed through the collective efforts of the community, such as the UI design of the official website, the usage of the command line function, and the support priority of cloud resources. This ensures that many user experience designs of KubeVela are based on the most extensive needs of the community and that the KubeVela project follows the original intention of developers.

In the early days of KubeVela's development, team members can see the feedback, suggestions, and code contributions given by everyone in GitHub every day, which inspired the start-up team. When engineers contribute to open-source work, they are doing what they enjoy. If a person has been doing what they enjoy, they will create more competitiveness. The KubeVela community encourages everyone to participate in the open-source construction by building an inclusive, open, and professional collaboration environment, affirming everyone's work and respecting everyone's values.

Since its inception, KubeVela has operated as a global open-source project. Alibaba Cloud donated KubeVela to CNCF in July 2021 to help maintain the continued vitality of the community, spreading its influence to North America, Japan, Spain, the United Kingdom, and other countries. Today, KubeVela contributors are located in more than 70 companies and organizations worldwide. Not long ago, KubeVela was officially promoted as the CNCF Incubation project, proving that the influence and maturity of the project have been recognized by the industry.

6
Contributors to the KubeVela Community

Today, the adoption of KubeVela by enterprises is increasing rapidly. In Alibaba Cloud, KubeVela has become the PaaS kernel of SAE, ACK One, EDAS, Apsara DevOps, Alibaba Cloud Content Delivery Network, and other products. In the community, a large number of domestic and foreign companies (such as China Merchants Bank, 4Paradigm, China Electronics Corporation, and Napptive) are also implementing KubeVela in the platform engineering of enterprises.

Let the Concept of Platformization and Standardization Take Root and Sprout

In Gartner's Top 10 Strategic Technology Trends for 2023, the Platform Engineering architecture coincides with KubeVela. KubeVela is becoming the best paradigm for platform engineering. I remember at a regular community meeting, an enterprise user representative of the community said this when sharing their practical solutions, “By using KubeVela, the communication language between product, backend, frontend, and even delivery colleagues in our team has changed from the original Kubernetes technical concept to the standardized OAM concept. We no longer need to explain the technology to colleagues with different technical backgrounds, especially the complex technology of the Kubernetes ecosystem. The concept of platformization and standardization is taking root in the company.”

The popularity of cloud-native technologies has given rise to a new approach to application development, and the continuous evolution of the technology it brings will lead to maturity and unity in application delivery and management. It may be a long way to go, but we believe KubeVela will make a significant contribution in this charge to application delivery standards.

0 1 0
Share on

You may also like

Comments

Related Products