Red de conocimiento informático - Conocimiento del nombre de dominio - Seis elementos para desarrollar una arquitectura de operaciones automatizadas

Seis elementos para desarrollar una arquitectura de operaciones automatizadas

La automatización operativa es un objetivo que cada uno de nosotros aspira a lograr, pero si bien enfatizamos el poder de la automatización, ignoramos un factor clave que afecta la implementación de la automatización. Esta es la arquitectura empresarial que nos encanta odiar y a la que dedicamos mucho tiempo.

El primer punto: independencia de la arquitectura

Cualquier arquitectura se crea para satisfacer necesidades comerciales específicas si podemos considerar los requisitos de operación y mantenimiento mientras satisfacemos las necesidades comerciales, los requisitos no funcionales para. gestión de arquitectura. Entonces tenemos razones para pensar que dicha arquitectura es fácil de operar y mantener.

Desde una perspectiva de operación y mantenimiento, la independencia arquitectónica requerida incluye cuatro aspectos: implementación independiente, pruebas independientes, componenteización y desacoplamiento de tecnología.

Implementación independiente

Significa que un fragmento de código fuente se puede implementar, actualizar, ampliar, etc. de acuerdo con los requisitos de gestión de operación y mantenimiento, y la distribución geográfica puede ser distinguido a través de la configuración. Los servicios se llaman entre sí a través de solicitudes de interfaz y lograr la independencia de implementación también es un requisito previo para la independencia de operación y mantenimiento.

Pruebas independientes

La operación y el mantenimiento pueden verificar la disponibilidad de la arquitectura o los servicios empresariales a través de algunos casos o herramientas de prueba convenientes. Una arquitectura o servicio empresarial con esta capacidad permite al personal de operaciones implementarlo por su cuenta sin tener que involucrar a los desarrolladores o evaluadores en cada versión o cambio.

Especificación de componentes

La especificación de componentes se refiere a la capacidad de proporcionar un buen marco de soporte para tecnologías relacionadas dentro de la misma empresa, de modo que diferentes equipos de desarrollo no utilicen diferentes pilas de tecnología o componentes, causando la arquitectura técnica dentro de la empresa se salga de control.

Este enfoque limita la cantidad de objetos que se pueden agregar al entorno de producción y permite que las operaciones mantengan el control del entorno de producción. También permite que las operaciones sigan centrándose en mejorar la eficiencia y la calidad de los componentes estándar.

Desacoplamiento técnico

Reducir las dependencias entre servicios y servicios también implica reducir la dependencia del código de los archivos de configuración. Esta es también la base para implementar microservicios, lograr implementación independiente, pruebas independientes y componenteización.

Punto 2: Fácil de implementar

En DevOps, existe mucha práctica técnica sobre la entrega continua, con la esperanza de cubrir todas las tecnologías desde el desarrollo, las pruebas y la operación de un extremo a otro. y mantenimiento. Abra todos los enlaces para lograr el objetivo de una rápida implementación y entrega de valor. Se puede ver que la implementación es una parte muy importante del trabajo diario de operación y mantenimiento. Es un trabajo planificado con alta repetibilidad y debe mejorar la eficiencia.

Para lograr capacidades de implementación eficientes y confiables, se debe realizar una planificación general para garantizar la gestión y el control integrales de la implementación, la operación y el mantenimiento durante la fase de operación. Hay cinco dimensiones que son beneficiosas para la implementación:

Configuración de CMDB

Antes de cada implementación, el personal de operación y mantenimiento debe comprender claramente la relación entre la aplicación, la arquitectura y el negocio. , para tener una mejor comprensión y evaluación general de la carga de trabajo y los riesgos potenciales.

En la plataforma automatizada de gestión de operaciones y mantenimiento de WeavingCloud, estamos acostumbrados a utilizar información de configuración como relaciones comerciales, gestión de clústeres, estado de ejecución, niveles de importancia y capas de arquitectura como objetos de gestión de operaciones y mantenimiento en la configuración CMDB. gestión de base de datos. Los beneficios de este método de gestión son obvios: el almacenamiento centralizado de la información de configuración de los objetos de operación y mantenimiento proporcionará una gran cantidad de soporte de datos de configuración y asistencia para la toma de decisiones para las capacidades de automatización involucradas en futuras operaciones, monitoreo y alarmas de operación y mantenimiento.

Configuración del entorno

En empresas con baja estandarización de operación y mantenimiento, la configuración del entorno es uno de los pecados originales que obstaculiza la eficiencia de implementación y entrega. Este es también el principal problema operativo que enfrenta la tecnología de contenerización. Espera resolver uno de los puntos débiles.

La práctica de operación y mantenimiento de Tencent es estandarizar la gestión de los tres entornos principales de desarrollo, prueba y producción. Implementa estándares enumerando y gestionando colecciones de recursos relacionados con el entorno y operaciones de operación y mantenimiento, y combinando. con herramientas de inicialización automatizadas. La implementación de la gestión ambiental.

Gestión de dependencias

Resolver la gestión de dependencias del software de aplicaciones sobre bibliotecas y entornos operativos. Según nuestra experiencia, utilizamos la administración de paquetes para resolver el problema de implementar aplicaciones en diferentes entornos empaquetando archivos de biblioteca dependientes o configuraciones de entorno en su conjunto y ejecutando scripts antes y después. También existen algunos métodos de entrega en contenedores más ligeros en la industria, que también son buenas opciones.

Método de implementación

Los principios de entrega continua mencionan la necesidad de crear un canal de entrega confiable y repetible, y hemos llevado a cabo una planificación sólida para la implementación de software de aplicación basada en este objetivo.

Hay muchos casos de referencia en la industria, como la construcción, envío y operación de Docker, y la implementación con un solo clic de Zhiyun a través de descripciones de configuración y procesos estandarizados, etc.

Autoprueba de versión

La autoprueba de versión consta de dos partes:

Prueba ligera de la aplicación;

Versión/cambio Corrección de contenidos.

Ambas funciones están diseñadas para satisfacer las necesidades de diferentes escenarios de operaciones y mantenimiento. Por ejemplo, al realizar versiones incrementales, utilizando la función de revisión del contenido publicado, el personal de operaciones y mantenimiento puede obtener rápidamente el md5 del archivo modificado o verificar la información de configuración de los procesos y puertos relevantes para garantizar que cada cambio publicado sea confiable.

De manera similar, las pruebas ligeras satisfacen la necesidad de realizar pruebas de disponibilidad del servicio en el momento del lanzamiento. Este paso puede probar la conectividad del servicio y ejecutar algunos casos de prueba de la red troncal.

Escala de grises

Hay un dicho en "36 consejos para la operación y el mantenimiento diarios": Retrasa o ralentiza la ejecución de eliminaciones o modificaciones irreversibles tanto como sea posible. Esta es la idea de la escala de grises, ya sea en escala de grises en línea desde la latitud de los usuarios, el tiempo, los servidores, etc., esperamos minimizar el riesgo de la operación en línea, de modo que la arquitectura empresarial pueda admitir la capacidad de la escala de grises. Libere y reduzca el riesgo del proceso de implementación de la aplicación. Más pequeño y más amigable para la operación y el mantenimiento.

El tercer punto: mantenibilidad

La arquitectura de microservicio ideal desde el punto de vista de la operación y el mantenimiento debe ser primero un tipo con una fuerte mantenibilidad. Una aplicación o arquitectura que no se puede mantener no solo es un descrédito para el equipo de operaciones, sino que también daña profundamente sus carreras, porque mantener una arquitectura que no se puede mantener es una pérdida de vidas para el personal de operaciones.

Desde la perspectiva de las especificaciones de operación y gestión, la mantenibilidad se puede dividir en los siguientes siete puntos:

Gestión de la configuración

En la gestión de la arquitectura de microservicios, recomendamos gestionar los binarios de la aplicación por separado de la configuración para permitir una implementación independiente.

Existen tres métodos de administración para la configuración de aplicaciones separadas:

modo de archivo;

modo de elemento de configuración

modo de centro de configuración distribuido.

Debido a limitaciones de espacio, no se discutirán las ventajas y desventajas de estos tres métodos. Diferentes empresas pueden elegir el método de gestión de la configuración más adecuado. La clave es exigir que las empresas utilicen una solución coherente para que el personal de operación y mantenimiento pueda crear herramientas y sistemas de manera específica y hacer un buen trabajo en la gestión de la configuración.

Gestión de versiones

Uno de los ocho principios de la entrega continua de DevOps es "poner todo bajo control de versiones". En lo que respecta a los objetos en ejecución, para gestionarlos es necesario poder describirlos claramente.

De manera similar a los requisitos de la administración del código fuente, el personal de operación y mantenimiento necesita escribir scripts para los objetos de sus operaciones diarias (como paquetes, configuraciones, scripts, etc.) para que el personal de operación y mantenimiento pueda seleccione con precisión al realizar operaciones automáticamente el objeto y la versión para operar.

Operaciones estandarizadas

Los trabajos de operación y mantenimiento requieren la realización de una gran cantidad de tareas repetitivas todos los días. Desde una perspectiva lean, hay mucho desperdicio: costos de aprendizaje, operaciones sin valor. , scripts /Duplicación de herramientas y riesgo de ejecución humana.

Si se pueden formar especificaciones operativas unificadas dentro de la empresa, como transferencia de archivos, ejecución remota, inicio y parada de aplicaciones y otras operaciones estandarizadas, centralizadas y con un solo clic, la eficiencia y la calidad de la operación y El mantenimiento mejorará enormemente.

Gestión de procesos

Incluidas rutas de instalación de aplicaciones, estructuras de directorios, nombres de procesos estandarizados, números de puertos estandarizados, métodos de inicio/detención, programas de monitoreo, etc., todos pertenecen a la categoría de proceso. gestión. Hacer un buen trabajo en la planificación general de la gestión de procesos puede mejorar en gran medida el grado de operación y mantenimiento automatizados y reducir la aparición de tareas no planificadas.

Gestión del espacio

Gestionar el uso del espacio en disco es un medio eficaz para garantizar el almacenamiento ordenado de los datos empresariales y reducir la aparición de tareas no planificadas.

Es necesario planificar con antelación: estrategias de copia de seguridad, soluciones de almacenamiento, advertencias de capacidad, estrategias de limpieza, etc., y complementarlas con herramientas maduras para que estas tareas ya no molesten el trabajo de operación y mantenimiento.

Gestión de registros

La implementación y ejecución de las especificaciones de registros requiere una estrecha cooperación con el departamento de I+D y la acumulación de experiencia en la práctica. La especificación de registros en ejecución ideal debe incluir estos requisitos: p>Disponible. Indicadores de negocio (volumen de solicitudes/tasa de éxito/latencia)

Definición de eventos clave

Nivel de salida

Procedimientos de gestión (duración de almacenamiento, compresión y copia de seguridad, etc.) )

Si las especificaciones de registro específicas en las condiciones anteriores se pueden poner en práctica, el desarrollo, las operaciones y los negocios pueden obtener mejores capacidades de monitoreo y análisis.

Gestión y control centralizados

El trabajo de operación y mantenimiento se puede dividir fácilmente en diferentes partes, como publicación de cambios, seguimiento y análisis, resolución de problemas, soporte de proyectos, gestión multinube, etc. Lo que requerimos es una plataforma integral de gestión de operación y mantenimiento que permita conectar toda la información laboral y transferir la experiencia, eliminando así los riesgos operativos causados ​​por islas de información o transmisión manual de información, y mejorando la eficiencia y calidad general de la operación y. gestión y control del mantenimiento. Buscamos una plataforma integral de gestión de operación y mantenimiento que pueda conectar toda la información laboral y transferir experiencia para eliminar los riesgos operativos causados ​​por islas de información o transmisión manual de información y mejorar la eficiencia general y la calidad del control de operación y mantenimiento.

Elemento 4: Tolerancia a fallas y tolerancia a desastres

Las cuatro responsabilidades principales de la operación y mantenimiento técnico (O&M) de Tencent son: calidad, eficiencia, costo y seguridad. La calidad es la primera prioridad desde una perspectiva arquitectónica, el diseño de arquitectura de alta disponibilidad ideal desde la perspectiva de operación y mantenimiento debe incluir los siguientes puntos:

Equilibrio de carga

Si lo es. software o hardware es responsable del programa equilibrado Desde una perspectiva de operación y mantenimiento, siempre esperamos que la arquitectura empresarial no tenga estado, el enrutamiento y el direccionamiento sean inteligentes y la tolerancia a fallas del clúster se realice automáticamente.

En la práctica del software de enrutamiento de Tencent durante muchos años, las soluciones de equilibrio de carga de software se han utilizado ampliamente para lograr una alta disponibilidad de la arquitectura empresarial.

Programación

En la era de Internet móvil, la programabilidad es una herramienta de operación y mantenimiento extremadamente importante en la recuperación ante desastres. Cuando una empresa encuentra una falla que no se puede resolver de inmediato, alejar a los usuarios o servicios del área anormal es una técnica probada en la práctica de operaciones masivas. También es una de las capacidades principales de operación y mantenimiento de Tencent QQ y WeChat para garantizar. la calidad del servicio de las plataformas.

Combinada con nombre de dominio, VIP, puerta de enlace de acceso y otras tecnologías, la arquitectura puede admitir funciones de programación, enriquecer las herramientas de gestión de operación y mantenimiento y abordar más fácilmente diversos escenarios de falla.

Multiactividad remota

La multiactividad remota es un requisito para una alta disponibilidad de datos y un requisito previo para la programabilidad. Para diferentes escenarios comerciales, no existen restricciones en los métodos de implementación técnica.

Para conocer la práctica de la red social de Tencent, puede consultar el artículo del Sr. Zhou Xiaojun "Diseño arquitectónico y operación eficiente detrás de la programación de 200 millones de usuarios de QQ".

Conmutación maestro-esclavo

La conmutación maestro-esclavo es la solución de tolerancia a desastres más común en las soluciones de alta disponibilidad de bases de datos. Al realizar la separación de lectura y escritura en la lógica empresarial y combinarla con el enrutamiento inteligente para realizar la automatización de conmutación maestro-esclavo desatendida, es sin duda el mejor regalo que el diseño arquitectónico les da a los DBA.

Disponibilidad flexible

"Llevar primero, optimizar después" es una de las ideas de Tencent para operaciones masivas y también nos indica el camino para hacer un diseño de alta disponibilidad de nuestro negocio. arquitectura.

¿Cómo maximizar la disponibilidad del negocio cuando el volumen de negocio aumenta repentinamente? Este es un problema inevitable durante la planificación y el diseño arquitectónico. Configurar inteligentemente conmutadores flexibles o incorporar lógica en la arquitectura para rechazar automáticamente solicitudes redundantes puede garantizar que los servicios back-end no caigan en avalanchas en momentos críticos y garantizar una alta disponibilidad de la arquitectura empresarial.

Elemento 5: Monitoreo de la calidad

Garantizar y mejorar la calidad del negocio es el objetivo que la operación y el mantenimiento se esfuerzan por perseguir, y las capacidades de monitoreo son un medio técnico importante para que podamos lograr nuestros objetivos. Las operaciones y el mantenimiento esperan que la arquitectura pueda brindar conveniencia y soporte de datos para el monitoreo de calidad, y se requieren los siguientes requisitos:

Medición

Cada arquitectura debe poder medir indicadores en el nivel. Al mismo tiempo, esperamos que solo haya una métrica única. A medida que las empresas se vuelven más complejas y tridimensionales, la cantidad de métricas crece exponencialmente. Por lo tanto, para las métricas arquitectónicas, lo ideal sería tener una sola métrica.

Monitoreo básico

Se refiere a las funciones de medición de bajo nivel de redes, líneas dedicadas, hosts, sistemas, etc. La mayoría de estos puntos de monitoreo no son intrusivos y la recopilación de datos es fácil de implementar.

En empresas con sólidas capacidades de operación y mantenimiento automatizadas, se agregará la gran mayoría de los datos de alarma generados por el monitoreo básico. Al mismo tiempo, esta parte de los datos de monitoreo proporcionará soporte de datos y base para la toma de decisiones para el monitoreo empresarial de alto nivel, o se empaquetará como datos de monitoreo empresarial más cercanos a escenarios de aplicación de nivel superior, como capacidad, indicadores multidimensionales, etc.

Monitoreo de componentes

Tencent está acostumbrado a referirse colectivamente a marcos de desarrollo, servicios de enrutamiento, middleware, etc. como componentes. Este tipo de monitoreo se encuentra entre el monitoreo básico y el monitoreo de operaciones. El mantenimiento a menudo espera La lógica de monitoreo está integrada en el componente y, a través de la promoción del componente, se mejora la cobertura del monitoreo del componente y el costo de obtener datos es moderado. Por ejemplo, al aprovechar el monitoreo de los componentes de enrutamiento, el personal de operaciones puede obtener el estado y los indicadores de calidad de cada servicio de enrutamiento, como el volumen de solicitudes y la latencia.

Monitoreo empresarial

Los métodos de implementación del monitoreo empresarial se dividen en monitoreo activo y monitoreo pasivo que se puede lograr, y también se pueden utilizar métodos de derivación para lograr el propósito. Este tipo de programa de seguimiento requiere cooperación al desarrollo, relacionada con la codificación y la arquitectura.

Generalmente, los indicadores de seguimiento empresarial se pueden dividir en tres categorías: volumen de solicitudes, tasa de éxito y retraso. Existen muchos métodos de implementación, como monitoreo de registros, monitoreo de datos de flujo, pruebas de formas de onda, etc. El monitoreo empresarial es un monitoreo de alto nivel que a menudo puede proporcionar información directa sobre los problemas comerciales. Sin embargo, si desea analizar la causa raíz del problema en profundidad, debe combinar las especificaciones necesarias de monitoreo y gestión de operación y mantenimiento, como las. definición de códigos de retorno, protocolos de registro, etc. Esto requiere que la arquitectura empresarial se diseñe teniendo en cuenta las necesidades de gestión y seguimiento operativo y que el alcance del plan global esté claramente definido.

Monitoreo de enlace completo

Los métodos de monitoreo básico, de componentes y comercial se centran más en el monitoreo de puntos. En el escenario empresarial de la arquitectura distribuida, para hacer un buen trabajo en el monitoreo, es necesario. Considere el seguimiento de los enlaces de solicitud de servicios.

Con base en el ID de transacción único o la relación de llamada RPC, la cadena de relación de llamada se restaura a través de medios técnicos y luego se activan alarmas de monitoreo a través de modelos o eventos para retroalimentar el estado y la calidad del enlace de servicio. Este tipo de herramienta de monitoreo es una aplicación avanzada de monitoreo y también requiere una planificación temprana y el ocultamiento del código al planificar la arquitectura empresarial.

Evaluación de la Calidad

Cualquier mejora en las capacidades de seguimiento y optimización de la calidad requiere un circuito cerrado de gestión. La evaluación es un buen medio, partiendo de la cobertura del seguimiento y la exhaustividad de los indicadores. Desde la naturaleza y los mecanismos de gestión de incidentes hasta la evaluación y puntuación de informes, las operaciones y el desarrollo pueden crear conjuntamente un circuito cerrado de gestión de calidad con retroalimentación continua, de modo que la estructura empresarial pueda desarrollarse y mejorarse continuamente.

Punto seis: Costo de desempeño

En Tencent, todo el personal de operaciones técnicas es responsable de una función importante, que es garantizar la racionalidad de los costos operativos del negocio. Para hacer esto, debemos administrar adecuadamente el rendimiento del rendimiento de las aplicaciones, la planificación de la capacidad comercial y los costos operativos.

Rendimiento del rendimiento

En la metodología de entrega continua de DevOps, un aspecto importante de las pruebas de requisitos no funcionales en la fase de prueba es probar el rendimiento del rendimiento de la arquitectura para garantizar que el la solicitud está en línea Salud de la capacidad posterior al negocio.

En la práctica de Tencent, no solo se limita a las pruebas de estrés de rendimiento en la fase de prueba, sino que también combina las funciones de los componentes de enrutamiento para realizar pruebas de estrés de solicitudes reales en módulos comerciales y SET comerciales para establecer un modelado de capacidad comercial. punto de referencia. Al mismo tiempo, también proporciona datos externos para demostrar si el rendimiento de la arquitectura empresarial cumple con los requisitos de evaluación de costos y utiliza la comparación de datos de rendimiento de diferentes empresas para promover la mejora continua del rendimiento de la arquitectura.

Planificación de capacidad

La palabra capacidad se puede traducir al inglés como: rendimiento de la aplicación, capacidad del servicio y solicitudes comerciales totales. La planificación de la capacidad de operación y mantenimiento se refiere a una planificación razonable de la capacidad del servicio basada en los requisitos totales del negocio bajo la premisa de que el rendimiento de la aplicación cumple con los estándares.

Costos operativos

Reducir los costos operativos es una inversión para que las empresas reduzcan el flujo de caja, y su valor para la empresa es nada menos que la mejora de la calidad y la eficiencia.

El negocio de medios enriquecidos de Tencent se centra en redes sociales, UGC, computación en la nube, juegos, vídeos, etc., lo que consume una gran cantidad de ancho de banda, equipos y otros costos operativos cada año. Si la operación y el mantenimiento quieren optimizar los costos operativos, a menudo implican la optimización de las funciones del producto y la arquitectura empresarial.

Por lo tanto, la operación y el mantenimiento deben tener suficiente conciencia de los costos al diseñar una arquitectura empresarial ideal.

Resumen

Este artículo es puramente una opinión personal sobre el diseño de la arquitectura de microservicios de operación y mantenimiento. Para maximizar el valor de la operación y el mantenimiento, y garantizar la mejora general de la calidad, la eficiencia y los costos del negocio, es necesario morder el hueso duro de la arquitectura empresarial.

El personal de operación y mantenimiento debe tener conocimientos de arquitectura y poder hacer sugerencias o requisitos para la arquitectura empresarial desde diferentes perspectivas. Este es también el espíritu que defiende DevOps para trabajar de la mano. optimizar continuamente la mejor arquitectura empresarial.