Kube Vela is a modern application delivery platform that makes it easier and faster to deliver applications in hybrid multicloud environments. The OAM community released version 1.2 of the KubeVela project in January 2022, bringing a new VelaX GUI framework, unified multi-cluster management capabilities, and extensible design with a complementary ecosystem.
InfoQ interviewed Jianbo Sunco-creator and maintainer of the OAM community.
InfoQ: OAM joined CNCF as a CNCF sandbox project in 2021. Can you give us details on the technical evolution of the OAM spec and KubeVela sub-projects after they became a CNCF sandbox project ?
Jianbo: OAM and KubeVela were introduced to solve the challenges of modern application management.
Typically, modern applications consist of different infrastructure and API configurations, while these heterogeneous application parts are difficult to connect together. As a result, the infrastructure was inconsistent and it is difficult to establish common change management.
the OAM is the template for the application, it provides a common interface that can glue different types of configurations and APIs together. It also means that OAM can be an application’s source of truth. KubeVela is widely known as the implementation of OAM, it is also the application of the delivery process that can maintain the stability and security of production change.
After OAM has become a CNCF project, we received a lot of adoptions and more than 100 contributors submitted their ideas. As more businesses embrace the cloud, hybrid and distributed cloud will certainly become the future norm. In KubeVela v1.1, the architecture has been upgraded to hybrid cloud and multi-cluster control plane. It provides a delivery workflow that natively supports multi-cluster application delivery and management.
AT early 2022, KubeVela released v1.2 and provided the new GUI project VelaUX. It offers a convenient choice to reduce the learning curve for developers by providing an easy-to-use web console. The KubeVela community has been calling for the web console since its inception. KubeVela 1.2 brings the new GUI to help developers orchestrate and compose heterogeneous applications in a standard way.
Users can manage add-ons, connect Kubernetes clusters, distribute delivery targets, configure environments, deploy all kinds of applications, monitor execution status, and achieve comprehensive application delivery lifecycle management.
InfoQ: KubeVela introduces VelaX front-end framework and extensible design to customize the platform and extend the addon ecosystem, how will this be more competitive than traditional PaaS?
Jianbo: Traditional PaaS typically embeds the functionality behind the web console in a hard-coded way. They provide good user experience while adding new features and extending by users takes a lot of time due to closed architecture.
VelaUX is the frontend project of KubeVela, it dynamically provides the GUI elements with the extensible capabilities of the backend. To do this, we designed the front-end description specification UISchema with X-Definition, and multidimensional query language VelaQL. This design makes the web console consistent with KubeVela’s heterogeneous application delivery architecture.
As a result, KubeVela can easily extend its capabilities with its UI style. In version 1.2 we also provide the complementary system to allow users to extend system capabilities as addons. the VelaUX itself is also an addon using the same mechanism. Everyone is invited to contribute more addons by sending pull requests to the deposit of the catalog.
Besides, VelaUX is designed as a hybrid cloud and multi-cluster control plane. It tightly integrates with OCM and Terraform to realize multi-cluster and multi-cloud management. It can also be easily integrated with other technologies thanks to its complementary design systems.
InfoQ: The OAM specification is a completely new specification that also introduces new concepts. Will it bring more complexity and learning curves to the development and maintenance of existing projects?
Jianbo: OAM brings new concepts to simplify complexity and abstract the underlying infrastructure. With the rapid growth of the cloud-native ecosystem, thousands of new technologies are emerging. OAM aims to glue these technologies together to allow users to manage their projects in a unified abstraction. Developers only need to learn OAM concepts once to handle complex business requirements.
When it comes to existing projects, KubeVela integrates very well with existing infrastructure and technology. Users can use their own CI systems. For example, they can use Jenkins or other image registry webhooks to trigger delivery of the application by KubeVela. Users can also deploy different types of artifacts such as container picture, bar charts, cloud resourcesWhere Kubernetes YAML out of the box.
This requires no effort to integrate Kubernetes CRD controller or Terraform resources with KubeVela. In other words, there will be no migration issues when adopting KubeVela if your existing projects relied on Kubernetes or cloud resources.