How to view Huawei Software Development Cloud's implementation of DevOps in the era of microservices

How to view Huawei Software Development Cloud's implementation of DevOps in the era of microservices

[Original article from 51CTO.com] Cloud computing has changed the model of service construction and delivery. From being controversial at the beginning to being widely loved, it has played an increasingly important role and laid the foundation for business innovation and value delivery.

At the same time, in the software industry, with the rapid development of many new technologies such as mobile, social, big data, IoT, and artificial intelligence, disruptive innovation and cross-border competition have intensified. Enterprises are in urgent need of rapid and continuous innovation capabilities. Traditional R&D capabilities are increasingly unable to meet the requirements of new R&D. Software productivity is undergoing tremendous changes in six aspects:

R&D scenarios

According to industry forecasts, by 2025, 80% of enterprise applications will run in the cloud, 100% of applications will be developed in the cloud, and software development, testing, deployment, and operation and maintenance will all be carried out in the cloud. R&D tools themselves will be service-oriented and cloud-based, and will be integrated with enterprise cloud platforms to simplify software deployment, release, and operation and maintenance.

· programming language

New programming languages ​​such as Go, Scala, R, Node.js, Python, etc. continue to emerge, and new programming languages ​​require new R&D tools to provide more friendly support (coding debugging, code static analysis, multi-language parallel construction and deployment).

Software architecture

Container-based microservice architecture and Cloud Native applications represent the direction of distributed software architecture, which puts forward new requirements for software development.

R&D tools

R&D tools are developing towards lightweight, service-oriented, cloud-based, container-based, social and intelligent directions.

· R&D model

DevOps has become a new R&D model widely accepted by enterprises after Agile and Lean. Software service and cloud computing have put forward stronger demands on DevOps.

Delivery model

Software delivery is changing from package delivery to engineering delivery. With the widespread application of container technology, software delivery will gradually become standardized. In the future, many containers or Docker files may be delivered to customers. Customers only need to load and run on their own cloud platform without installation, deployment and configuration.

Huawei Software Development Cloud came into being in this context and was designed to cater to these development trends, accelerating the transformation of software productivity and unleashing software productivity. It is committed to providing enterprises with an intelligent and efficient R&D platform and creating an open cloud-based R&D ecosystem, allowing enterprises to operate with light assets and focus on core business innovation, providing enterprises with a continuous source of R&D power.

On March 22, 2017, Huawei successfully held a Software Development Cloud launch conference in Qingdao with the theme of "Cloud Intelligence Software, Sharing the Future". The reporter interviewed Xu Feng, Product Director of Huawei Software Development Cloud, and Song Yong, CTO of Huawei Software Development Cloud, on how Huawei Software Development Cloud can implement DevOps.

DevOps features in the cloud

DevOps is actually a culture and trend that promotes communication and cooperation between development and operation and maintenance, based on automated tools and processes, to achieve faster, more efficient, and more stable environment construction, application testing, and software release. In DevOps management, Huawei Software Development Cloud returns to the essence of project management and embodies the important characteristics of cloud management by providing key services (demand management and defect management).

In the traditional CMM stage, projects are operated through large versions. In the traditional model, they basically grow from the baseline of the version. Xu Feng believes that by planning new product features and delivering them through the R&D process. After the agile era, project management has undergone new changes. With the insertion of requirements in the delivery process, project management supports the iterative R&D process.

Project Management Product Architecture

DevOps is a typical agile development process that always uses iterations to manage requirements. The new capabilities of DevOps will be enhanced by managing the corresponding environment resources, requirements and tasks generated during deployment, and different development models.

Therefore, Huawei Software Development Cloud fully supports the advanced R&D model of continuous delivery and DevOps, realizes cross-regional collaboration and synchronous iteration of development, testing, and operation and maintenance, supports operational data-driven development, rapid delivery, and rapid feedback; achieves consistency among development and testing environments, production-like environments, and production environments, and simplifies and realizes standardization of software deployment.

Failure Assurance for Software Development Cloud

In addition to agility, the design of the software development cloud also attaches great importance to security and stability. Song Yong, CTO of Huawei Software Development Cloud, said that from the two aspects of technology and management, the planning, site selection, design of the front-end computer room, and the design, development and deployment of the cloud platform all need to be carefully considered. For example, Huawei considers the layout of AZ and the redundant design mechanism of the entire cluster in this regard. For example, in the site selection process of the data center, it is necessary to consider the stability of the local power supply, and it is necessary to establish a monitoring center for the entire network to closely monitor the operation. In terms of management, it is also necessary to have emergency handling mechanisms for abnormal situations.

For a complete system, there is no single point of technology or solution that can solve the problem. It is necessary to establish a complete security system to maximize the security and stability of cloud services.

Huawei has invested heavily in service quality, reliability, and security for many years. Huawei Software Development Cloud also has a very important security process in its R&D. Professional technical experts help solve security and reliability issues at the beginning of product design. Various types of tools and the security discussions they require have been incorporated into the product design phase, and a lot of security field tests have been conducted, with multiple guarantees for the security of each piece. In terms of stability, cluster technology and various backup capabilities are used to ensure the stability and security of customer data.

Business architecture of software development cloud

At present, with the advent of the cloud era, business agility and availability have become the new focus of the software development industry. The release of Huawei Software Development Cloud provides developers with a one-stop cloud DevOps platform. In the future, the rapid development of development technology will surely drive the increasing maturity of the domestic development environment and benefit more enterprise customers and developer groups.

How DevOps ensures Huawei technology becomes mainstream

Regarding the mainstream R&D model, Xu Feng believes that in the field of software engineering, there is no one thing that can adapt to all, and different software forms are suitable for different development models. DevOps is the mainstream R&D model produced in the cloud era, which is not applicable to the aerospace field. The aerospace system needs to adopt the traditional waterfall model, and repeatedly set up and verify. However, with the advent of the cloud era, Internet businesses need to adapt to market changes and needs more quickly, and be more agile to adapt to the development of the times more quickly.

Agile practices broke the original practices. Later, it developed into a continuous delivery model. The continuous delivery automation capability made the product version delivery time shorter. With the change of software form in the cloud era, services became smaller, and the microservice model was born. The development, testing, deployment and upgrade of small services evolved into the DevOps model. Xu Feng believes that for Huawei, every change is to keep up with the forefront. From the earliest CMM software engineering method, with further corresponding needs, the development of continuous delivery was subsequently promoted. Now with the advent of the microservice era, Huawei has further extended the entire R&D process backwards, and DevOps has emerged, integrating 30 years of accumulated software engineering experience, as well as advanced tools and practices.

Gartner's 2016 Technology Trends

From the above figure, we can see that microservices are a very mainstream technology at present. It is not only a technical architecture, but also a culture and self-improvement delivery model. DevOps is the foundation of microservices. Therefore, in the cloud era, mainstream project management should integrate agile design concepts, which need to include the following functions:

Multi-project management

By following the top projects, you can save the trouble of searching for projects; it supports one-click switching of projects, so users can quickly switch from one project to other projects; the graffiti style of project cards can effectively improve project recognition.

Agile iterative development

Support agile iterative development, with iteration plans and timelines clearly showing project progress.

Multi -level project dashboard

Provide personal and project-level dashboards to intuitively present progress and risks; tree table and task wall views meet the usage habits of different users.

Document management

Provide project/demand-based document management services, support uploading of various types of files, and ensure the solidification and inheritance of project experience.

Social collaboration

Social collaboration and multi-role cross-regional collaborative development are highly efficient.

Multi - dimensional statistical reports

Project statistical reports: Enterprise project statistical reports show the macro progress of the enterprise;

Statistical reports such as transaction trend charts, completion rate, and module requirements show the micro-progress at the project level.

Multi-level project dashboard

Finally, Xu Feng hopes to cloud this series of capabilities and open them to more developers as a service, while also enhancing Huawei's cloud capabilities and making software development more efficient and simple.

[51CTO original article, please indicate the original author and source as 51CTO.com when reprinting on partner sites]

<<:  [Discussion with Prizes] Aiti Tribe Topic Exchange Activity

>>:  Comprehensive analysis of iOS unit testing and UI testing

Recommend

To promote Internet products, are you still using traditional branding methods?

As we all know, the advertising industry has a hi...

HEYTEA launches new brand strategy

Heytea has reduced its prices again! When hearing...

Brand social marketing trends and insights

In order to measure the performance of brands on ...

10 Marketing Rules of Queen Estee Lauder

What I want to talk about today is not Estee Laud...

My myopic friends, why can't you hear clearly when you take off your glasses?

Review expert: Wang Xuejiang, professor at Capita...