Before I joined the operation and maintenance department of the last company, the operation and maintenance engineer I worked for was just repairing computers, pulling network cables, and cloth machines.
As everyone knows, the knowledge and expertise involved in operation and maintenance is very wide, and the quality of employees is also very high. The importance of operation and maintenance in large Internet companies is no less important than business development. And there are many categories:
Originally I was going to write an article about operation and maintenance development in the eyes of the front-end, and it happened that the former team leader wrote two articles about his own six or seven years of development experience. His article couldn’t be more appropriate. The following is from its submission.
From the perspective of job responsibilities: the work to be done in operation and maintenance development is:
Operation and maintenance services accompany and support the entire life cycle of business development.
DevOpsupgrade implementation services for the operation and maintenance means more software engineered to reduce human flesh operations,
DevOpsstressed automation, pull to improve the efficiency and quality of the delivery team.
The traditional operation and maintenance needs to seek technological transformation. It is no longer enough to focus only on the technology at the operating system level. It is also necessary to increase skills in software infrastructure such as program code performance tuning, continuous delivery, and containerization. Continue to pay attention to the life cycle management of the entire business, application, and service.
Simply put, it is to abandon the traditional black-box operation and maintenance thinking in the past and enter the era of white-box operation and maintenance. We must go deeper into the code and business operations to make the entire online service run in a more high-quality and efficient state.
To build O&M automation or practice DevOps, the participation of O&M development engineers is indispensable, but how can we better play the role of O&M development?
I have worked with various types of operation and maintenance development in the role of operation and maintenance development manager. Some of the teams originally engaged in operation and maintenance development, and some were originally engaged in the development of other businesses (e-commerce, platform) to assist in operation and maintenance. Team members, as well as those who were originally engaged in business operation and maintenance and then transformed into operation and maintenance development.
After working with them for a period of time, the overall feeling is as follows:
Operation and maintenance development is first of all a programmer, not an operation and maintenance engineer.
A good operation and maintenance development requires "operation and maintenance understanding" + "development ability":
K8Sand so on.
To sum up, the operation and maintenance development is a professional branch that is not too deep. The reason why the demand for operation and maintenance development is now heated is mainly due to the limited R&D capabilities of the senior operation and maintenance of the older generation, and this is There are historical reasons. Wait until the industry made
DevOpstime, they tend to have focused on the senior category team management, capacity planning, tuning the architecture, the quality of operation and maintenance services, so basically is unlikely to draw out large chunks of time to re-learn the coding and development of automated systems.
Therefore, when we have a need for the construction of an automated system, we need more professional programmers to assist. However, the systems made by general non-full-time operation and maintenance programmers are often not good for operation and maintenance. At this time, some young operation and maintenance engineers have upgraded their R&D skills, transformed operation and maintenance development, and made good operation. The maintenance system was completed and won the praise of the operation and maintenance team. Everyone praised the "operation and maintenance development".
Therefore, everyone equates "good operation and maintenance system" with "operation and maintenance development", thinking that as long as we invite an operation and maintenance development, then a perfect operation and maintenance platform will be born automatically. This is a big one. Misunderstanding.
In fact "crippled
DevOpssystem" really is equivalent to "understand the operation and maintenance" + "development capacity" is the capacity of these two can be separated, not necessarily to impose development engineers in the operation and maintenance of a person's body.
Similar to the development process of other business forms, the two roles of product manager and programmer are required to be separated, and companies will not say that they have to recruit programmers who can write code and demand.
Therefore, when operation and maintenance can meticulously document the requirements of operation and maintenance automation, and establish the design and architecture of the automation system, this is the best "operation and maintenance understanding." At this time, give this reliable, easy-to-use, and detailed requirements document to a programmer with strong "development ability", and finally you can get a "good operation and maintenance system".
Of course, most companies do not have a "product manager" specifically for operation and maintenance development, so if the operation and maintenance development wants to go to advanced development, it can also replace the operation and maintenance requirements and upgrade to the operation and maintenance product manager, from the perspective of programmers to solve engineering efficiency and quality of operation and maintenance services, I think this is similar
DevOpsPlatform front-end functions
Editor's supplementary description
The picture shows the
DevOpsapplication deployment interface of FIG.
We cook figure in the group
DevOpssystem, the face is:
The core function: application deployment interface. After referring to other similar products, it is found that it is not suitable for business scenarios. Either the functions are too scattered, or it is only process control. So in the front-end function, we did these:
JenkinsService operations can be completed through the interface, simplifying the work of configuration engineers.
At this time, an excellent operation and maintenance development requires the following skills: product planning, product design, object-oriented, demand models, domain models, design models, design principles, design patterns, product tools, and documentation capabilities.
Therefore, when the operation and maintenance requirements are understood and analyzed sufficiently, and after the operation and maintenance development has acquired the "product manager" ability, the operation and maintenance development is a common development branch, which can be coded according to the requirements document.
This article is my own shallow understanding of operation and maintenance development and its professional development. In general, operation and maintenance development is still a relatively interesting and well-developed professional branch. Although occasionally I have to be a scapegoat, more efforts are welcome. Smart and talented students join the operation and maintenance development industry.
I have been engaged in DevOps platform development related work for six or seven years. I have summarized my own experience and feel that an excellent operation and maintenance development engineer should have the following abilities and qualities.
From bottom to top, from top to bottom work must be done well, the value and gold content of the upper operation and maintenance work can be recognized, and our work can improve the efficiency and liberate the operation and maintenance. Operation and maintenance awareness is very important. It’s not that you are very skilled, and you have learned a lot of technologies. It does not mean that you don’t need operation and maintenance awareness. In fact, leaders value operation and maintenance awareness, such as whether backups are made, and permissions are assigned. , Platform testing conditions, failure response time, etc. These are all awareness, not that you have learned a lot of technology and think you are a big cow. If the platform finds a failure, you have nothing to do with it. You think that simple problems can be handled as you like, and you don’t need to. Give feedback to other departments. Leaders don't look at your skills, but your awareness of operation and maintenance. If you have no awareness of operation and maintenance, no matter how good the technology is, it will only cause people in other departments to disagree with you.
The DevOps platform ultimately serves colleagues in the operation and maintenance department and the development and testing department. Therefore, only when you are familiar with the operation and maintenance scenarios of each business can you better design functions and code development. When you are familiar with business scenarios, you can consider all aspects and develop the code. In order to meet various scenarios and applications.
People will inevitably make mistakes. This is unavoidable. We should summarize the reasons for making mistakes and how to prevent similar situations from recurring based on our existing experience in making mistakes. We can even share some typical mistakes in the team and share the mistakes of one person. The experience gained is spread throughout the team.
There are often complicated operations such as release, migration, and backup in the operation and maintenance work. Therefore, when developing the DevOPs platform, a comprehensive operation plan must be made and the possible rollbacks and backups of each step must be considered.
The purpose of the DevOps platform is to improve the efficiency of operation and maintenance, and to liberate the operation and maintenance. Therefore, when designing and developing, you should keep the operation simple and don't make things too complicated. You can click it in place, and try not to make people point five It takes six times to complete the operation.
DevOps development is an iterative process. Although we often say that we focus on functional development, user experience is equally important. Just imagine, even if you develop many features, if the experience is not friendly, users will lose the desire to use it again. Users refused and resisted using the platform. No matter how versatile they were, they failed. Eventually, the platform promotion failed. Therefore, in the process of research and development, we should thoroughly experience the products we have developed, and treat ourselves as users to experience platform operations. Try to optimize the user experience as much as possible. This is what an excellent operation and maintenance engineer must understand.
In the process of design and development, we often encounter complex and cumbersome scenarios. At this time, we can easily lose patience. We must always remind ourselves that we must strictly perform our work responsibilities, correct our work attitude, and do one thing. Either don't do it, do it well if you do it: when you want to give up, think about why you started.
If you need to repost it to the official account, just call me to add the whitelist.