×
Community Blog On-Cloud Development - Alibaba DevOps Practice Guide Part 10

On-Cloud Development - Alibaba DevOps Practice Guide Part 10

Part 10 of this 27-part series discusses on-cloud development and its flexible customization and out-of-the-box use cases.

This article is from Alibaba DevOps Practice Guide written by Alibaba Cloud Yunxiao Team

On-cloud development means that developers can complete R&D processes such as coding, testing, and release based on cloud platforms. A complete on-cloud development platform provides an on-cloud coding environment and a complete set of R&D tools and supporting facilities. Thus, developers can conduct the full-lifecycle management of requirements, coding, testing, and O&M of applications.

Problems with Traditional Local Development

As shown in the following figure, in the traditional development mode, enterprise developers write and test the code locally and then push the code to a remote server. After continuous construction and integration, the code is released to the production environment. In addition, the online system is continuously monitored and maintained by the online O&M system. At the same time, the enterprise collects critical data during some R&D processes to measure the effectiveness of teams and individuals.

1

The gradual replacement of various software and hardware technologies is helping the company grow. In order to adapt to this change:

  • The company needs to continuously equip enterprise R&D personnel with appropriate local R&D tools, such as multi-core high-memory computer equipment and Mac notebook computers) The equipment may be of great value and requires regular upgrading.
  • New employees need to configure a complex local development environment, install specific software and plug-ins, and be familiar with the R&D process of the project and various online systems before starting development. Some projects may not be started locally in the first place due to problems, such as network configuration, resulting in a lot of additional configuration and debugging time.
  • The company needs to invest more resources to build a performance measurement system and a security control system that meet the needs of managers. In addition, the cloud system is inherently weak in control of the developer's local environment, so the effect can only be unsatisfactory.

Alibaba is no exception. With the rapid development of various businesses and the rapid expansion of its staff scale in recent years, it is extremely urgent to solve similar problems in the development process. As an emerging technology form, on-cloud R&D has the unique advantage of being able to solve these problems.

Typical Cases of On-Cloud Development

Case 1: Frontend Component Development

There are a large number of frontend projects in Alibaba based on Node.js. These frontend projects are generally organized in a modular manner. During the development process, many modules (or components) will be created due to requirement iteration. At the same time, some frontend projects invite business parties to participate in co-construction. Teams that propose functional requirements develop components by themselves under primary standards, release them online, and integrate with their scenarios on the platform.

In this context, component development is highly abstract, and most of the steps can be assisted by tools. (As shown in the following figure, business developers only need to pay attention to their business logic.) This improves R&D efficiency and component development quality.

The frontend component development process is shown below:

2

The out-of-the-box on-cloud development can solve similar problems. When developers open the browser, the environment is configured without additional configurations. The environment configurations can be maintained by senior colleagues on the Project Team, who can configure the system version, program runtime, and sets of SDKs and IDE plug-ins for specific projects. Compared with development, on-cloud development can achieve the four things below using local R&D tools:

  • The Productization of R&D Processes: The whole process from component creation to final release can be completed fluently without the need for multiple platform tools.
  • The Masking of Users' OS Differences to Provide a Unified R&D Environment: Developers do not need to face the differences between Windows and MacOS and worry about the version problems of local Node.js.
  • The Pre-Installation of Required Tools for Efficiency Improvement in All Deployment Environments: For example, the compliance scanning and repair tools, debugging and preview tools, and release tools in various environments
  • Full Release of the Local Disk Space without Worrying about the Disk Being Fully Occupied by node_modules

Case 2: Code Security Control and the Digital Measurement of the R&D Process

Code security control is extremely strict in R&D scenarios of government affairs, financial, and high-tech enterprises. However, in recent years, the internal source code of some companies has been leaked from time to time. Some of which have been clearly priced for sale at hundreds of thousands (or millions of) dollars. Some are directly disclosed on the Internet, where anyone can access and download them. Once a similar incident occurs, it will directly or indirectly cause commercial information leakage and damage to the company's reputation.

When using local development, the transmission environment of the source code and the local persistence medium are uncontrollable, making it helpless when employees intentionally leak the source code. When on-cloud development is used, everything can be solved. Developers can open the web page from the code library or requirement to start on-cloud development. The code is not on the local disk during the development process, which reduces transmission risks. This can also avoid the possibility that Trojans are implanted in the local environment of employees and that the source code is leaked while they are not informed. At the same time, developers can perform appropriate control on users' browse and copy behavior in the cloud development environment. The risk of source code leakage can be reduced by combining alarms and automatic system interception.

Within Alibaba, some projects may have strict requirements on confidentiality, and some projects with high confidentiality may involve external members. Project Teams should use the cloud for R&D to prevent source code leaks on these kinds of projects.

More enterprises are moving into the digital transformation stage. Managers are expecting to understand more about the input and output of their employees and make more timely adjustments and improvements to the project personnel distribution and R&D efficiency. In the past, all digital information relied on manual feedback and statistics. Whether the feedback was accurate and whether there were any flaws in the statistical process would directly affect the judgment of the management. However, if the R&D process is moved to the cloud, all the R&D process data can be generated and used on the cloud. It is easier to improve R&D efficiency using digital technology.

Within Alibaba, a regular employee often leads multiple external members of an enterprise to complete a project. When carrying out performance evaluation on the work of external members, the traditional evaluation method usually refers to indicators, such as the number of completed requirements and the code defect rate. However, the actual requirements are different, so it is difficult to be fair and identify excellent employees if they are evaluated completely based on indicators. Data in all development processes is made transparent with on-cloud development, including the encoding time of each requirement, the number of temporary version releases, the ratio of process code to final valid code, and code output per unit of time. If you combine the R&D process data, performance evaluation can also be more transparent and fair.

Summary

On-cloud development features flexible customization and out-of-the-box use, which can innovatively solve the chronic problems of traditional local development. In addition to the preceding two cases, the following scenarios are suitable for on-cloud development:

  1. Lightweight code development in cloud-native scenarios, such as Serverless scenarios, where developers only need to write business logic centrally: A lot of framework class code has been hidden by default. Debugging and deployment methods are different from those of the traditional R&D process and more suitable for on-cloud development.
  2. Various Vertical Scenarios: These scenarios usually require targeted customization and need to be connected to specific online systems. As long as developers can make good use of the flexible customization feature of on-cloud development, it is expected to improve the efficiency by ten times in the development phase.
0 0 0
Share on

Alibaba Cloud Community

1,037 posts | 255 followers

You may also like

Comments