Este principio del pilar de optimización de costos del Framework de buena arquitectura deGoogle Cloud proporciona recomendaciones para ayudarte a optimizar el costo de tus implementaciones en la nube en función de los objetivos comerciales en constante cambio y evolución.
A medida que tu empresa crece y evoluciona, tus cargas de trabajo en la nube deben adaptarse a los cambios en los requisitos de recursos y los patrones de uso. Para obtener el máximo valor de tu gasto en la nube, debes mantener la rentabilidad y, al mismo tiempo, seguir respaldando los objetivos comerciales. Esto requiere un enfoque proactivo y adaptable que se centre en la mejora y la optimización continuas.
Descripción general del principio
Para optimizar los costos de forma continua, debes supervisar y analizar de forma proactiva tu entorno de nube y realizar los ajustes adecuados para cumplir con los requisitos actuales. Enfoca tus esfuerzos de supervisión en los indicadores clave de rendimiento (KPI) que afectan directamente la experiencia de los usuarios finales, se alinean con tus objetivos comerciales y proporcionan información para la mejora continua. Este enfoque te permite identificar y abordar las ineficiencias, adaptarte a las necesidades cambiantes y alinear de forma continua la inversión en la nube con los objetivos comerciales estratégicos. Para equilibrar la observabilidad integral con la rentabilidad, comprende los costos y los beneficios de supervisar el uso de recursos y usa estrategias adecuadas de mejora y optimización de procesos.
Recomendaciones
Para supervisar de forma eficaz tu entorno de Google Cloud y optimizar los costos de forma continua, ten en cuenta las siguientes recomendaciones.
Enfócate en las métricas relevantes para la empresa
La supervisión eficaz comienza con la identificación de las métricas más importantes para tu empresa y tus clientes. Estas métricas incluyen la siguiente información:
- Métricas de experiencia del usuario: Las métricas de latencia, tasas de error, capacidad de procesamiento y satisfacción del cliente son útiles para comprender la experiencia de los usuarios finales cuando usan tus aplicaciones.
- Métricas de resultados empresariales: Los ingresos, el crecimiento de los clientes y la participación se pueden correlacionar con el uso de recursos para identificar oportunidades de optimización de costos.
- Métricas de DevOps Research & Assessment (DORA): Las métricas como la frecuencia de implementación, el plazo de entrega para los cambios, el porcentaje de fallas de cambio y el tiempo de restablecimiento proporcionan estadísticas sobre la eficiencia y la confiabilidad de tu proceso de entrega de software. Si mejoras estas métricas, puedes aumentar la productividad, reducir el tiempo de inactividad y optimizar los costos.
- Métricas de la ingeniería de confiabilidad de sitios (SRE): Los porcentajes de error aceptables ayudan a los equipos a cuantificar y administrar el nivel aceptable de interrupción del servicio. Cuando se establecen expectativas claras de confiabilidad, los porcentajes de errores aceptables permiten que los equipos innoven y, además, implementen cambios con más confianza, ya que conocen su margen de seguridad. Este enfoque proactivo promueve un equilibrio entre la innovación y la estabilidad, lo que ayuda a evitar costos operativos excesivos asociados con interrupciones importantes o tiempos de inactividad prolongados.
Usa la observabilidad para optimizar los recursos
Las siguientes son recomendaciones para usar la observabilidad con el objetivo de identificar cuellos de botella y recursos infrautilizados en tus implementaciones en la nube:
- Supervisa el uso de recursos: Usa métricas de uso de recursos para identificar los recursos deGoogle Cloud que se subutilizan. Por ejemplo, usa métricas como el uso de CPU y memoria para identificar los recursos de VM inactivas. En el caso de Google Kubernetes Engine (GKE), puedes ver un desglose de costos detallado y métricas de optimización relacionadas con los costos. En el caso de Google Cloud VMware Engine, revisa el uso de recursos para optimizar los CUD, el consumo de almacenamiento y el ajuste de tamaño de ESXi.
- Usa las recomendaciones de la nube: Active Assist es una cartera de herramientas inteligentes que te ayudan a optimizar tus operaciones en la nube. Estas herramientas proporcionan recomendaciones prácticas para reducir costos, aumentar el rendimiento, mejorar la seguridad y, además, tomar decisiones centradas en la sustentabilidad. Por ejemplo, las estadísticas de ajuste de tamaño de las VMs pueden ayudar a optimizar la asignación de recursos y evitar gastos innecesarios.
- Correlaciona el uso de recursos con el rendimiento: Analiza la relación entre el uso de recursos y el rendimiento de la aplicación para determinar si puedes cambiar a recursos menos costosos sin afectar la experiencia del usuario.
Equilibra las necesidades de solución de problemas con el costo
Los datos de observabilidad detallados pueden ayudar a diagnosticar y solucionar problemas. Sin embargo, almacenar cantidades excesivas de datos de observabilidad o exportar datos innecesarios a herramientas de supervisión externas puede generar costos innecesarios. Para solucionar problemas de manera eficiente, ten en cuenta las siguientes recomendaciones:
- Recopila datos suficientes para solucionar problemas: Asegúrate de que tu solución de supervisión capture suficientes datos para diagnosticar y resolver problemas de forma eficiente cuando surjan. Estos datos pueden incluir registros, seguimientos y métricas en varios niveles de detalle.
- Usa el muestreo y la agregación: Equilibra la necesidad de datos detallados con las consideraciones de costos usando técnicas de muestreo y agregación. Este enfoque te permite recopilar datos representativos sin incurrir en costos de almacenamiento excesivos.
- Comprende los modelos de precios de tus herramientas y servicios de supervisión: Evalúa diferentes soluciones de supervisión y elige opciones que se alineen con las necesidades, el presupuesto y los patrones de uso específicos de tu proyecto. Ten en cuenta factores como el volumen de datos, los requisitos de retención y las funciones necesarias cuando hagas tu selección.
- Revisa tu configuración de supervisión con regularidad: Quita las métricas o los registros innecesarios para evitar recopilar datos excesivos.
Adaptar la recopilación de datos a los roles y establecer políticas de retención específicas para cada rol
Considera las necesidades de datos específicas de los diferentes roles. Por ejemplo, es posible que los desarrolladores necesiten principalmente acceso a los seguimientos y los registros a nivel de la aplicación, mientras que los administradores de TI pueden enfocarse en los registros del sistema y las métricas de infraestructura. Si adaptas la recopilación de datos, puedes reducir los costos de almacenamiento innecesarios y evitar abrumar a los usuarios con información irrelevante.
Además, puedes definir políticas de retención según las necesidades de cada rol y los requisitos normativos. Por ejemplo, es posible que los desarrolladores necesiten acceder a registros detallados durante un período más corto, mientras que los analistas financieros podrían requerir datos a más largo plazo.
Considera los requisitos normativos y de cumplimiento
En ciertas industrias, los requisitos regulatorios exigen la retención de datos. Para evitar riesgos legales y financieros, debes asegurarte de que tus prácticas de supervisión y retención de datos te ayuden a cumplir con las reglamentaciones pertinentes. Al mismo tiempo, debes mantener la eficiencia de costos. Ten en cuenta las siguientes recomendaciones:
- Determina los requisitos específicos de retención de datos para tu industria o región, y asegúrate de que tu estrategia de supervisión cumpla con esos requisitos.
- Implementa mecanismos adecuados de archivo y recuperación de datos para satisfacer las necesidades de auditoría y cumplimiento, y, al mismo tiempo, minimizar los costos de almacenamiento.
Implementa alertas inteligentes
Las alertas ayudan a detectar y resolver problemas de manera oportuna. Sin embargo, es necesario un equilibrio entre un enfoque que te mantenga informado y uno que te abrume con notificaciones. Si diseñas sistemas de alertas inteligentes, puedes priorizar los problemas críticos que tienen un mayor impacto en el negocio. Ten en cuenta las siguientes recomendaciones:
- Prioriza los problemas que afectan a los clientes: Diseña alertas que se activen con rapidez para los problemas que afectan directamente la experiencia del cliente, como interrupciones del sitio web, tiempos de respuesta lentos o fallas en las transacciones.
- Ajusta para problemas temporales: Usa umbrales y mecanismos de retraso adecuados para evitar alertas innecesarias por problemas temporales o problemas del sistema de reparación automática que no afectan a los clientes.
- Personaliza la gravedad de las alertas: Asegúrate de que los problemas más urgentes reciban atención inmediata diferenciando entre las alertas críticas y las no críticas.
- Usa los canales de notificaciones con prudencia: Elige los canales adecuados para las notificaciones de alertas (notificación por correo electrónico, SMS o buscapersonas) según la gravedad y la urgencia de las alertas.