"DevOps" chat operation and maintenance of the development of my mind

Foreword

Before my entry on the company's operation and maintenance department, so I was just bits and pieces of computer operation and maintenance engineers, pulling cable, boob machine.

I do not know all, involved in the operation and maintenance of knowledge, professional point very wide for the quality of employees is also very high, poor operation and maintenance work in a large Internet company than the importance of business development. And classification of many:

  1. Desktop operation and maintenance engineers
  2. Business operation and maintenance engineers
  3. DBA Engineer
  4. Configuration Engineer
  5. Operation and maintenance Development Engineer
  6. And others ....

Operation and maintenance was prepared to write front-end development in the eyes of papers, he wrote two happened to former head of the combined experience of its own development experience to write six or seven years. In his article to illustrate appropriate. The following from its contributors and interspersed with some literacy.

1 DevOps: Breaking Barriers to Collaboration

From Wikipedia

DevOps ( Development And Operations combinations of words) is an emphasis on "Software Developer ( Dev )" and "IT operation and maintenance technicians ( Ops cultural communication and cooperation between)" sports or practice.

Process "software delivery" and "infrastructure change" through automation, to make the build, test, distribute software to be more fast, frequent and reliable.

Traditional software development organizations, IT operations and quality assurance to each separate department, in this environment, how to adopt a new development methodologies (such as agile software development), is an important issue.

According to previous work, development and deployment, without ITsupport or QAcross-sectoral support in-depth;

But now it requires extremely close multisectoral collaboration. And DevOpsconsider more than just software deployment, it is a set of processes and methodologies for these inter-departmental communication and collaboration issues.

Specifically, it is in improving software delivery and deployment of efficient communication and collaboration aim faster, more reliable release higher quality products.

2. Value-dimensional transport development

From the point of view Responsibilities: operation and maintenance of the development work to be done is:

  • Operation and maintenance through the development of skills to help automate the operation and maintenance work. It means "helper," or is the operation and maintenance of arms, need to operation and maintenance problems encountered in providing a platform queries, or put some common Repeat to make the abstract tools to reduce manual intervention operation and maintenance.

Operation and maintenance services to accompany and support the entire life cycle of business development.

The 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 need to seek technical transformation, from the original focus only on the operating system level of technology is no longer enough, but also increase the performance tuning of the program code, continuous delivery, skills upgrading software infrastructure and other aspects of the container is also required sustained attention to the entire business application lifecycle management services.

In simple terms, is to abandon the past, the traditional way of thinking black-box operation and maintenance, into the era of white-box operation and maintenance, we must be more deep into the code, in-depth business operations, so that the whole line service is running on more quality and efficient state.

3. What development is the operation and maintenance?

To build automation or operation and maintenance practices DevOpsinvolved in the development is inseparable from the operation and maintenance engineers, but how can better play the role of the development of operation and maintenance of it?

I worked as development manager role in the operation and maintenance of various types of operation and maintenance and development collaboration through together, the team has already done the development of operation and maintenance, but also had to do other business (electricity, platform) to help turn the development of operation and maintenance team, as well as operation and maintenance business was originally done later make a transition operation and maintenance development.

After collaborate with them for some time, the overall feeling is as follows:

First, the development of operation and maintenance is a programmer, not the operation and maintenance engineers.

A good operation and maintenance requires the development of "understanding the operation and maintenance" + "development capacity":

  • On the "ability to develop" technical requirements lower than other business forms (such as games, electricity providers, search, etc.).
  • The difficulty of understanding the operation and maintenance business will be lower than the electricity supplier, games, business forms, that is, "to understand the operation and maintenance" do not ask.
  • High degree of control required for operation and maintenance related technology stack, such as Python/PHP/Go/Shell, Linux, Git, Nginx, Zabbix, Docker, K8Sand so on.

To sum up, operation and maintenance professional development is a branch of the depth is not too deep, and now the reason why the demand for transport development dimension heat up, mainly due to limited operation and maintenance of the older generation of senior general R & D capabilities, which is there are historical reasons. Wait until the industry made DevOps time, 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.

So, when we have a building automation system requirements, the need for more professional programmer to help. But generally non-programmers to develop full-time operation and maintenance of the system to do it for operation and maintenance is often not working, this time some young engineers to upgrade the operation and maintenance skills development, operation and maintenance of transformation and development, the crippled ship dimensional system made out, operation and maintenance team has won the praise of everyone to "the development of operation and maintenance" thumbs up.

Therefore, we will be "crippled operation and maintenance system" and "the development of operation and maintenance" equivalence up, thinking that as long as we provoke a development operation and maintenance, then a perfect operation and maintenance platform can automatically born out, this is a great misunderstanding.

4. build a "crippled DevOpssystem."

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 other forms of business development, product managers and programmers need to separate the two roles, companies would not say to recruit not only write the code, the programmer will need.

So, when O & M operation and maintenance of automation needs can carefully documented down, the automation system design, architecture and other key aspects set down, this is the best "operation and maintenance to understand." Then put this fly, so that, detailed documentation needs to have a strong 'ability to develop "programmer, eventually you can get" crippled operation and maintenance system. "

Of course, companies do not generally equipped with special "product manager" for the operation and maintenance of the development, operation and maintenance so you want to go down to the development of advanced development, he can demand a replacement operation and maintenance, upgrade, product manager for the operation and maintenance to the programmer's point of thinking to solve engineering efficiency and quality of operation and maintenance services, I think this is similar Googleadvocated SREculture.

4.1 DevOpsplatform

Additional description Editors

Lip off trick, the editor in the company's main job is to DevOpsinterface technology. The core modules: application deployment release monitoring

The picture shows the DevOpsapplication deployment diagram release monitoring interface

We cook figure in the group DevOpssystem, the face is:

  • No product, no design, but also by the needs of the business operation and maintenance and development of their verbal description.

The core functions: application deployment interface, after the reference to other similar products, found not suitable for business scenarios, or function is too scattered, or to only process control. So front-end functionality, we have made these:

  • Discrimination package under different circumstances, to achieve an orderly management.
  • Start and stop status of the application can be done through the interface, view the configuration and other tasks.
  • JenkinsService operations can be completed through the interface to simplify working configuration engineers.
  • Business operation and maintenance contract with the development team of the daily work of the interface

At this point a good operation and maintenance development requires the following skills: product planning, product design, object-oriented, demand model, domain model, design models, design principles, design patterns, products, tools, and documentation capabilities.

So, when the operation and maintenance requirements are understood, analyzed thoroughly enough, and operation and maintenance development obtain a "product manager" capability, the operation and maintenance is to develop a common development branch, according to the requirements document can be encoded.

5. Excellent operation and maintenance Development

DevOps platforms engaged in development-related work has been six or seven years, summed up their own experience, that a good operation and maintenance Development Engineer should have the following abilities and qualities.

1. To improve the operation and maintenance awareness.

From bottom to top, top to bottom must do the work, and the value of the gold content of the operation and maintenance work can be recognized for our work to improve the efficiency of liberation operation and maintenance.

Operation and maintenance awareness is very important, not your technology is cattle, to learn a lot of familiar technology, it does not mean you do not need the operation and maintenance of consciousness.

In fact, leadership is serious about the operation and maintenance of consciousness, for example, have not done a backup, distribution rights, platform testing, the fault response time, etc., these are the consciousness, not you learn a lot of technical admission cattle, and found fault platform you're not no big child, thought like a very simple process to deal with the problem, no feedback to other departments, not to see how your leadership skills, but to see how your operation and maintenance of consciousness, you do not have operation and maintenance awareness, technology then cattle useless, will only make people in other sectors uncoordinated with you.

2. Understand the business scene

DevOps platform serving the final development testing and operation and maintenance department colleagues in the Department, only to become familiar with the operation and maintenance scenarios each of the business in order to better design capabilities and code development, familiar with all aspects of business scenarios to be thoughtful, developed the code in order to meet various application scenarios.

3. Deny repeating mistakes

People make mistakes, which can not be avoided, we should make mistakes based on existing experience, summed up the reason for it, and how to avoid similar situations from happening again, and even share some typical mistakes in the team, a person's mistake the resulting experience spread throughout the team.

4. everything backed up, and can be rolled back

Operation and maintenance work in a number of complex operations often published, migration, backup, etc. Therefore, when developing DevOPs platform to do a comprehensive action plan, thinking every step possible fallback and backup.

The internet operation as simple as possible

DevOps platform purpose is to be able to improve the efficiency of operation and maintenance, operation and maintenance of liberation, and therefore in the design and development, should be kept simple, do not make things too complicated, can tap in place, try not to let 2.5 six down the order to complete the operation.

6. focus on optimizing the user experience

DevOpsDevelopment is an iterative process, although we often say that in order to develop the main functions, but the user experience is equally important, imagine, even if you develop a number of features, if not friendly experience, users will lose the desire to use again, if the user refused, inconsistent use platform, multi-function also fails then do the final platform to promote failure. Therefore, in the research and development process, we should be in-depth experience to develop their own products, to the user experience as a platform for their own operations. As much as possible to optimize the user experience. This is an excellent development engineer of operation and maintenance will need to understand.

In the process of design and development often encounter complex, tedious scene, this time it is easy to lose patience, we must always remind ourselves, must strictly perform their duties, correct their attitude, do one thing, or not, as do must do: when you want to give up, think about why did you want to start.

6. Summary

This article is my personal understanding of the operation and maintenance of some shallow development and their career development, in general, the development of operation and maintenance is a more interesting and have a good career development branch, although occasionally also made a scapegoat, but also welcome more effort, smart, talented students to join the operation and maintenance of the development industry.

The total set of articles Nuggets

No need to reprint the public to call me at plus white list on the line.

No public

Guess you like

Origin juejin.im/post/5cf29a6ae51d45778f076cd2