Aiti Tribe Story Collection (14): Sharing helps improve operation and maintenance capabilities

Aiti Tribe Story Collection (14): Sharing helps improve operation and maintenance capabilities

[Original article from 51CTO.com] The protagonist of this issue, Senior Brother, is known as Xiangshen. He is currently working as a Linux operation and maintenance engineer in the architecture department of a well-known shopping mall. He is familiar with high concurrency, load balancing, Redis cluster high availability, operation and maintenance development, etc. He likes to share operation and maintenance matters with like-minded people.

[[189248]]

Big Brother·Linux Operation and Maintenance Engineer

In a blink of an eye, it has been more than three years since I graduated. From a rookie in the IT industry to a Linux operation and maintenance expert, I can be considered to have a skill. I am most proud of my persistence in investing in my brain. From C language, to Linux operation and maintenance, to Python operation and maintenance development, to Java, I have been learning and challenging myself along the way. I have written down my inner feelings and shared them in this article to encourage other developers.

Step into IT, always sharing

Although the eldest brother was a computer science student, he was young and ignorant. He did not study hard in college. At first, he simply learned the C language. Later, the computer became his best tool for watching videos and playing games. He learned very little about computers. He even practiced typing again after graduation. In short, he was a poor student.

By chance, the senior brother entered a software company and was able to make a living. He just graduated and focused on learning. The platform he first came into contact with was C language development in the UNIX system (the predecessor of the Linux system). The leader first asked him to learn Shell commands and count the data needed for daily work. The senior brother began to look for various materials on the Internet. Even though he had practiced before, he still felt that he didn't understand it very well. In many cases, he learned the latter part but forgot the former part. In order to solve the current situation and improve his ability to write Shell scripts, he took the initiative to ask his master to process a lot of data at work on the server with Shell scripts, then download it, import it directly into Excel tables, and finally organize it into data. After slowly writing several scripts about file operations, his ability to write Shell has greatly improved. The senior brother cherishes this opportunity to practice, and shares the written Shell scripts in his blog to help developers who encounter the same problems.

Sharing and investment are quick ways for new operators to improve themselves

Investing in your brain and learning is never a bad idea and will never go out of style! While searching for information, the senior brother accidentally found a training course called A Ming Linux in the Q group. He saw that their Linux operation and maintenance salaries were all above 8K, which was much higher than his salary when he graduated. Some of his classmates even had better jobs. Influenced by the salary, the senior brother was tempted. In 2014, he set a simple and crude goal for himself: to make a monthly salary of over 10,000 yuan within six months. At that time, many classmates laughed at him and thought it was a bit impossible. But he was determined to achieve his goal and simply invested in himself. At that time, every night after get off work, he would eat something casually, turn on the computer and study until 12 o'clock in the evening. He had only one concept in his mind: to make up for the wasted time in college in half a year and find a decent job as soon as possible. In the next six months, he reviewed Shell commands, became familiar with various web containers: Nginx, Apache, Tomcat and other configurations, understood various load balancing software LVS+KeepAlived, Nginx and HAProxy reverse proxy, and other software commonly used in operation and maintenance. Finally, I achieved my small goal and got an offer from a well-known shopping mall.

Share the things about warehouse operation and maintenance

He successfully joined the company as a Linux operation and maintenance engineer, but he was not familiar with the company's architecture. He could not troubleshoot problems, did not know which options to look at, and had no idea where to start. He did not know how to handle the brain split of the system's high availability, and could not solve system failure problems in a timely manner. The senior brother learned a lot of operation and maintenance skills from his colleagues and architects. In different environments, using different architectures, he has a deeper understanding of high concurrency, high availability, and high performance, especially the difference between LVS's DR mode and NAT mode, including the convenience of tuning Linux system kernel parameters when Nginx has high concurrency. He consulted architects many times and truly mastered the hardware devices from disk Raid and power to the system's master-slave high availability, and has a deeper understanding.

Regarding the traffic request process on the server, many colleagues are not very clear about the server performance, concurrency, and request process when they have just joined the company or are not very familiar with the business situation. Some R&D staff are even responsible for their own applications and do not have a deep understanding of the entire system. This requires the senior brother who does operation and maintenance to explain, understand the company's business, understand the business process clearly, and then see how the warehouse system architecture is deployed. After understanding the architecture, capture the specific situation of the request process, see the direction and process of the request package, and then analyze it according to the LVS principle.

In the development of nature, human beings are lazy. When encountering difficulties, they naturally want to escape and choose a comfortable life. So in order to restrain his laziness, the eldest brother saw Chairman Mao organizing a reading club in the TV series "The Young Comrades". So he found friends around him in the company to organize a study group, arranged time for everyone to study together, and everyone shared their new skills or techniques they had learned with everyone. In the end, the one who benefits the most is actually yourself!

For students who are entering the IT industry, I think they can start from the operation and maintenance industry. Compared with development, operation and maintenance requires less logical thinking ability, and they can get started quickly and find a good job. For newbies, I give a few suggestions.

1. You need to have an in-depth study of high availability, high concurrency, and high performance. For this kind of learning, you mostly rely on experience. Many books do not really introduce it. This requires choosing different architecture requirements according to business scenarios. For high concurrency, you need to get in touch with experienced experts. If you really want to study it clearly, you still need to look at the system performance, the system bottleneck, and have a deep understanding of the system itself, and combine it with some official website information and instructions to consolidate it.

2. Have a deep understanding of various web containers. Novices can start with the configuration file, truly understand the parameter options of the configuration file, have a general understanding and knowledge of web containers, and have a good understanding of the project directory and installation directory, so that they can quickly deploy and migrate projects. Learn to read logs, constantly find errors in log files, and correct them in time. Follow the posts of experts and the official Chinese website of Nignx.

3. It is particularly important to master the principles. You must understand the principles clearly when you start learning. You can learn from experienced colleagues.

4. Practice makes perfect. Many experimental things need to be tested personally, and you can’t just know the approximate results.

5. Be cautious when tuning the system kernel parameters and conduct multiple experiments to ensure that it can be put online again.

6. Interested students can look at the source code of many open source software.

7. With the increasing popularity of automation, virtualization, and big data, Python has become a very important plus for advanced operations and maintenance.

The senior brother has communicated with the architect of his group. During the interview, the first thing to look at is a person's logical thinking ability when writing code, and then his or her own knowledge level. Therefore, daily summarization becomes particularly important. Therefore, a good programmer should write study notes. The summarizing process is an opportunity to sort out knowledge and learn again.

Life is not just about the immediate, but also about poetry and the distance. The goal of the senior brother is to be an architect. He is very clear about his growth plan. From junior operation and maintenance engineer to senior operation and maintenance, and then to architect, a lot of development knowledge is needed. Now the operation and maintenance work is very simple for him, and he is currently learning the field of operation and maintenance development. In addition to work, the senior brother also learned Python development, and did web automation operation and maintenance based on Ansible or SaltStack. Recently, he is learning Java. An architect is at least a full-stack engineer. He needs to know the front-end HTML, CSS, JavaScript, etc. If he actually builds a few systems and has some achievements, he will not be far from being an architect. In the process of learning, whether it is reading books, watching videos, taking classes, or self-study, it is fine, but you must find a learning method that suits your own rhythm and find out the most effective learning method for yourself. I wish you all become a big shot soon.

If you are also willing to share your story, please join the 51CTO developer QQ exchange group 312724475 and contact the group owner. We look forward to your wonderful story!

[51CTO original article, please indicate the original author and source as 51CTO.com when reprinting on partner sites]

<<:  Top 10 trends in mobile app development for 2017

>>:  iOS AFNetworking framework HTTPS request configuration

Recommend

A "mouth cannon" about architecture

Author: Duan Hechen The title of the article is v...

In 2020, is selling products the top priority for brand live streaming?

2019 is considered the first year of live streami...

Why is the iPhone SE considered Apple's weakest link?

For the iPhone SE released earlier this year, App...

1% of the sadness Samsung stopped providing WP programs

Windows Phone has been on the market for several y...

What is Wenchang Tower?

What is Wenchang Tower? Wenchang was originally t...

How do new media professionals follow hot topics? Here are my 4 thoughts

In the past few months, I have been struggling wi...