Alibaba Cloud Launches the Cloud-Native DevOps Solution: Entering the Era of Cloud R&D
By the Alibaba Apsara DevOps Team
On October 21, 2020, the Alibaba Cloud Apsara DevOps Team and the Cloud-Native Team held a cloud announcement conference to announce “the cloud-native DevOps solution.” This conference launched the cloud-native DevOps solution and its typical application scenarios based on Alibaba’s best R&D practices.
Challenges for Developers in the Cloud R&D Era
Zhang Yu, a Senior Solution Architect at Alibaba Cloud Intelligence, pointed out that we are in the era of cloud R&D, and summarized three “requirements” in the cloud R&D era. First, the IT infrastructure needs to be reliable, low-cost, and highly elastic. Second, the services provided to users need to be stable, secure, and high-performance. Third, software delivery must be continuous, fast, high-quality, and low-risk.
There is a Chinese saying, “ideas are very plump, but the reality is very bony.” Contrary to the preceding “ideal state,” software developers face many challenges in the cloud R&D era.
The first challenge is the increasing cost of the IT infrastructure. In the initial period of an enterprise, it may only take a few servers to meet its business requirements. However, as the business develops and the user scale expands, it may take several rows of cabinets or a data center to meet its requirements. Moreover, the growth rate of IT infrastructure cost is often greater than the growth rate of business scale, which makes developers feel that the cost of the infrastructure is getting higher.
The second challenge is that applications face the issues of “failed launches, frequent errors, and long duration.” The preceding figure shows the launch progress of Application A and Application B for six months. The vertical axis indicates the time for launching an application, and the horizontal axis indicates the launch date. Each green dot indicates a successful launch, and each red dot indicates a failed launch. We can see that Application A was launched 13 times in half a year, but seven times were HotFix launches with emergency bug fixes. Moreover, the launch duration varies significantly, from minutes to days. Application B was launched frequently, but the success rate was less than 30%. Each launch duration was longer than 24 hours, but in some cases, it was not launched for several days.
The third challenge is that less time is spent on the development of new functions. In the early stage of software development, almost all our manpower can be used for software development. However, with the richness of application functions, more manpower is used for the maintenance of existing functions, and there is little time for new function development.
The Cloud-Native Continuous Delivery Practices Are Necessary in the Cloud R&D Era
How should we approach the cloud R&D era? We need cloud-native continuous delivery practices, including cloud-native infrastructures, end-to-end continuous delivery pipelines, premium quality protection, and a low cost, efficient service governance system.
In the 1950s and 1960s, the adoption of standardized containers established a set of standardized transportation systems. This effectively reduces the cost of transporting goods, and ultimately promotes economic globalization. Traditional “containers” used in shipping and virtual “containers” used in cloud-native technologies have something in common. Zhang Yu said, “The cloud-native infrastructure has two characteristics: “immutability” and “standardization.” The “immutability” can be used to eliminate uncertainty caused by inconsistency and reduce the risk of inconsistency. This can reduce the maintenance costs. The “standardization” can be used to simplify deployment and lower environment maintenance, toolchain development, and learning costs.”
A standard end-to-end continuous delivery pipeline consists of requirements analysis, code submission, construction, integration verification, pre-launch, and online. It needs to be describable, observable, and automated.
With the “cloud-native infrastructure” and “end-to-end continuous delivery pipeline” in place, the “premium quality protection” is also needed to improve the quality of software launches. Quality protection is a matter for all people in the development, testing, and operation and maintenance fields. Everyone is in the same boat. Working together and helping one another ensures the high-quality delivery of software.
Finally, we need a low-cost and efficient service governance system. When a microservice is launched, the service platform provides a series of service governance systems, including gateways, service monitoring, and auto scaling. This allows developers to focus solely on code development without worrying too much about service governance.
The Launch of Alibaba Cloud’s Cloud-Native DevOps Solution
To help more enterprises and developers enjoy the R&D benefits of technology upgrading with high quality and low-cost, the Apsara DevOps Team worked with the Cloud-Native Team to build an all-in-one cloud-native DevOps solution. DevOps can easily cope with scenarios, such as general Kubernetes scenarios, Spring Cloud or Dubbo microservice scenarios, and lightweight Function Compute (FC) scenarios.
As shown in the preceding figure, the “Apsara DevOps kanban” is at the top left. Product managers can use it to manage requirements. After “requirements” are clarified and planned, they are split into “tasks” and allocated to a team or a developer for “execution.” During the development process, developers use the Apsara DevOps code management platform to create feature change branches. When the code is submitted, the feature branch listener will be triggered. During this period, Apsara DevOps automatically scans and reviews code and scans security. After the code is developed, developers can use the DevOps pipeline to perform operations, such as compilation, development verification, online review, production, and launch. The pipeline depends on multiple Alibaba Cloud services. For example, the pipeline relies on “mirror service” during compilation. In the development verification, production launch, and other links, it relies on Alibaba Cloud Container Service for Kubernetes (ACK) cluster services. After the application is officially launched, it depends on microservice governance services, including configuration center, service monitoring, and capacity adjustment. All of this information will eventually be fed back to developers through DingTalk and other means. When an issue occurs, it is reflected in the form of a “defect” in the Apsara DevOps kanban.
In summary, the DevOps cloud-native continuous delivery solution consists of four aspects: First, the cloud-native infrastructure supports ACK, Function Compute, and Serverless App Engine (SAE). Second, the end-to-end continuous delivery pipeline is realized through the kanban, code management platform, and pipeline of Apsara DevOps. Third, through the automatic scanning of its code management and the detection and verification of its pipeline, premium quality protection can be achieved. Fourth, the microservice governance of Alibaba Cloud has achieved a low-cost, high-quality service governance system.
Typical Scenarios of Apsara DevOps
The Apsara DevOps solution applies to three scenarios: the continuous delivery of Function Compute, continuous microservice delivery, and general-purpose cloud-native continuous delivery.
The continuous delivery of “Apsara DevOps + Function Compute” is more suitable for start-up teams with fewer developers. Since their businesses are often in the rapid verification and development stage, they hope their businesses can be launched and updated quickly, and they do not need to be concerned about their work outside the business.
This “continuous delivery scenario of Function Compute” has three advantages: First, developers can focus on business logic development. They do not need to pay attention to underlying details, resource conditions, service maintenance, and governance. Second, we need to pay for the resources that our services use. We need to reduce resource costs and bring our services online in a matter of minutes. Third, the entire R&D process is based on the Apsara DevOps platform, which provides automatic security guarding. The operating environment is stable, based on the infrastructure provided by Alibaba Cloud, and has undergone large-scale commercial practices. The function platform features high elasticity and can easily cope with sudden business traffic bursts.
For small and medium-sized developer teams that have adopted or are preparing to adopt microservice architectures, the continuous delivery method of “Apsara DevOps + SAE” is recommended. This kind of “continuous microservice delivery” has the following characteristics: First, SAE is deeply integrated with microservice frameworks, such as Spring Cloud and Dubbo, and the built-in micro service governance capability can effectively reduce the cost of using microservices. Second, the second-level elastic scaling capability enables fast service scaling and high elasticity. The service can cope with traffic bursts and ensure service stability. Third, the built-in microservice launch and O & M capabilities can effectively improve the efficiency of microservice testing, launch, and operation and maintenance.
Medium or large R&D teams, which have their own service governance systems and are expected to have sufficient R&D flexibility and enjoy the technical benefits of cloud-native and continuous delivery, can use the “general cloud-native continuous delivery” solution. What are the advantages of this delivery method? First, Apsara DevOps provides an all-in-one research and development process support from requirements to online operation and maintenance. Second, Apsara DevOps provides end-to-end security protection from the infrastructure to the DevOps toolchain. Third, it is deeply integrated with the Alibaba Cloud infrastructure and cloud services with the characteristics of no hosting and high performance. Meanwhile, the Alibaba Cloud infrastructure fully complies with the Kubernetes (k8s) open-source standards, so migration costs are saved.
Alibaba Cloud Apsara DevOps has served thousands of enterprises and millions of developers. It has helped many enterprises successfully complete the DevOps transformation, including ZhongAn Insurance, China Everbright Bank, Tianhong Asset Management, China Southern Airlines, SAIC-GM, Bank of Nanjing, Vanke, Cathay Insurance, Shanghai Boka, and Shijiazhuang Ai-mobile. With the launch of this cloud-native DevOps solution, Apsara DevOps hopes to help more enterprises move into the cloud R&D era through the DevOps transformation process.