logo

Challenges of Modern Application Delivery: A Retrospection of KubeVela Highlight Technologies

2023-04-21

Authors:   Jianbo Sun, Da Yin


Summary

KubeVela is a modern software platform that simplifies delivering and operating applications across hybrid multi-cloud environments. The platform provides an infrastructure-agnostic layer to render or deploy software and fully observability for the whole platform. The main challenges of KubeVela are balancing extension and user experience, powerful orchestration, resource management, and large scale and stability.
  • KubeVela is an application-centric control plan that connects with traditional CI systems or modern Github and provides best practices for platform engineering.
  • The Open Application Model provides a consistent model for application delivery and infrastructure-agnostic model that allows developers to focus on components trades and deploy to different runtime platforms.
  • KubeVela balances extensibility and user experience by leveraging the Kubernetes API and CRD ecosystem, providing API systems, SDKs, and a UI console.
  • KubeVela provides powerful orchestration by allowing data passing for application components dependency, overriding parameters for multi-environments delivery, defining rollout and traffic splitting ways, and checking metrics with quality gates to ensure safe delivery.
  • KubeVela manages resource management by sharing resources in multiple applications, defining the replicas of application at initialization while working with an HPA later, and defining different garbage collection policies for data storage and workload metadata.
  • KubeVela ensures large scale and stability by horizontally scaling the controller, improving performance for different scenarios, and providing a catalog of add-ons that can connect to the whole community.
KubeVela was developed to simplify the application delivery pipeline, which can be complex and time-consuming for developers. The platform provides a consistent model for application delivery and infrastructure-agnostic model that allows developers to focus on components trades and deploy to different runtime platforms. KubeVela balances extensibility and user experience by leveraging the Kubernetes API and CRD ecosystem, providing API systems, SDKs, and a UI console. The platform also provides powerful orchestration and resource management, ensuring large scale and stability.

Abstract

Since Open Application Model invented in 2019, KubeVela has experienced tens of version changes and evolves advanced features towards modern application delivery. Recently, KubeVela has been promoted to a CNCF incubating project, marking a new milestone! In this talk, we'll look back into the starting points and give a comprehensive introduction to the highlight technologies of KubeVela. In general, we'll talk about for parts:1) Balance Extension and User Experience: How to provide an easy-to-use abstraction for end users while allow extension for any Kubernetes API? How to keep the compatiblity when some of Kubernetes API deprecated?2) Powerful Orchestration:  How to allow data passing for application components dependency? How to override parameters for multi-environments delivery? How to define rollout and traffic splitting ways, check metrics with quality gates to make sure the delivery is safe?3) Resource Management: How can we share resources in multiple applications? How can we define the replicas of application at initialization while working with an HPA later? How to define different garbage collection policy for data storage and workload metadata?4) Large Scale and Stability: When the application scales up, How to horizontally scale the controller? Which part of the system will become the bottleneck first? How to improve performance for different scenarios?As maintainers of the project, we have seen a large number of user scenarios including those from Alibaba Cloud and China Merchants Bank, and we will share the highlights over the past three years' experience .

Materials:

Post a comment