This article is from Alibaba DevOps Practice Guide written by Alibaba Cloud Yunxiao Team
Digital transformation poses a common challenge to Internet companies and industrial companies. Industrial companies should apply digital capabilities to improve user experience and operational efficiency, while Internet companies should combine digital capabilities with specific industries to enable broader and deeper innovation. What they have in common is that they all need to upgrade the delivery and operation modes of IT, which cannot be separated from the capability of DevOps.
The following figure shows Alibaba's understanding of DevOps implementation:
Understanding and the Value Proposition of DevOps
DevOps implementation is based on cloud-native infrastructure and supported by a one-stop DevOps tool platform. The following two capabilities are built with DevOps implementation:
We have put forward the value proposition of DevOps implementation to build the two capabilities above:
1) Business-Driven Collaboration
2) Product-Oriented Delivery
3) Feature-Centered Continuous Delivery
4) Application-Centered O&M
The following sections will give descriptions.
The delivery of IT systems is a collaborative process involving different functions of the delivery procedure, such as business, product, development, testing, and O&M. It also involves different functional teams, such as the teams of frontend, backend, and middle platform products and basic technical components.
How can collaboration be more efficient to respond to and deliver business needs faster? Our first value proposition for implementing DevOps is the business-driven collaboration mode:
1) It requires interconnection to the end-to-end delivery process through business requirements, including business, product, development, testing, O&M, and other functions.
2) It requires alignment to the development work of each function through business requirements, such as the frontend, backend, and middle platform delivery rhythm.
The business-driven collaboration mode seeks to optimize the system and ensure that local work is translated into business-visible delivery efficiency.
The satisfaction of business requirements must be implemented in the product before delivery. There are two modes of product delivery, product-oriented delivery and project-oriented delivery. Project-oriented focuses on short-term delivery, while product-oriented focuses on long-term value. We advocate the product-oriented delivery mode for long-term efficiency and business value.
This product-oriented delivery mode considers the technical delivery team as a profit center, not a cost center. Build cross-functional and relatively stable product delivery teams for products and businesses and measure and motivate product delivery teams by business value and business response. Since the teams are oriented to business value, they can continuously iterate, learn, and accumulate software assets, engineering, and technical assets to improve their response and delivery capabilities.
Business-driven collaboration mode and product-oriented delivery mode cannot be separated from the support of engineering capabilities, especially the engineering capabilities of continuous delivery.
We divided continuous delivery into two capabilities: continuous deployment and continuous release. Deployment is a technical concept and refers to installing software in a specific environment. Release is a business concept and refers to making one or a group of requirements available to users.
Two decouplings must be achieved to build the continuous delivery capabilities:
1) Decoupling between requirements enables the development and release of individual requirements to be carried out independently.
2) Decoupling between deployment and release makes the deployment action more flexible, and the release can be carried out on-demand.
Single-application deployment and single-requirement release are ideal for continuous delivery.
These two decouplings aim to achieve the continuous change of a single application and the continuous release of a single requirement. This is the most agile way to respond to the business and our pursuit of continuous delivery capabilities. The preceding figure reflects it. When a business requirement is split corresponding to changes of multiple applications, each application is developed, tested, and deployed independently. When all changes related to the requirement are deployed, this requirement can be released automatically or according to the business needs through the feature switch.
A series of mechanisms, capabilities, and tools are required to implement the continuous deployment of a single application and the on-demand release of a single requirement, such as environment management, construction of a continuous delivery pipeline, development and joint debugging methods, and a quality guarantee system.
O&M aims to ensure the elasticity and resilience of the business system while responding to the business quickly. Elasticity is the ability to automatically and accurately scale up and down based on the size of a business. Resilience is the ability to ensure the stability and security of the system and business continuity.
The application perspective is an inevitable choice to connect the system and businesses and connect development and O&M. Let’s take the e-commerce system as an example. The shopping cart, commodity details, and order placement system are independent applications. These applications comprise the business systems of Taobao, Tmall, and Alipay. The development, delivery, and O&M of Alibaba DevOps focus on applications. Each application has an independent owner, codebase, resource set, and budget. The fault responsibility is based on the application.
Alibaba's O&M system is built on applications, the basic unit. Based on applications, we can carry out various refined management and promote the completion of technological upgrading, resource cost optimization, and various stability management work. We can also perform O&M that integrates supervision, management, and control.
DevOps cannot be implemented without the support of tools. Good tools can accumulate principles and methods, implement correct value propositions, and assist the implementation of DevOps.
In the process of R&D collaboration, delivery, and DevOps implementation, we face many challenges:
1) Workflow Automation and Standardization – How can we make business, product, and technology collaborate efficiently and effectively?
2) Asset Management – How can we manage key assets, such as code, documents, applications, and resources, effectively?
3) Transparency and Digitalization – How can we promote collaboration through global information transparency and point out the direction for team improvement through data insight?
Alibaba has gradually formed DevOps practices and applied these practices in a complete DevOps tool system to meet the business R&D requirements and challenges above. It has the following features:
We will introduce Alibaba's DevOps tool system later.
We designed a DevOps capability improvement model containing four aspects and ten capabilities to guide the direction of DevOps implementation and help plan a clear path. Based on this model, the organization can evaluate the current state and shortcomings and plan the DevOps implementation and promotion paths.
We will provide the capability improvement model of DevOps in the last part of this article series.
The Goals of DevOps in the Context of Digital Transformation - Alibaba DevOps Practice Guide Part 2
Requirement Hierarchy - Alibaba DevOps Practice Guide Part 4
1,037 posts | 254 followers
FollowAlibaba Cloud Community - February 6, 2022
Alibaba Cloud Community - February 4, 2022
Alibaba Cloud Community - February 3, 2022
Alibaba Clouder - December 31, 2020
Alibaba Cloud Community - February 6, 2022
Alibaba Cloud Community - February 3, 2022
1,037 posts | 254 followers
FollowAn enterprise-level continuous delivery tool.
Learn MoreA unified, efficient, and secure platform that provides cloud-based O&M, access control, and operation audit.
Learn MoreManaged Service for Grafana displays a large amount of data in real time to provide an overview of business and O&M monitoring.
Learn MoreAccelerate software development and delivery by integrating DevOps with the cloud
Learn MoreMore Posts by Alibaba Cloud Community