Traditional Culture Encyclopedia - Hotel accommodation - Coding x c-life: devops accelerates enterprise digital intelligence.

Coding x c-life: devops accelerates enterprise digital intelligence.

Digitalization began to move from abstraction and standardization to intelligence.

In 2020, the whole people popularized what is online, digital and intelligent, and also accelerated the digital transformation of enterprises. In the era of "full digitalization", it is not only simple and extensive data collection, drawing and abstraction. Digitalization has entered an advanced stage-data-driven intelligence: A large number of new technology communities based on cloud management and AIOT have begun to emerge, and the core issue of digital intelligent enterprises has turned to how to take customer operations as the core and enhance customer life cycle experience through intelligent means.

As the vanguard of the big data industry in the Internet of Things, Shenzhen Digital Alliance Tianxia Intelligent Technology Co., Ltd. (hereinafter referred to as Digital Alliance Tianxia) strives to build a C-Life big data integrated computing service platform, and is committed to providing full-cycle, full-chain and all-round professional-level operational consulting services for individuals, industries and governments. Relying on the company's strong R&D investment and technical strength, the digital world has built a number of benchmark demonstration projects in many smart fields such as smart pension, smart healthy campus, smart beauty industry, smart family, smart hotel, smart agriculture and smart water ecology.

The agility, adaptability and anti-vulnerability of enterprises determine their success or failure in this digital subversion.

In the process of delivering intelligent projects in various fields, the R&D department of the digital world gradually found problems: the R&D team is facing more uncertain, personalized and fragmented market demand. Although there is a certain universality in industry projects, there are also a lot of customization needs according to local conditions. How to make personalization and scale go hand in hand? The ever-changing customer demand urges R&D organizations to make business-appropriate adjustments. Through the digitalization of R&D process, the agility, adaptability and anti-vulnerability of R&D process have been improved, and the road to improving R&D efficiency has been opened worldwide.

The digital world R&D team shared with us: "The customer's project cycle is very tight and the demand changes frequently. The development team needs to complete the software development and release online in a short time. In the previous R&D process, the release process was long, there were many approval links, and the release pace was slow. There was no good cooperation between development and operation to improve the release efficiency. Therefore, it is urgent to break down the barriers between departments and reduce the communication links and communication costs between development, testing and operation and maintenance. DevOps is our first choice to develop high-quality software in a short development cycle, and we hope to improve customer satisfaction by using DevOps platform coding. "

Different from the previous self-built R&D process through various tools, Digital World Team first gradually increased the delivery bandwidth on the basis of continuous integration, product library and continuous deployment of coding, and then unified the process of project management and R&D data management into coding, and gradually realized the value delivery of R&D process from demand presentation to application deployment, so that all roles of the R&D team could work together on a unified platform to deliver the project on time and with good quality.

Continuous delivery promotes accelerated business development.

In the process of using coding, the R&D team of Digital Alliance followed a step-by-step route. Firstly, a continuous delivery pipeline based on continuous integration of coding, product library and continuous deployment is established. Unlike self-built Jenkins and Nexus, CODING's continuous integration and product library can be used out of the box. Docker images built by the R&D team through continuous integration can be directly pushed to the coding product library, and then the specified version images can be pulled for deployment through continuous deployment.

The continuous integration of coding is completely compatible with Jenkins in the syntax of construction script, which supports Jenkins' construction to migrate seamlessly into coding. It also supports the construction of Docker image, which meets the migration needs of R&D team to build products on basic functions.

In use, coding is much more convenient than self-built Jenkins. Open the browser and you can use it, without complicated machine configuration, setting up environment and installing software plug-ins. Moreover, coding provides multi-regional domestic and overseas construction nodes, optimizes domestic access to overseas mainstream mirror links, supports open caching in construction tasks, and greatly improves the construction speed. In terms of the flexibility of building resources, it not only supports the use of coded cloud hosts to build the digital world, but also supports the use of Tencent Cloud machines as the building resources of the digital world.

Before using the coded product library, the Digital Alliance World Team built its own product library based on open source projects. When using the self-built product library, we often encounter performance problems or usability problems. For example, when uploading a large-capacity Docker image, the self-built product library often becomes unavailable, resulting in a series of subsequent versions being blocked. After using coding, such problems are solved. Coded product library is an enterprise-level product library specially built for production environment. The capacity and distribution efficiency of the product library have been carefully optimized by the product team. The digital world team pushes all products to the coded product library, and uses the capabilities provided by the coded product library, such as version strategy, authority control and security scanning, to standardize product management.

Not only Docker, but also the coding product library provides more than ten mainstream product types, including Helm, General File, npm, Maven, PyPI and so on. , which can support the diversified product hosting needs of R&D teams. At the same time, the refined permission setting provided by the product library supports the open range of each product library within the project, within the team and publicly. For the scenario of multi-team parallel development, the digital world can easily set the common components to be open within the team and the unique products of the project to be visible within the project, which can not only accelerate the sharing and flow of public products within the enterprise R&D, but also ensure the authority security of the unique products of the project.

For R&D teams that often deliver commercial products, security is also one of the concerns of commercial customers. Coded product library not only solves the problem of product storage in the digital world, but also standardizes the safety and quality of products. Set the quality red line standard through product scanning to prevent the problem components from being released into the production environment. The scanning scheme also provides detailed scanning records and defect statistics, which is convenient for the R&D team to repair quickly. This improves the safety of products to a certain extent, and reduces the problem of security loopholes in the production environment.

The next step is to get through the last link of continuous delivery-continuous deployment. Through continuous deployment, the R&D team can automatically and frequently deploy the software to various production environments, so that the software products can be delivered quickly.

1. Clear and flexible process arrangement

The digital world operation and maintenance team first plans the deployment process of each application according to the test process, online process and deployment environment. Create different process branches for development environment, test environment, quasi-production environment and production environment respectively. Continuous deployment based on coding can quickly arrange serial or parallel deployment processes: for example, for class production and production environment, it is necessary to pass the integration test of class production (automation+manual) before entering the production environment for release; The release of multi-regional production environment can be deployed in parallel and improve efficiency.

Based on coding, clear and flexible process arrangements are continuously deployed, and all deployment branch processes are clear at a glance.

2. Manual approval plus automatic notification mechanism

In view of the situation of multi-link, multi-approval and multi-waiting in the previous operation and maintenance release process, the digital world team added roles such as testing and product manager in the release process according to the hierarchical differences of the release process, and cooperated with the automated deployment process and notification mechanism to solve the problem that the deployment process needs manual repeated confirmation. It also solves the problem that developers can only wait for the deployment version of the operation and maintenance personnel regularly in the past, and the development and operation and maintenance personnel can deploy the application on demand anytime and anywhere.

The notification of each link not only supports common methods such as on-site notification, corporate WeChat, nailing, and Bearychat. It also supports the team to access other collaboration tools used by the enterprise through Webhook to meet the team's personalized notification needs.

3. Standard product version rules

In the tight development cycle of the project, products in the digital world are built very frequently, and the number of products is also increasing rapidly, including self-tested snapshot versions and officially converted versions. How to ensure the test environment, production environment, etc. Always choose a stable version released by the backbone to avoid choosing the development self-test version by mistake? Through the product branching strategy in continuous deployment, the rules of product selection are formulated, which eliminates the errors caused by manual selection of temporary branching versions in the past.

4. Unified deployment console

In the daily application deployment management process of the digital world team, the continuous deployment of coding provides an application-oriented console. Operation and maintenance personnel can comprehensively manage the configuration information, infrastructure, resource allocation and deployment process of all applications without switching back and forth between various project views. For the digital world R&D team that needs to face multiple projects, the unified deployment console panel greatly improves the efficiency of application deployment management.

After deploying the application, you can easily check the deployed resources, including the workload of the resources in the cluster, in the Kubernetes cluster panel. One-stop deployment helps operation and maintenance or developers to complete deployment resource preparation, deployment process arrangement, application deployment and post-deployment inspection in one stop.

Then the R&D team transferred the code management and project management to the project collaboration of code hosting and coding. Say goodbye to SVN code management in the past, develop Git based on code hosting, and establish R&D quality baseline based on static code analysis and code review. After switching to project collaboration for project management, we really got through the demand-> Code->; Product-> In all aspects of application, the digital world R&D team has truly realized the end-to-end value delivery based on the unified cloud platform. Compared with the previous self-built R&D platform based on various tools, the advantages of the unified R&D management platform are as follows:

Based on DevOps coding practice, the transmission bandwidth of digital link has been greatly improved. DevOps practice not only brings changes in processes and tools to the R&D team in the digital world, but also further deepens the team's business knowledge. All roles sit together: testing, operation and maintenance, development, product, project management, etc. , study how to work together based on a unified platform, deliver projects on time and with good quality, and serve customers well.

Data has become one of the elements of production.

Digitization of R&D is not only the construction of automatic process, but also how to make the organic R&D links in series play the role of 1+ 1 >:2. How to make R&D data serve R&D?

At present, the R&D team in the digital world has switched the whole R&D process to coding, and the accumulated R&D data has also brought new guidance for R&D management. Through performance measurement, the workload of members can be clearly analyzed; Through dashboard, you can clearly see the data display of multiple dimensions, such as the number of submitted codes, the number of things completed, the number of constructions, the number of releases, and so on. These data will also support the R&D team to quickly adjust and review to adapt to a more changeable future.

The person in charge of the R&D team of Digital Alliance World told us: "The encoding was originally chosen because it is continuously integrated, fully compatible with Jenkins' continuous integration service, and supports all mainstream languages such as Java, Python, Node.js, and the construction of Docker images. This is consistent with the company's existing publishing methods and architecture system. After a period of use, not only continuous integration, but also DevOps tools including coding product library and continuous deployment have brought many improvements to our R&D process. We also expect coding to bring us more surprises in the R&D tool chain. "

After fully understanding the implementation path of DevOps in the digital world, we also found that the R&D reform of enterprises is not achieved overnight, and the process needs to be opened. Choosing a one-stop R&D management tool with low migration cost, low use threshold and flexible functions can make the change more effective.

We are delighted to see that the digital world has been on the road of improving internal efficiency. This enterprise, which aims to improve the digital intelligence level of various industries, has fully embraced the digitalization of R&D. We expect C-Life to gradually become a powerful supporting platform for smart life with its initial intention of change and extremely fast delivery ability. In this digital subversion, coding will also stand firmly with the R&D team, relying on R&D tools such as DevOps, cloud native and agile to help all walks of life improve, upgrade and innovate.