Exciting News! OpenYurt: Alibaba’s First Open-Source, Cloud-Native Project for Edge Computing
By Guo Fei (Senior Technical Expert), Xiyuan (Senior Technical Expert), and Xinsheng (Technical Expert) from Alibaba Cloud
On May 29, Beijing time, during the first anniversary of ACK@Edge, the Edge Cluster Management Service of Alibaba Cloud Container Service for Kubernetes (ACK), Alibaba Group open-sourced its core capabilities of ACK@Edge and shared the cloud-native edge computing project, OpenYurt, to the community.
From Cloud Computing to Edge Computing
Edge computing is a form of cloud computing. It is built on edge infrastructure and is becoming a new focus in the industry. OpenYurt, Alibaba’s first open-source, cloud-native project for edge computing, brings together the deep technical accumulation from many edge computing teams in Alibaba Group and explores demands on cloud-native implementation of edge computing.
Since 2018, OpenYurt has become the core framework of ACK@Edge and has been applied to the Content Delivery Network (CDN), ApsaraVideo Live, IoT Platform, Logistics, Industrial Brain, and City Brain. It is also used in multiple Alibaba Cloud businesses or projects, such as Link Edge, Hema Fresh, YOUKU, and ApsaraVideo (ApsaraVideo VOD, ApsaraVideo Live, Real-Time Communication, Video Surveillance System, and IntelligentVision.)
Li Xiang, Head of Open-Source at Alibaba Cloud-Native and Senior Technical Expert at Cloud-Native Application Platforms, said, “As the number of scenarios and demands for edge computing continues to increase, technologies, such as ‘cloud-edge collaboration’ and ‘edge cloud-native’ are gradually becoming the new focuses. The OpenYurt open-source project practices the concept of ‘cloud-edge integration.’ It relies on the powerful container orchestration and scheduling capabilities of native Kubernetes to implement a full edge computing cloud-native infrastructure that helps developers easily deliver, operate and maintain, and control large-scale applications on massive edge and device resources. We hope the open-sourcing of OpenYurt will promote the collaborative development of the community in the cross-cutting areas of cloud-native and edge computing.”
What Is OpenYurt?
A yurt is a circular tent consisting of a framework of poles covered with felt or skins that are used by Mongolians. The choice of OpenYurt as the open-source project name is expressing the “shape” of its edge computing, which focuses on creating a centrally managed but physically distributed infrastructure and supports automatic or autonomous operations.
OpenYurt focuses on cloud-edge integration. Backed by the powerful container orchestration and the scheduling capabilities of native Kubernetes and cumulative experiences in many edge computing scenarios, OpenYurt developed a zero-invasion edge cloud solution for native Kubernetes. This solution provides capabilities and features, such as edge autonomy, efficient O&M tunnels, edge unit management, edge traffic topology management, sandboxed containers, edge serverless and FaaS, and heterogeneous resource support. OpenYurt can help users solve the problem of delivery, O&M, and control of large-scale applications on massive edge and device resources. It also provides a deployment tunnel for core services to seamlessly integrate with edge computing applications.
1. Background of OpenYurt
Two years ago, with the development of the industry at that time, edge computing was becoming the new focus of cloud computing. However, the increasing scale and complexity have put forward higher requirements for the capabilities of edge computing, such as efficiency, reliability, and resource utilization. From the end of 2017, the Alibaba Cloud IoT Platform and CDN services, as typical edge computing businesses, were facing three major difficulties: explosive growth in service scale, sharp increases in O&M complexity, and low O&M efficiency. Therefore, the introduction of cloud-native and the comprehensive transformation of the O&M mode of edge applications have become an urgent problem to resolve.
In this context, OpenYurt was born in the Alibaba Cloud Container Service team. Over the next two years, as the core framework of ACK@Edge, OpenYurt has been applied to the Content Delivery Network (CDN), ApsaraVideo Live, IoT Platform, Logistics, Industrial Brain, and City Brain. It is also used in multiple Alibaba Cloud businesses and projects, such as Link Edge, Hema Fresh, YOUKU, and ApsaraVideo (ApsaraVideo VOD, ApsaraVideo Live, Real-Time Communication, Video Surveillance System, and IntelligentVision.)
2. Technical Features of OpenYurt
OpenYurt follows the currently popular edge application management architecture of “central management and edge autonomy” and targets “cloud-edge-device integration and collaboration,” enabling cloud-native to expand to the edge. In terms of technical implementation, OpenYurt implements the core design concept of “Extending your native Kubernetes to Edge”. Its technical solution has the following characteristics:
- Zero intrusion into native Kubernetes to ensure full compatibility with native Kubernetes APIs: OpenYurt is a simple Kubernetes add-on without modifying the core Kubernetes components. Through proxy node network traffic, OpenYurt adds a new layer of encapsulation to Kubernetes application lifecycle management and provides the core control capabilities required for edge computing.
- Seamless Conversion: OpenYurt provides a tool to convert a native Kubernetes cluster to be “edge” ready.
- Low Overhead: By referring to the actual needs of many edge computing scenarios, OpenYurt minimizes the resources and maintenance costs of OpenYurt components while ensuring functionality and reliability.
With the preceding technical features, OpenYurt provides users with the following features:
- A consistent user experience between managing edge applications and cloud applications.
- Compatibility with the Kubernetes services of all cloud vendors for easy integration.
- Extremely low maintenance costs.
3. Core Capabilities of OpenYurt
OpenYurt has the following core open-source capabilities:
- Edge Autonomy: It provides YurtHub to tolerate disconnected cloud-edge networking. YurtHub continuously provides configuration services for all devices and customer services run in the edge nodes even if the nodes are offline. YurtHub supports a large number of native Kubernetes APIs and provides shadow APIServer in the dimensions of nodes and edge units. It provides great values in weak cloud-edge networking scenarios.
- Edge O&M Tunnel: In edge scenarios, when the central control tunnel seamlessly establishes connections with edge nodes, all Kubernetes native application maintenance APIs (such as logs, exec, and metrics) become invalid because most edge nodes are not exposed to the Internet. YurtTunnel establishes a reverse tunnel between the control nodes and the edge nodes and works with the lifecycle APIs of the nodes to carry traffic from native O&M APIs.
- Seamless Conversion: Open-Yurt provides a command line tool,
Yurtctl, to easily convert a native Kubernetes cluster to be "edge" ready.
More advanced functions, such as edge traffic management, edge unit management, deployment, and regional autonomy, will gradually become open-source.
4. OpenYurt Roadmap
As the open-source version of ACK@Edge, OpenYurt will adopt the full-open-source community development model, and a new version will be released quarterly. This will include community upstream security, key bug fixes, new features, and new capabilities. Alibaba Cloud will gradually make the complete capabilities of OpenYurt open-source. OpenYurt 1.0 is expected to officially launch by the first quarter of 2021. The general roadmap is listed below:
The Alibaba Cloud-Native Application Platform Team that leads the OpenYurt project has already made significant projects open-source, such as OAM, OpenKruise, Dragonfly, Apache RocketMQ, and Apache Dubbo. The team is the most senior cloud-native, open-source contribution team in China. Based on the open-source design concept of “Extending your native Kubernetes to Edge,” the open-sourcing of OpenYurt has made great progress in the ecological construction and popularization of cloud-native technology in the field of edge computing. It also contributed to developers around the world in expanding cloud-native boundaries.
You can visit this link to find the open-source OpenYurt project.