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:
- Desktop operation and maintenance engineers
- Business operation and maintenance engineers
- DBA Engineer
- Configuration Engineer
- Operation and maintenance Development Engineer
- And others ....
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 IT
support or QA
cross-sectoral support in-depth;
But now it requires extremely close multisectoral collaboration. And DevOps
consider 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 DevOps
upgrade implementation services for the operation and maintenance means more software engineered to reduce human flesh operations, DevOps
stressed 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 DevOps
involved 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
,K8S
and so on.
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 DevOps
system."
In fact "crippled DevOps
system" 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 Google
advocated SRE
culture.
4.1 DevOps
platform
Additional description Editors
Lip off trick, the editor in the company's main job is to DevOps
interface technology. The core modules: application deployment release monitoring
The picture shows the DevOps
application deployment diagram release monitoring interface
We cook figure in the group DevOps
system, 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.
Jenkins
Service 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
DevOps
Development 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.
- "True ® road full stack of" Guide to the back-end Web front-end development
- "Vue practice" five minutes line and a plug-in Vue CLI
- "Vue practice" armed your front-end project
- "Senior front-end interview" handwritten JavaScript code is invincible Cheats
- "Learning from the source code," the interviewer did not know the answer Vue topic
- "Learning from the source code" JS Sao Vue operation of the source code
- "Learning from the Source" on a thorough understanding of Vue options Props
- "Vue practice" project to upgrade vue-cli3 correct posture
- Why you can not always understand JavaScript scope chain?