O & M Architecture

Source: Internet
Author: User
Based on a few years of work experience, I simply summarized some ideas on the O & M architecture in my mind. I wrote them down. If you are not doing anything, please correct them. The details are not appropriate. Please add them. Internet enterprises are developing and expanding from the very beginning with products as the core. Therefore, O & M is often a subsidiary of development. It is not uncommon for developers to perform part-time O & M. If they have full-time O & M personnel, the most common task is O & M of IDC data centers. In addition, O & M personnel are very complex in their work, have wide knowledge requirements, and have extremely high work pressure. O & M

Based on a few years of work experience, I simply summarized some ideas on the O & M architecture in my mind. I wrote them down. If you are not doing anything, please correct them. The details are not appropriate. Please add them.

 

Internet enterprises are developing and expanding from the very beginning with products as the core. Therefore, O & M is often a subsidiary of development. It is not uncommon for developers to perform part-time O & M. If they have full-time O & M personnel, the most common task is O & M of IDC data centers. In addition, O & M personnel are very complex in their work, have wide knowledge requirements, and have extremely high work pressure. Almost all O & M faults will receive immediate responses from developers. Throughout the initial stage, product-oriented O & M is implemented.

 

When the enterprise grows and the enterprise features are relatively stable, and the corporate culture is relatively mature, the number of servers has also grown to a certain scale. The original single product has become a product line or even multiple product lines, as enterprises already have stable and even large user groups, enterprises must take services as the core in order to maintain competitiveness. That is to say. O & M for large and medium-sized enterprises is service-oriented O & M. Like all large and medium-sized structures, such O & M focuses on the division of labor and is actually oriented to the O & M of the infrastructure, because the infrastructure as a service (IAAS ). With the in-depth development of cloud computing, it has been proved that the trend of Software As-A-Service (SAAS-As-A-Service) and PAAS (Platform-As-A-Service) finally, it is integrated into IAAS (Infrastructure-As-A-Service ).

 

1. Infrastructure-oriented O & M

There is a clear division of labor for infrastructure-oriented O & M requirements. In addition to developers, many professional positions are provided, including O & M architects, DBAs, network engineers, system analysts, automation engineers, and System Engineers.

 

2. product-oriented O & M

At this time, although product O & M is classified as O & M, it is more like operation. Its work content is often different from the actual IT technology, but closer to users, report product defects as users, explore product potential, and propose new market demands. Many large companies have various product managers.

 

What should I do for infrastructure-oriented O & M? You may have done more or less at different stages. Below are some of my experiences.

 

I. Program and database Separation

This must be a consensus among people and the first step towards architecture design, but it is indeed the most basic architecture design.

 

2. Domain Name and program Separation

To put it bluntly, the program can exist independently of the domain name.

This problem usually does not occur at the beginning of the program design, mainly because the domain name is accidentally incorporated into the business logic during the process of accumulating program functions. The result is that the web server must be placed at the frontend, affecting the load balancing and cache system design.

 

Iii. Static and Dynamic Separation

If, in the foreseeable future, there are still a considerable number of static files that will accompany the program, it is best to design static and dynamic separation, otherwise it will seriously affect the horizontal expansion of the program.

Static and static files should be completely designed as two independent modules of the system for static and dynamic separation to avoid mounting and usage such as NFS (static files are physically independent, logically, it still belongs to a folder under the Program );

 

Iv. Ensure the independence of configuration files

Configuration files are usually attached to programs, but they must be independent and highly centralized;

 

5. Ensure program scalability and maintainability

At the beginning of the design, the program should not only consider performance, but also how to expand, how to troubleshoot, and even provide monitoring interfaces;

 

Vi. Separation of Server Load balancer and web servers

Server Load balancer should be an independent function implementation that has nothing to do with the business logic.

By the way, Microsoft's NLB is an extremely poor Load Balancing solution, while LVS, nginx, and haproxy are excellent.

 

VII. High Availability System

Set necessary redundancy and high availability (disk array, redundant power supply, drbd, heartbeat, keepalived, pacemaker, etc.) for key points (front-end and database );

 

VIII. Cache System

The cache system is the most direct way to speed up website response, whether it is file-level cache or database cache. Nosql is a good supplement to conventional architectures, and its speed is almost all memory-level, such as memcached and redis;

 

9. Independent Monitoring System

As an auxiliary service function, a centralized monitoring system is necessary;

 

10. Automated System

Centralized user management, host name management (DNS), configuration management, and program publishing system;

 

11. Architectural hierarchy

Divided by network: Internet, Intranet, and Management Network

Divided by function, generally include: access layer, cache layer, business layer, middle layer, data layer, and storage layer

 

12. O & M process and documentation

Process refers to the division of labor among teams, and document refers to the accumulation and Inheritance of Enterprise O & M assets. Mature processes and documents can reduce the technical difficulty of troubleshooting, balance the ability differences of team members, achieve rapid analysis, and direct troubleshooting.

 

 

This article from the "Focus on Linux O & M" blog, please be sure to keep this source http://purplegrape.blog.51cto.com/1330104/1288813

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.