Hailong Zhang is the founder and CEO of CODING
This article contains about 3,700 words and takes about 8 minutes to read.
2018 is a difficult and transformative year for many people. The momentum of development seems to be broken, and the survival of small and minimally invasive new enterprises is difficult. The voices of “industrial Internet” and “enterprise digital transformation” seeking to break the situation from within are also getting higher and higher.
Interestingly, this is not the first time something similar has happened. In 1999, when the financial tsunami hit and the economic downturn cycle, everyone hoped to improve their management level and enhance the competitiveness of enterprises with the advanced information technology at that time. As a result, ERP quickly became popular after it entered China and attracted countless Chinese enterprises lacking management experience.
In the year of the digital shift, the buzzword is DevOps (/de’v -). There was a lot of debate about DevOps and whether DevOps was really that amazing.
Google Trends for DevOps over the years
What exactly is DevOps
In 2018, we visited nearly 100 IT teams in various industries, and found unexpectedly that most IT teams seek reform not from internal self-innovation, but from service pressure of business departments.
Click on the image to read the original article
Just as companies were looking for ERP, today’s companies are looking to DevOps. However, DevOps is not something that can be directly deployed like ERP, but a research and development management concept summarized by mainstream Internet giants, which is the secret of rapid iteration for large Internet companies such as Google and Netflix.
As the founder of a company focused on DevOps toolchains, I find it interesting when I meet customers: Everyone wants to “do” DevOps and expect it to be commercially successful, but they don’t know much about the core concept of DevOps. A big part of this is because there are so many different ways of thinking about DevOps that people get confused. To understand what DevOps really is, you have to start with its essence.
The most efficient form of organization for software development is “One Man Work”, where only One person works, writes a small project, and completes everything independently from requirements to development, from testing to deployment. It is very efficient. However, with the growth of business, projects gradually become large and become teams, and there is a division of labor, including product manager, project manager, development, data, testing, operation and maintenance, and so on. There is a natural conflict of purpose between these roles.
For example, for operation and maintenance, stability is Paramount, and the fewer new features the better. For r&d, we want to develop more features. This contradiction can lead to a huge waste of resources and time. Like two horses in a cart, if the horses’ heads are not in the same direction, it is impossible to go at full speed.
The idea behind DevOps is to break down this barrier, to integrate Development and Operations, and to align teams with business needs.
DevOps literally means “integration of development and operation”, which is to use tools to help development do some of the operations and reduce costs. But after a deeper understanding of DevOps, you will find that DevOps is actually an idea and methodology of software development management. It pursues an ideal state of r&d collaboration without barriers, which may involve development, testing, product, project management, operation and maintenance, etc. So we think that methods and methodologies that help r&d teams improve delivery efficiency while maintaining quality fall under the DevOps category.
Take, for example, Google’s five DevOps principles, which rely only on the latter two, and more on introspection about development organization:
-
Streamlining the organizational structure;
-
Willing to bear part of the loss of trial and error;
-
Step by step transformation;
-
Maximize tools and automate processes;
-
Record and analyze all processes and results.
Therefore, DevOps is not simply software-based development, but the result of the continuous improvement of the learning ability of the enterprise. It is a way to transform the enterprise into a learning organization with agile response, use new tools, optimize the organizational structure and process, and constantly carry out self-revolution and innovation. Tools are AIDS, not foundations.
Difficult DevOps landing
With the broad definition of DevOps in mind, let’s take a look at the current practice of DevOps in China. According to the report of Nanjing University’s DevOps China 2018 Annual Survey, nearly 70% of the companies with DevOps practice teams are in the technology and Internet sectors. People in other industries still have a limited understanding of DevOps.
This is consistent with our survey and interview experience: Most organizations are willing to try DevOps, but have encountered significant difficulties in implementing DevOps. Mainly for the following three reasons:
-
Unrealistic expectations about DevOps
Some teams do DevOps for the sake of doing DevOps without really thinking from a business perspective.
As mentioned above, DevOps is not a silver bullet, and skilled r&d teams in DevOps practice will quickly find a balance between quality and business growth. But for many teams that still use a centralized R&D organization, DevOps’ efforts don’t immediately yield visible growth data, and the training that comes with thinking and experimenting may be the first reward.
-
One step too far
The new generation of Internet companies was born when The concept of DevOps was relatively mature, and the speed of iteration was one of the natural goals of Internet companies, enabling them to integrate DevOps into their corporate architecture at an early stage of development.
Above is the entire system architecture of Netflix. Such a complex system architecture, which can iterate dozens of versions every day, cannot be maintained by traditional R&D management. It can only be achieved by implementing the concept of DevOps to optimize the division of labor, resources and energy efficiency of the organization. In such an organization, it is no longer necessary for someone to know what all the modules do; everyone is only responsible for their own modules.
And many enterprises, in order to consolidate and improve their market competitiveness, are very eager to achieve the above efficient state, and hope to be in place in one step. In fact, most teams in China have not reached the time point of large-scale DevOps practice, and some teams even do not have the way of branch development, parallel development. My advice to these businesses is: Don’t try to get fat all at once, take it one step at a time, understand the concept of DevOps and what it actually means for the business, and then build a small DevOps team to take on a new business, the old business still uses the old system, two tracks, Wait for small teams to get used to the pace of DevOps management before pitching to other teams.
A recent report on DevOps, “Fourth Anniversary, Special Report: Two-Speed IT,” can also be read at blog.coding.net.
-
Toolchain Crisis
An important part of practicing the principles of DevOps is the use of tools and relying on them to build automation processes that are appropriate for the enterprise. However, there is a lack of mature DevOps tool chain in the market at present, and subdivision tools emerge endlessly from each service provider. In order to build a whole DevOps process, enterprises need to study dozens of tools, and select 7-8 of them for implementation. Relying heavily on the project experience of the manager, a team without DevOps experience will have a hard time getting started.
Take CODING for example. Prior to 2018, CODING products had only task and code management modules. Here’s how we do it: The product manager wrote the document to create the task on CODING, and the R&D Leader assigned the task to the development. After the development was completed, the code was submitted and MR was created. We deployed Jenkins locally to carry out continuous integration construction and testing, and then other engineers conducted manual review. Then build through continuous integration, and build Docker Registry for building management. The Docker image built is tested in the test environment and the pre-release environment for automatic testing and manual testing. After passing the test, we use the tools built by ourselves for deployment management.
At present, CODING carries out product iteration every day, which can quickly respond to user needs and ensure service quality. However, building this whole process is highly dependent on team capabilities, and the threshold is very high.
In order to reduce the cost and threshold of using tools, many cloud service vendors including CODING are trying to integrate DevOps tool chain through the whole process, hoping to enable enterprises to implement DevOps concept out of the box and at low cost. However, the products are still in the iteration stage and cannot meet the needs of all enterprises.
DevOps is the future
If DevOps is so hard and so riddled, why do it? Because this is the long-term demand of the enterprise future.
From the general trend analysis, all enterprises will be software enterprises in the future, manufacturing software, service software, build on software. For example, Uber, the world’s largest transportation company, is a software company, not a taxi company. Based on their own demands, China’s medium and large enterprises have gradually entered the innovation-driven stage. Both the supply-side reform and intelligent Manufacturing 2025 require enterprises to cultivate internal skills, improve efficiency and promote innovation. The DevOps concept that has shaped cutting-edge industries over the past few years will go mainstream around 2019 and become a key factor in differentiating a company from its competitors.
In Statsia’s 2018 report, more than 72 percent of companies have adopted DevOps at some point, with 17 percent adopting DevOps in its entirety, up from 10 percent in 2017.
Teams that can truly practice DevOps can also make a huge difference to their business. According to Puppt’s 2017 DevOps State Report, DevOPs-type teams deploy 46 times more frequently and deliver 440 times faster.
Click on the image to read the original article
So, internationally, DevOps is on the eve of an explosion of corporate demand. In domestic companies, the successful practices of start-ups are also providing methodology and experienced experts for DevOps in Chinese companies.
Bytedance is arguably one of the best practitioners of DevOps. In the view of its founder zhang Yiming:
The more complex the business, the more people, the bigger the organization. This leads to message failure, upward management and bigger businesses. He calls the negative effects of scale in similar organisations “self-congratulation”, which he does not accept.
As a result, ByteDance’s organizational structure has only three core divisions: technology, Growth and Commercialization, which are responsible for r&d, promotion and revenue, respectively.
Toutiao, Douyin, watermelon video… Each byteDance App builds on these three divisions. At the beginning of the project, the company will set up a virtual project team for each project, which is composed of personnel from three core departments. After successful trial, the project will be promoted directly. All products share a technical line, quick trial and error. In view of the business characteristics of rapid iteration of App products, Bytedance adjusts and optimizes its organizational structure according to the DevOps concept, ensuring the ability of technology to support business innovation structually.
According to Now?
The ideas and benefits of DevOps have been talked about for years, but only a handful of companies have been able to implement them. The history of software engineering is still relatively short. Business requirements and technical concepts are changing with each passing day. In the first two years, a large number of teams were still busy in developing new businesses and had no energy to pay attention to the upgrading of r&d efficiency. Many teams still rely on wechat propaganda and Excel management stage of R & D management.
But now, with the opportunity of market cold and enterprise digital transformation, more companies begin to focus on internal efficiency improvement and r&d cost control.
Big, older companies like Netflix and Google can spend a lot of internal resources building DevOps processes from scratch, starting with underlying services. And new companies like ByteDance have been able to become agile so quickly thanks to the maturing of cloud services.
Especially in the current environment, operation and maintenance businesses are gradually diversified and complicated, and many traditional operation and maintenance technologies and solutions can no longer meet the needs of current operation and maintenance. More and more teams choose to use Docker Kubernetes and other technologies to improve operation and maintenance capabilities. Meanwhile, cloud vendors’ SaaS, IaaS, and PaaS services help enterprises save a lot of hardware maintenance costs and time compared with traditional O&M services, enabling enterprises to focus on business development and innovation.
conclusion
Sun Tzu said the art of war is based on military strategy, not strategy. Facing the ever-changing market, enterprises must force themselves to carry out continuous innovation to cope with market changes. As Ma Huateng mentioned at the Internet Conference, the Internet has now developed into deep water, or even no man’s land. The only way to respond to future changes is to iterate and react quickly, and that’s what DevOps is all about.
Click here to experience the one-stop DevOps tool chain immediately.