Cómo garantizar la preparación y el rendimiento operativos con CloudOps

Last reviewed 2024-10-31 UTC

Este principio del pilar de excelencia operativa del framework de arquitectura te ayuda a garantizar la preparación operativa y el rendimiento de tus cargas de trabajo en la nube.Google Cloud Enfatiza la importancia de establecer expectativas y compromisos claros para el rendimiento del servicio, implementar una supervisión y alertas sólidas, realizar pruebas de rendimiento y planificar de forma proactiva las necesidades de capacidad.

Las diferentes organizaciones pueden interpretar la preparación operativa de manera diferente. La preparación operativa es la forma en que tu organización se prepara para operar cargas de trabajo de forma correcta en Google Cloud. Prepararse para operar una carga de trabajo compleja y de varias capas en la nube requiere una planificación cuidadosa para el lanzamiento y las operaciones del día 2. Estas operaciones suelen denominarse CloudOps.

Áreas de enfoque de la preparación operativa

La preparación operativa consta de cuatro áreas de enfoque. Cada área de enfoque consta de un conjunto de actividades y componentes necesarios para prepararse para operar una aplicación o un entorno complejos en Google Cloud. En la siguiente tabla, se enumeran los componentes y las actividades de cada área de enfoque:

Área de enfoque de la preparación operativa Actividades y componentes
Personal
  • Definir roles y responsabilidades claros para los equipos que administran y operan los recursos de la nube
  • Asegurarse de que los miembros del equipo tengan las habilidades adecuadas
  • Desarrollar un programa de aprendizaje
  • Establecer una estructura de equipo clara
  • Contratar el talento necesario
Procesos
  • Observabilidad.
  • Administrar interrupciones del servicio
  • Publicación en la nube
  • Operaciones principales de la nube
Herramientas Son herramientas necesarias para admitir procesos de CloudOps.
Administración
  • Informes y niveles de servicio
  • Finanzas en la nube
  • Modelo operativo de nube
  • Juntas de revisión y administración de la arquitectura
  • Arquitectura de nube y cumplimiento.

Recomendaciones

Para garantizar la preparación y el rendimiento operativos con CloudOps, ten en cuenta las recomendaciones de las siguientes secciones. Cada recomendación de este documento es relevante para una o más de las áreas de enfoque de la preparación operativa.

Define los SLO y ANS

Una responsabilidad clave del equipo de operaciones en la nube es definir los objetivos de nivel de servicio (SLO) y los acuerdos de nivel de servicio (ANS) para todas las cargas de trabajo críticas. Esta recomendación es relevante para el área de enfoque de preparación operativa de la gobernanza.

Los SLO deben ser específicos, medibles, alcanzables, relevantes y limitados en el tiempo (SMART), y deben reflejar el nivel de servicio y rendimiento que deseas.

  • Específica: Articula con claridad el nivel de servicio y rendimiento requerido.
  • Medible: Cuantificable y rastreable.
  • Posible de lograr: Se puede lograr dentro de los límites de las capacidades y los recursos de tu organización.
  • Relevante: Se alinea con los objetivos y las prioridades comerciales.
  • Tienen un plazo: Tienen un período definido para la medición y la evaluación.

Por ejemplo, un SLO para una aplicación web podría ser "disponibilidad del 99.9%" o "tiempo de respuesta promedio inferior a 200 ms". Estos SLO definen claramente el nivel de servicio y rendimiento requerido para la aplicación web, y se pueden medir y hacer un seguimiento de ellos a lo largo del tiempo.

Los ANS describen los compromisos con los clientes en relación con la disponibilidad, el rendimiento y la asistencia del servicio, incluidas las penalizaciones o los recursos por incumplimiento. Los ANS deben incluir detalles específicos sobre los servicios que se proporcionan, el nivel de servicio que se puede esperar, las responsabilidades del proveedor de servicios y del cliente, y cualquier penalización o recurso por incumplimiento. Los ANS funcionan como un acuerdo contractual entre las dos partes, lo que garantiza que ambas tengan una comprensión clara de las expectativas y obligaciones asociadas con el servicio en la nube.

Google Cloud proporciona herramientas como Cloud Monitoring y los indicadores de nivel de servicio (SLI) para ayudarte a definir los SLO y hacer un seguimiento de ellos. Cloud Monitoring proporciona capacidades de supervisión y observabilidad completas que permiten a tu organización recopilar y analizar métricas que están relacionadas con la disponibilidad, el rendimiento y la latencia de las aplicaciones y los servicios basados en la nube. Los SLI son métricas específicas que puedes usar para medir y hacer un seguimiento de los SLO a lo largo del tiempo. Si usas estas herramientas, puedes supervisar y administrar de manera eficaz los servicios en la nube, y asegurarte de que cumplan con los SLO y ANS.

Definir y comunicar de forma clara los ANS y los SLO de todos tus servicios de la nube críticos ayuda a garantizar la confiabilidad y el rendimiento de tus aplicaciones y servicios implementados.

Implementa la observabilidad integral

Para obtener visibilidad en tiempo real del estado y el rendimiento de tu entorno de la nube, te recomendamos que uses una combinación de herramientas de Google Cloud Observability y soluciones de terceros. Esta recomendación es relevante para estas áreas de enfoque de preparación operativa: procesos y herramientas.

Implementar una combinación de soluciones de observabilidad te proporciona una estrategia de observabilidad integral que abarca varios aspectos de tu infraestructura y tus aplicaciones en la nube. La Observabilidad de Google Cloud es una plataforma unificada para recopilar, analizar y visualizar métricas, registros y seguimientos de varios servicios, aplicaciones y fuentes externas deGoogle Cloud . Con Cloud Monitoring, puedes obtener estadísticas sobre el uso de recursos, las características de rendimiento y el estado general de tus recursos.

Para garantizar una supervisión integral, supervisa las métricas importantes que se alinean con los indicadores de estado del sistema, como el uso de la CPU, el uso de la memoria, el tráfico de red, la E/S de disco y los tiempos de respuesta de la aplicación. También debes considerar las métricas específicas de la empresa. Si realizas un seguimiento de estas métricas, puedes identificar posibles cuellos de botella, problemas de rendimiento y limitaciones de recursos. Además, puedes configurar alertas para notificar de forma proactiva a los equipos relevantes sobre posibles problemas o anomalías.

Para mejorar aún más tus capacidades de supervisión, puedes integrar soluciones de terceros con la Observabilidad de Google Cloud. Estas soluciones pueden proporcionar funciones adicionales, como estadísticas avanzadas, detección de anomalías potenciadas por el aprendizaje automático y capacidades de administración de incidentes. Esta combinación de herramientas de observabilidad de Google Cloud y soluciones de terceros te permite crear un ecosistema de supervisión sólido y personalizable que se adapte a tus necesidades específicas. Si usas este enfoque combinado, puedes identificar y abordar de forma proactiva los problemas, optimizar el uso de recursos y garantizar la confiabilidad y disponibilidad generales de tus aplicaciones y servicios en la nube.

Implementa pruebas de rendimiento y carga

Realizar pruebas de rendimiento con regularidad te ayuda a garantizar que tus infraestructuras y aplicaciones basadas en la nube puedan manejar cargas máximas y mantener un rendimiento óptimo. Las pruebas de carga simulan patrones de tráfico realistas. Las pruebas de esfuerzo llevan al sistema al límite para identificar posibles cuellos de botella y limitaciones de rendimiento. Esta recomendación es relevante para estas áreas de enfoque de preparación operativa: procesos y herramientas.

Las herramientas como el balanceo de cargas en la nube y los servicios de prueba de carga pueden ayudarte a simular patrones de tráfico del mundo real y realizar pruebas de esfuerzo en tus aplicaciones. Estas herramientas proporcionan estadísticas valiosas sobre el comportamiento de tu sistema en varias condiciones de carga y pueden ayudarte a identificar las áreas que requieren optimización.

En función de los resultados de las pruebas de rendimiento, puedes tomar decisiones para optimizar tu infraestructura de nube y tus aplicaciones para obtener un rendimiento y una escalabilidad óptimos. Esta optimización puede implicar ajustar la asignación de recursos, optimizar la configuración o implementar mecanismos de almacenamiento en caché.

Por ejemplo, si descubres que tu aplicación experimenta ralentizaciones durante períodos de mucho tráfico, es posible que debas aumentar la cantidad de máquinas virtuales o contenedores que se asignan a la aplicación. Como alternativa, es posible que debas ajustar la configuración de tu servidor web o base de datos para mejorar el rendimiento.

Si realizas pruebas de rendimiento con regularidad y, luego, implementas las optimizaciones necesarias, puedes asegurarte de que tus aplicaciones y tu infraestructura basadas en la nube siempre se ejecuten con el máximo rendimiento y ofrezcan una experiencia fluida y responsiva a tus usuarios. De esta manera, podrás mantener una ventaja competitiva y generar confianza entre tus clientes.

Planifica y administra la capacidad

Planificar de forma proactiva las necesidades de capacidad futuras, ya sean orgánicas o inorgánicas, te ayuda a garantizar el funcionamiento fluido y la escalabilidad de tus sistemas basados en la nube. Esta recomendación es relevante para los procesos de la área de enfoque de preparación operativa.

La planificación de la capacidad futura incluye comprender y administrar las cuotas de varios recursos, como instancias de procesamiento, almacenamiento y solicitudes a la API. Cuando analizas los patrones de uso históricos, las proyecciones de crecimiento y los requisitos de la empresa, puedes anticipar con precisión las necesidades de capacidad futuras. Puedes usar herramientas como Cloud Monitoring y BigQuery para recopilar y analizar datos de uso, identificar tendencias y pronosticar la demanda futura.

Los patrones de uso históricos proporcionan estadísticas valiosas sobre el uso de recursos con el tiempo. Si examinas métricas como el uso de CPU, el uso de memoria y el tráfico de red, puedes identificar períodos de alta demanda y posibles cuellos de botella. Además, puedes ayudar a estimar las necesidades de capacidad futuras realizando proyecciones de crecimiento en función de factores como el crecimiento de la base de usuarios, los productos y las funciones nuevos, y las campañas de marketing. Cuando evalúes las necesidades de capacidad, también debes considerar los requisitos empresariales, como los ANS y los objetivos de rendimiento.

Cuando determines el tamaño de los recursos para una carga de trabajo, ten en cuenta los factores que pueden afectar el uso de los recursos. Las variaciones de temporada, como los períodos de compras de las festividades o las ventas de fin de trimestre, pueden generar aumentos repentinos temporales en la demanda. Los eventos planificados, como los lanzamientos de productos o las campañas de marketing, también pueden aumentar significativamente el tráfico. Para asegurarte de que tu sistema principal y de recuperación ante desastres (DR) pueda manejar aumentos inesperados en la demanda, planifica una capacidad que pueda admitir una conmutación por error elegante durante interrupciones, como desastres naturales y ataques cibernéticos.

El escalamiento automático es una estrategia importante para ajustar de forma dinámica tus recursos de la nube según las fluctuaciones de la carga de trabajo. Con las políticas de escalamiento automático, puedes escalar automáticamente instancias de procesamiento, almacenamiento y otros recursos en respuesta a los cambios en la demanda. Esto garantiza un rendimiento óptimo durante los períodos de mayor demanda y minimiza los costos cuando el uso de recursos es bajo. Los algoritmos de escalamiento automático usan métricas como el uso de CPU, el uso de memoria y la profundidad de la cola para determinar cuándo escalar los recursos.

Supervisa y optimiza de forma continua

Para administrar y optimizar las cargas de trabajo en la nube, debes establecer un proceso para supervisar y analizar de forma continua las métricas de rendimiento. Esta recomendación es relevante para estas áreas de enfoque de preparación operativa: procesos y herramientas.

Para establecer un proceso de supervisión y análisis continuos, realizas un seguimiento, recopilas y evalúas los datos relacionados con varios aspectos de tu entorno en la nube. Con estos datos, puedes identificar proactivamente las áreas de mejora, optimizar el uso de recursos y asegurarte de que tu infraestructura de nube cumpla o supere de forma coherente tus expectativas de rendimiento.

Un aspecto importante de la supervisión del rendimiento es revisar los registros y los seguimientos de forma periódica. Los registros proporcionan estadísticas valiosas sobre los eventos, los errores y las advertencias del sistema. Los seguimientos proporcionan información detallada sobre el flujo de solicitudes a través de tu aplicación. Cuando analizas registros y seguimientos, puedes identificar posibles problemas, identificar las causas raíz de los problemas y comprender mejor el comportamiento de tus aplicaciones en diferentes condiciones. Métricas como el tiempo de ida y vuelta entre servicios pueden ayudarte a identificar y comprender los cuellos de botella de tus cargas de trabajo.

Además, puedes usar técnicas de ajuste de rendimiento para mejorar significativamente los tiempos de respuesta de la aplicación y la eficiencia general. Los siguientes son ejemplos de técnicas que puedes usar:

  • Almacenamiento en caché: Almacena los datos a los que se accede con frecuencia en la memoria para reducir la necesidad de consultas repetidas a la base de datos o llamadas a la API.
  • Optimización de la base de datos: Usa técnicas como la indexación y la optimización de consultas para mejorar el rendimiento de las operaciones de la base de datos.
  • Generación de perfiles de código: Identifica las áreas de tu código que consumen recursos excesivos o causan problemas de rendimiento.

Si aplicas estas técnicas, puedes optimizar tus aplicaciones y asegurarte de que se ejecuten de manera eficiente en la nube.