Este principio del pilar de excelencia operativa del Google Cloud framework de Well-Architected te ayuda a garantizar la preparación operativa y el rendimiento de tus cargas de trabajo en la nube. Se hace hincapié en 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.
Descripción general del principio
Es posible que las diferentes organizaciones interpreten la preparación operativa de manera diferente. La preparación operativa es la forma en que tu organización se prepara para operar con éxito las cargas de trabajo en Google Cloud. Prepararse para operar una carga de trabajo compleja y de varias capas en la nube requiere una planificación cuidadosa tanto para el lanzamiento como para las operaciones del day-2. Estas operaciones suelen llamarse 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 |
|
Procesos |
|
Herramientas | Herramientas necesarias para admitir procesos de CloudOps |
Administración |
|
Recomendaciones
Para garantizar la preparación y el rendimiento operativos con CloudOps, considera las recomendaciones de las siguientes secciones. Cada recomendación de este documento es pertinente para una o más de las áreas de enfoque de la preparación operativa.
Define los SLO y los ANS
Una responsabilidad principal del equipo de operaciones en la nube es definir los objetivos de nivel de servicio (SLO) y los acuerdos de nivel de servicio (SLA) para todas las cargas de trabajo críticas. Esta recomendación es pertinente para el área de enfoque de preparación operativa de la gobernanza.
Los SLO deben ser específicos, medibles, alcanzables, pertinentes y con plazos determinados (SMART), y deben reflejar el nivel de servicio y rendimiento que deseas.
- Específica: Articula claramente el nivel de servicio y rendimiento requeridos.
- Medible: Se puede cuantificar y hacer un seguimiento.
- Alcanzable: Se puede lograr dentro de los límites de las capacidades y los recursos de tu organización.
- Pertinente: Se alinea con los objetivos y las prioridades comerciales.
- Delimitado por el tiempo: Tiene 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 el rendimiento requeridos 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 las penalizaciones o los recursos por incumplimiento. Los ANS sirven como un acuerdo contractual entre las dos partes, lo que garantiza que ambas tengan una comprensión clara de las expectativas y las 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 y hacer un seguimiento de los SLO. Cloud Monitoring proporciona capacidades integrales de supervisión y observabilidad que permiten a tu organización recopilar y analizar métricas 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. Con estas herramientas, puedes supervisar y administrar de manera eficaz los servicios en la nube, y asegurarte de que cumplan con los SLO y los ANS.
Definir y comunicar claramente los SLO y los ANS para todos tus servicios en la nube críticos ayuda a garantizar la confiabilidad y el rendimiento de tus aplicaciones y servicios implementados.
Implementa una observabilidad integral
Para obtener visibilidad en tiempo real del estado y el rendimiento de tu entorno de nube, te recomendamos que uses una combinación de herramientas de Google Cloud Observability y soluciones de terceros. Esta recomendación es pertinente para las siguientes áreas de enfoque de la preparación operativa: procesos y herramientas.
Implementar una combinación de soluciones de observabilidad te proporciona una estrategia integral que abarca varios aspectos de tu infraestructura y aplicaciones en la nube. Google Cloud Observability es una plataforma unificada para recopilar, analizar y visualizar métricas, registros y seguimientos de diversosGoogle Cloud servicios, aplicaciones y fuentes externas. 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 CPU, el uso de memoria, el tráfico de red, las E/S de disco y los tiempos de respuesta de la aplicación. También debes tener en cuenta las métricas específicas de la empresa. Si haces 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 pertinentes sobre posibles problemas o anomalías.
Para mejorar aún más tus capacidades de supervisión, puedes integrar soluciones de terceros con Google Cloud Observability. Estas soluciones pueden proporcionar funciones adicionales, como análisis avanzados, detección de anomalías potenciada por 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 adapta a tus necesidades específicas. Si usas este enfoque combinado, puedes identificar y abordar problemas de forma proactiva, 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 de carga
Realizar pruebas de rendimiento periódicas te ayuda a garantizar que tus aplicaciones y tu infraestructura basadas en la nube puedan controlar las cargas máximas y mantener un rendimiento óptimo. Las pruebas de carga simulan patrones de tráfico realistas. Las pruebas de estrés llevan el sistema al límite para identificar posibles cuellos de botella y limitaciones de rendimiento. Esta recomendación es pertinente para las siguientes áreas de enfoque de la preparación operativa: procesos y herramientas.
Las herramientas como Cloud Load Balancing y los servicios de prueba de carga pueden ayudarte a simular patrones de tráfico del mundo real y realizar pruebas de estrés en tus aplicaciones. Estas herramientas proporcionan estadísticas valiosas sobre el comportamiento del sistema en diversas condiciones de carga y pueden ayudarte a identificar las áreas que requieren optimización.
Según los resultados de las pruebas de rendimiento, puedes tomar decisiones para optimizar tu infraestructura y aplicaciones en la nube y lograr un rendimiento y una escalabilidad óptimos. Esta optimización puede implicar ajustar la asignación de recursos, configurar los parámetros o implementar mecanismos de almacenamiento en caché.
Por ejemplo, si detectas que tu aplicación se ralentiza durante los períodos de tráfico alto, es posible que debas aumentar la cantidad de máquinas virtuales o contenedores asignados 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 aplicas las optimizaciones necesarias, puedes asegurarte de que tus aplicaciones y tu infraestructura basadas en la nube siempre funcionen con el máximo rendimiento y brinden una experiencia fluida y receptiva a tus usuarios. Hacerlo puede ayudarte a 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 sin problemas y la escalabilidad de tus sistemas basados en la nube. Esta recomendación es pertinente para el área de enfoque de procesos de la preparación operativa.
La planificación de la capacidad futura incluye la comprensión y la administración de las cuotas para varios recursos, como instancias de procesamiento, almacenamiento y solicitudes a la API. Si analizas los patrones de uso históricos, las proyecciones de crecimiento y los requisitos comerciales, puedes anticipar con precisión los requisitos de capacidad futuros. Puedes usar herramientas como Cloud Monitoring y BigQuery para recopilar y analizar datos de uso, identificar tendencias y predecir la demanda futura.
Los patrones de uso históricos proporcionan estadísticas valiosas sobre la utilización de recursos a lo largo del 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 futuras de capacidad realizando proyecciones de crecimiento basadas en factores como el crecimiento de la base de usuarios, los nuevos productos y funciones, y las campañas de marketing. Cuando evalúes las necesidades de capacidad, también debes tener en cuenta los requisitos comerciales, 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 estacionales, como los períodos de compras de festividades o las ventas de fin de trimestre, pueden generar aumentos 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 el de recuperación ante desastres (DR) puedan controlar los aumentos inesperados en la demanda, planifica una capacidad que pueda admitir una conmutación por error correcta durante interrupciones como desastres naturales y ciberataques.
El ajuste de escala 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 ajuste de escala automático, puedes ajustar automáticamente la escala de las instancias de procesamiento, el almacenamiento y otros recursos en respuesta a los cambios en la demanda. Esto garantiza un rendimiento óptimo durante los períodos pico y minimiza los costos cuando el uso de recursos es bajo. Los algoritmos de ajuste de escala 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 continuamente las métricas de rendimiento. Esta recomendación es pertinente para las siguientes áreas de enfoque de la preparación operativa: procesos y herramientas.
Para establecer un proceso de supervisión y análisis continuos, debes hacer un seguimiento, recopilar y evaluar los datos relacionados con diversos aspectos de tu entorno de nube. Con estos datos, puedes identificar de forma proactiva las áreas de mejora, optimizar el uso de recursos y garantizar que tu infraestructura de nube cumpla o supere constantemente 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 eventos, errores y advertencias del sistema. Los registros de seguimiento proporcionan información detallada sobre el flujo de solicitudes a través de tu aplicación. Al analizar los registros y los seguimientos, puedes identificar posibles problemas, determinar las causas raíz de los problemas y comprender mejor el comportamiento de tus aplicaciones en diferentes condiciones. Las métricas como el tiempo de ida y vuelta entre los servicios pueden ayudarte a identificar y comprender los cuellos de botella que se producen en tus cargas de trabajo.
Además, puedes usar técnicas de ajuste del rendimiento para mejorar significativamente los tiempos de respuesta de la aplicación y la eficiencia general. A continuación, se muestran ejemplos de técnicas que puedes usar:
- Almacenamiento en caché: Almacena en la memoria los datos a los que se accede con frecuencia para reducir la necesidad de realizar 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 en exceso 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.