Home / Project Guides Artículo original

DevOps y el sistema de entrega continua

Líneas de flujo automáticas desde la presentación de códigos hasta el despliegue de producción, y la creación de bucles cerrados de entrega mensurables y sostenibles mediante barreras de colaboración para el desarrollo, las pruebas, el transporte y el despliegue.

ZHIHUA OIGINAL Práctica profesionalMayor eficiencia y estabilidad de la entrega de software con líneas de flujo automatizadas, cierres de puertas de calidad y observacionesDevOps y entrega ZhiHua Tech artículo original

Apply scene

El equipo de desarrollo de software casi inevitablemente encuentra "entrega de botellas" en el proceso de escalada: la frecuencia de las presentaciones de código está aumentando, pero la velocidad de acceso se está volviendo más lenta; se están desarrollando, probando y ejecutando diferentes herramientas, requiriendo contacto manual entre tres personas y el sistema a la vez; las diferencias ambientales hacen "correr en mi máquina" un argumento verbal; y el fracaso de líneas, que requieren un número de registro de problemas.

El problema no es que el equipo no esté trabajando duro, pero eso es.Falta de un sistema automatizado y normas de colaboración que vinculen el desarrollo, las pruebas, el despliegue, el transporte y la comunicación. Las escenas descritas aquí son para equipos de software que esperan construir prácticas estándar DevOps y capacidades de entrega continua, y se muestran en las páginasZhiHua Tech (Shanghai e-Seok-shu Hsien-Shui Information Technology Ltd.)Los métodos de construcción y entrega del sistema DevOps disponibles no representan la divulgación de datos para clientes específicos.

Problemas operacionales típicos

1. Ciclo de liberación larga, múltiples operaciones manuales y alta tasa de error

  • Construir e implementar manualmenteEl paquete manual, servidor de carga manual, servicio de reinicio manual después de que se desarrolle el código, una versión simple puede tardar media hora en actualizar. Cada lanzamiento es una operación estresante, y una ligera fuga puede fallar.
  • Environmental incoherenceHay diferencias ocultas entre el entorno de desarrollo, el entorno de prueba, el entorno de prepublicación y el entorno de producción - la versión del sistema operativo, la configuración intermedia, la dependencia de los números de la pequeña versión de la biblioteca. Estas diferencias conducen a la continua ocurrencia de la peculiaridad después de que el código aprobado por la prueba se desplegue a la producción.
  • Falta de mecanismos de reversión estandarizados: Cuando se detecta un fallo grave después de la liberación, la devolución depende de las operaciones manuales e incluso de la recuperación de la copia de seguridad, y el tiempo de devolución se mide en horas en lugar de minutos.

2. Retroalimentación dilatada de las pruebas y la calidad de la parte inferior

  • La cadena de pruebas es un cuello de botella.: El período de prueba puede durar una semana después de desarrollar el código presentado. El equipo de desarrollo continúa escribiendo el código hacia adelante, y para el momento en que el examen regrese, el desarrollo ha ido un largo camino, basado en el código antiguo, y la reparación de Bug se ha convertido en una dolorosa "retroposidad psicológica".
  • La cobertura de la prueba de regresión es insuficiente• Casos de recaída manual antes de la liberación, limitados al tiempo y al personal, generalmente cubriendo sólo el proceso principal. La marginación y la degradación son detectados a menudo después de quejas de usuario.

3. Respuesta de fallas en línea y pasiva observada

  • Los registros están dispersos y difíciles de conectarEn la arquitectura de microservicios, una solicitud de usuario puede abarcar 5-10 ejemplos de servicio. Los registros de servicios se dispersan en diferentes servidores, y los problemas se verifican en una base de registro por línea, sin un solo trackID serie.
  • Llegamos tarde a la vigilancia.: Las reglas de la alarma son amplias, a menudo sólo cuando el número de usuarios ha disminuido significativamente y el negocio ha sido dañado, y desencadena la alarma. Hay una falta de análisis de enlace y alerta temprana para los indicadores operativos (la cantidad más baja, la tasa de éxito de los pagos) e indicadores de infraestructura.

Planificación de programas

1. Construcción de líneas de flujo normalizadas de CI/CD

  • La presentación del código desencadena: El desarrollo de un código de empuje a una rama específica activa automáticamente la construcción de una línea de flujo - compilar, probar la unidad, escanear el código (SonarQube), escaneo seguro, construcción de espejo. Si algún enlace falla, el desarrollador recibe una notificación instantánea en IDE o Enterprise IM.
  • Autoservicio ambiental: El entorno de prueba y el entorno predespacho se definen por la definición estándar de infraestructura, o código (terraform/Ansible), y cualquier miembro del equipo puede crear el entorno completo por una clave.
  • Liberación de Grayscale y despliegue de canario: Los lanzamientos de producción se implementan primero 5-10%, y la observación de indicadores básicos (efectos, retrasos, datos de negocios) es normal, y escala hasta el volumen completo. Automáticamente, los retrocesos se activan cuando se producen anomalías.

2. Establecimiento de sistemas automatizados de estratificación de ensayos

  • Prueba de pirámide: Un gran número de pruebas unitarias (quick, creíble) Una prueba de integración adecuada Un pequeño número de pruebas de extremo a extremo. Cada línea de streaming se ejecuta primero por pruebas unitarias (segundos) y luego sólo después de pasar es una prueba integrada.
  • Automatización de la prueba de regresión: La base de rendimiento de la interfaz clave se prueba automáticamente en cada compilación. Si una presentación resulta en un retraso en una interfaz P99 que supera el umbral, la compilación marca automáticamente como un fracaso.

3. Creación de una detectabilidad de cadena completa

  • Seguimiento de registro y enlace unificados: Basado en ELK/Loki + OpenTelemetry, todos los registros de servicio se recogen e insertan en TraceID. Introduzca un TraceID cuando busque una pregunta para ver el tiempo que se toma para llamar el enlace completo y cada nodo.
  • D.D. Mira y alarma inteligente.Monitoreo de infraestructura (CPU/RAM/disk/network) + Monitoreo de aplicaciones (QPS/delayed/mistake) + Monitoreo operativo (el éxito de menor/pago) está vinculado a tres capas. Las reglas de alarma soportan la detección de la misma a simétrica/ring para evitar el desvío y la presentación de informes incorrectos de umbrales fijos.

Alcance de la capacidad del sistema

Code and Build Management

  • GitFlow/Trunk-Based
  • Creación y utilización integradas de la gestión de proyectos multimodulos
  • Barra de puerta de calidad del código: escaneo estático, detección de brechas de seguridad, inspección de cobertura de pruebas
  • Gestión integrada del almacén de productos (envase de espejos/envase JAR/WAR/ NPM)

• Integración y despliegue continuos

  • Jenkins / Gitlab CI / GitHub Actions Waterline
  • Multiambiental de despliegue automático (desarrollo/prueba/prepublicación/producción)
  • Nota de Greyscale, despliegue Blue Green, estrategia de actualización de la plataforma
  • Issuance of approval flow and automatización of change records

Pruebas de automatización

  • Prueba de módulo / Prueba integrada / Política de capa de pruebas de extremo a extremo
  • Pruebas de referencia y regresión de rendimiento
  • Prueba de contrato de enlace (Pact) para garantizar la intercompatibilidad de los servicios
  • Prueba de malla de caos para verificar la resistencia

• Plataformas observables

  • ELK / Grafana Loki Plataforma de Registro Central
  • Prometeo + Monitorización y Visualización de Indicadores Grafana
  • OpenTelemetry, seguimiento de enlace completo.
  • + notificación multicanal (cruising/micro/fly book/PagerDuty)

Infraestructura es código

  • Terraform / Pulumi Cloud Resource Organization
  • Gestión de configuración de SaltStack
  • Kubernetes Cluster Management y Auto-Scalp
  • Implementación de la aplicación estándar de carga de helm

Entregas

Fase Entrega Principales elementos
Evaluación de DevOps Diagnóstico de la situación actual Procesos de investigación y desarrollo actuales y evaluación de la cadena de herramientas, cuantificación de puntos de dolor, calificación de madurez y hoja de ruta para mejorar
La línea de agua está funcionando. CCI/CD línea actual Construcción, pruebas y despliegue de líneas de transmisión, incluyendo el escaneo de códigos, pruebas de seguridad e integración automatizada de pruebas
Sistema de control Plataforma de observación Logs/indicadores/links completados, configuraciones clave de reglas de alertas implementadas, la entrega de disco grande monitoreado
Documento reglamentario Código DevOps Política de Subdivisión, proceso de revisión del Código, proceso de liberación, proceso de devolución, normas de responsabilidad y respuesta de emergencia
Empoderamiento de equipo. Capacitación y ejercicio Capacitación en operación de la cadena de herramientas, Defectión de emergencia (Día del juego), plantilla de relé de fragmentos y seguimiento mejorado

Orientación de valor integmentada

  • Tanto la frecuencia como la fiabilidad de la liberación: Hasta más frecuentemente, se emiten liberaciones mensuales a demanda, con cada liberación siendo significativamente reducida por un pequeño cambio.
  • 70% +• Eliminación de conexiones artificiales y enlaces de espera a través de líneas de flujo automatizadas.
  • Tiempo medio de reparación de las malfuncionales (MTTR) comprimidos de un padre a un minuto: seguimiento completo de cadena + alarma inteligente, raíz de posición ya no adivinado.
  • Los equipos iban de serie y así sucesivamente a "scramble juntos".: Autoservicio ambiental, retroalimentación automatizada de pruebas, desarrollo y QA ya no se espera el uno al otro.

📎 Saber más:

  • Transporte de Entrega de Productos - Automatización de ZhiHua Tech Despliegue, Monitoreo de Alertas y Servicios de Hostage de Transporte
  • Desarrollo de software Custom - Diseño y desarrollo específico de sistemas para procesos empresariales únicos
  • Guía de cooperación y ejecución del proyecto - proceso de colaboración completo de la comunicación de la demanda a la aceptación y la inspección
  • Consejos gratis - comunicar sus necesidades específicas con el equipo ZhiHua Tech
Servicios profesionales para ZhiHua Tech

¿Necesitas más análisis en el contexto del estado actual de la empresa?

Ofrecemos asesoramiento técnico de TI, construcción de información empresarial, proyecto de software Outlook, aplicación FDE AI y servicios de diseño y entrega de productos de software.

Consultores de enlace
Estado de responsabilidad civil

El cuerpo de publicación: Shanghai, como el ZhiHua Tech. Este documento se utiliza para fines técnicos y de decisión de proyectos; los hechos, datos y perspectivas externas se presentan en la página y se pueden verificar en el alcance y no constituyen un compromiso con los resultados de un proyecto específico.Verificación de la autorización de contenidos, fuente de información y política de corrección