00 Preface From Obscurity to Being a Global Dev Ops Phenomenon, What Magic Does It Hold

00 Preface From Obscurity to Being a Global DevOps Phenomenon, What Magic Does It Hold #

Hello, I am Shi Xuefeng. Currently, I am responsible for engineering efficiency system construction and platform development at JD.com. With more than ten years of experience in the software industry, I have been deeply involved in the field, especially in DevOps since 2015. I have been engaged in DevOps implementation within the company and have also helped many large enterprises with DevOps capability assessments, accumulating a lot of practical experience.

When writing this foreword, I realized that DevOps has been around for a whole decade, from obscurity to global popularity. Many people are reflecting on and summarizing the magic of DevOps.

Ten years ago, in 2009, I worked for a Japanese software company and was dispatched to Nikon in Japan for a long-term project. Although agile had already emerged at that time, software development in Japan was still dominated by the waterfall model. Whenever a new project came, we often worked day and night for several months, not daring to imagine what would happen if the delivery didn’t go smoothly.

But, as they say, what you fear will come upon you. Once, I was responsible for developing a client software, and the delivery to the client was through burning a CD and taking the CD to the site for deployment and demonstration. It started off smoothly, but when it came to pulling production data, the system suddenly crashed. I still remember the dissatisfied expression on the project leader’s face.

After debugging, I found that the client’s production environment used Oracle database, while we used Microsoft’s Access database, and the data access protocols were incompatible, resulting in data synchronization failure.

In the following three months, I only took two days off. The daily routine was eating, sleeping, and coding. I worked until the last tram home and the only entertainment was complaining about the boss during overtime meals.

So at that time, I was thinking that there had to be a better way of software development, where the importance of communication and collaboration between teams was no less than coding, documentation writing, and testing. Little did I know that, on the far side of the ocean, the journey of DevOps was just beginning.

Ten years later, in 2019, with technologies such as mobile internet, cloud computing, microservices, big data, and artificial intelligence, the rapid iteration and evolution of technology is advancing at a tenfold speed. The wave of digital transformation is sweeping across all industries. “Software is eating the world” and “every enterprise will ultimately become a software enterprise.” These predictions from industry leaders are gradually becoming reality.

Today, software is profoundly changing our way of life. Recently, I traveled to Xinjiang and even in small towns on the edge of the desert, WeChat Pay was widely accepted. Additionally, the cost of customers’ fickleness has become so low that it can be ignored, and competition between enterprises has evolved into competition in software-as-a-service.

Therefore, how to deliver high-quality software quickly and continuously, meet the diverse needs of users, and thereby improve corporate profits and market share, has become a realistic problem that enterprises must face.

However, many enterprises currently employ software development practices that are not much different from the company I was in ten years ago. In fact, due to the finer division of labor and increased costs of internal communication, the inefficiencies are even greater.

You must have encountered similar situations, right? Two departments pulling back and forth just to integrate data, with different proposals and schedules every day, all under the guise of “competition.” Something that should be simple ends up taking days or even weeks to make progress. Every time this happens, I can’t help but think, “Hey, buddy, I’m not here to take your job. I just want to simplify some work by integrating our systems. Why make it so complicated?”

So you see, improvement in the software development process depends not only on technological progress but also on comprehensive improvements in processes, concepts, and culture. And this is exactly the revolution that DevOps brings to software development.

Since the first DevOpsDays conference was held in Beijing in 2017, the development of DevOps in China has officially entered the fast lane. As a practitioner, I deeply feel the increasing influence of DevOps, not only in the internet industry but also in traditional sectors such as telecommunications, finance, and even government agencies. DevOps is being rapidly developed as a core capability.

Nowadays, there are very few people who ask what DevOps is for, or if DevOps is suitable for them. More people start to focus on how to implement and practice DevOps and fully realize its value to truly improve the software delivery process and increase the happiness index of IT engineers.

In addition, more and more enterprises are recruiting talent in the field of DevOps, and the requirements for DevOps skills and experience are becoming higher. The salaries of DevOps experts are even second only to senior management, making them the pinnacle of the IT industry.

In my personal opinion, DevOps has become a necessary skill that all IT practitioners should know and have. Among these skills, technology and practice are certainly important, but culture and concepts are even more precious. If every practitioner identifies with the culture and concepts of DevOps, believes that delivering value rapidly is far better than zero-sum games between departments, and acknowledges that we should share a common goal and start by continually improving the upstream and downstream relationships within ourselves, then how can we have examples like the PK situation I mentioned? Perhaps you have learned about DevOps from various channels, but due to reasons such as abundant information in the market and limited personal energy, there are still several confusions:

  • How to organize a clear set of DevOps concepts and a complete knowledge system?
  • How to obtain practical experience from top companies to truly implement DevOps?
  • How to acquire a gradual learning curve for DevOps, constantly adding value in the right direction?

These questions have been on my mind for years, and I hope to convey the core content to you through this column.

The process of learning DevOps will be an exploration journey for you. DevOps involves every aspect of software development, so you will walk through the complete development process of requirements, development, testing, and operations, passing through the realms of management practices and engineering practices. You will explore the organic integration of methodologies, best practices, and tool platforms, allowing yourself to advance further on the path of full-stack engineering and versatile professionals.

DevOps involves such a wide range of fields that it is almost impossible to cover all the content in a single column. Therefore, starting from a practical perspective, I have carefully selected the most important content and helped you outline the best learning path for DevOps.

This column consists of four main parts.

  • The first part is the “Foundational Knowledge”. I will provide a detailed introduction to the definition, value, implementation, and measurement of DevOps, helping you establish a correct understanding of the DevOps system from the beginning.
  • The second part is the “Practical Implementation”. This part occupies half of the entire column and is the most crucial part. I will guide you through the complete transition path of DevOps, which you must not miss.
  • The third part is the “Platform Tools”. It covers the three stages of platform construction, product development and design, and the indispensable open-source tools, helping you find the keys to quickly build a platform.
  • The fourth part is the “Transformation Cases”. I will share 1-2 practical cases, integrating the theory, practical implementation, and tools mentioned earlier, enabling you to have a comprehensive understanding.

In addition, I have also set up a special bonus section. In this section, I will share classic learning materials, essential skills for DevOps engineers, and other contents, allowing you to master DevOps comprehensively at multiple levels.

In fact, organizing and writing this whole column is also a practice for me. After all, as a longtime practitioner of DevOps, while using it to solve problems, I have also discovered more questions. Curiosity and the relentless pursuit of efficiency construction make me tireless. Now, being able to calm down and share my years of experience and reflections with you is also a very meaningful thing.

During this process, I have increasingly felt that the implementation of DevOps’ ideas and culture is still a long way to go. Every era will have a group of pioneers at the forefront of the era, leading the way and soaring. I hope that through this column, you can also become a thinker and practitioner of DevOps, realizing the win-win of personal value and corporate value.

Finally, I would like to chat with you about your confusions regarding DevOps. What are your expectations for this column? Feel free to leave your thoughts in the comments section. Let’s communicate and I look forward to your feedback.

Alright, starting from now, let us embark on this wonderful journey of DevOps. Let’s travel together and progress continuously.