Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Last reviewed 2024-09-25 UTC
Este principio del pilar de optimización de costos del Google Cloud framework de arquitectura bien definida proporciona recomendaciones para ayudarte a optimizar el costo de tus implementaciones en la nube en función de objetivos comerciales que cambian y evolucionan constantemente.
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 inversión en la nube, debes mantener la eficiencia en costos y, al mismo tiempo, seguir apoyando los objetivos comerciales. Esto requiere un enfoque proactivo y adaptativo que se enfoque en la mejora y la optimización continuas.
Descripción general de los principios
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.
Enfócate en los indicadores clave de rendimiento (KPI) que afectan directamente la experiencia de los usuarios finales, se alinean con tus objetivos comerciales y proporcionan estadísticas 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 eficacia de los costos, comprende los costos y los beneficios de supervisar el uso de recursos y usa las estrategias de optimización y mejora de procesos adecuadas.
Recomendaciones
Para supervisar de forma eficaz tu Google Cloud entorno 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 lo siguiente:
Métricas de experiencia del usuario: Las métricas de latencia, tasas de error, rendimiento y satisfacción del cliente son útiles para comprender la experiencia de los usuarios finales cuando usan tus aplicaciones.
Métricas de resultados comerciales: 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 investigación y evaluación de DevOps (DORA): Métricas como la frecuencia de implementación, el plazo de entrega para los cambios, la tasa de errores 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 ingeniería de confiabilidad de sitios (SRE): Los presupuestos de error ayudan a los equipos a cuantificar y administrar el nivel aceptable de interrupción del servicio. Cuando se establecen expectativas claras de confiabilidad, los presupuestos de errores empoderan a los equipos para innovar y, además, implementar 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 la optimización de recursos
Las siguientes son recomendaciones para usar la observabilidad y así identificar cuellos de botella de recursos y recursos infrautilizados en tus implementaciones en la nube:
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 hasta tomar decisiones enfocadas en la sostenibilidad. Por ejemplo, las estadísticas sobre el ajuste del 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 una versión inferior de 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 manera 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 mediante el uso de 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 requeridas cuando realices tu selección.
Revisa periódicamente la configuración de supervisión: 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
Ten en cuenta las necesidades de datos específicas de los diferentes roles. Por ejemplo, los desarrolladores
pueden necesitar principalmente acceso a registros de seguimiento y 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 reglamentarios. Por ejemplo, los desarrolladores pueden necesitar acceso a registros detallados por un período más corto, mientras que los analistas financieros pueden requerir datos a más largo plazo.
Considera los requisitos normativos y de cumplimiento
En algunos sectores, los requisitos reglamentarios 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 relevantes. 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 los mecanismos de archivo y recuperación de datos adecuados 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 forma oportuna. Sin embargo, es necesario encontrar 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 comercial. Ten en cuenta las siguientes recomendaciones:
Prioriza los problemas que afectan a los clientes: Diseña alertas que se activen rápidamente 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 la configuración para detectar problemas temporales: Usa umbrales y mecanismos de retraso adecuados para evitar alertas innecesarias por problemas temporales o de restablecimiento automático del sistema 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 alertas críticas y no críticas.
Usa los canales de notificaciones con prudencia: Elige los canales adecuados para las notificaciones de alertas (correo electrónico, SMS o paginación) según la gravedad y la urgencia de las alertas.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-09-25 (UTC)"],[[["\u003cp\u003eContinuously monitoring and analyzing your cloud environment is essential for optimizing costs and adapting to changing business needs, which includes focusing on key performance indicators that impact end-users and align with business goals.\u003c/p\u003e\n"],["\u003cp\u003eObservability tools are critical for identifying underutilized resources and bottlenecks, utilizing resources like Active Assist to receive actionable recommendations for reducing costs, improving performance, and increasing sustainability.\u003c/p\u003e\n"],["\u003cp\u003eBalancing detailed data collection for troubleshooting with cost considerations requires using sampling and aggregation techniques, and regularly reviewing monitoring configurations to avoid excessive data storage.\u003c/p\u003e\n"],["\u003cp\u003eTailoring data collection to specific roles, such as developers and IT administrators, and defining role-specific data retention policies can reduce unnecessary storage costs and improve data relevance.\u003c/p\u003e\n"],["\u003cp\u003eImplementing smart alerting that prioritizes issues affecting customers, tunes for temporary problems, and uses notification channels effectively helps to ensure timely issue resolution without overwhelming teams.\u003c/p\u003e\n"]]],[],null,["# Optimize continuously\n\nThis principle in the cost optimization pillar of the [Google Cloud Well-Architected Framework](/architecture/framework)\nprovides recommendations to help you optimize the cost of your cloud deployments\nbased on constantly changing and evolving business goals.\n\nAs your business grows and evolves, your cloud workloads need to adapt to changes\nin resource requirements and usage patterns. To derive maximum value from your\ncloud spending, you must maintain cost-efficiency while continuing to support\nbusiness objectives. This requires a proactive and adaptive approach that focuses\non continuous improvement and optimization.\n\nPrinciple overview\n------------------\n\nTo optimize cost continuously, you must proactively monitor and analyze your\ncloud environment and make suitable adjustments to meet current requirements.\nFocus your monitoring efforts on key performance indicators (KPIs) that directly\naffect your end users' experience, align with your business goals, and provide\ninsights for continuous improvement. This approach lets you identify and address\ninefficiencies, adapt to changing needs, and continuously align cloud spending\nwith strategic business goals. To balance comprehensive observability with cost\neffectiveness, understand the costs and benefits of monitoring resource usage\nand use appropriate process-improvement and optimization strategies.\n\nRecommendations\n---------------\n\nTo effectively monitor your Google Cloud environment and optimize cost\ncontinuously, consider the following recommendations.\n\n### Focus on business-relevant metrics\n\nEffective monitoring starts with identifying the metrics that are most important\nfor your business and customers. These metrics include the following:\n\n- **User experience metrics**: Latency, error rates, throughput, and customer satisfaction metrics are useful for understanding your end users' experience when using your applications.\n- **Business outcome metrics**: Revenue, customer growth, and engagement can be correlated with resource usage to identify opportunities for cost optimization.\n- **[DevOps Research \\& Assessment (DORA)](https://dora.dev) metrics**: Metrics like deployment frequency, lead time for changes, change failure rate, and time to restore provide insights into the efficiency and reliability of your software delivery process. By improving these metrics, you can increase productivity, reduce downtime, and optimize cost.\n- **[Site Reliability Engineering (SRE)](https://sre.google) metrics**: Error budgets help teams to quantify and manage the acceptable level of service disruption. By establishing clear expectations for reliability, error budgets empower teams to innovate and deploy changes more confidently, knowing their safety margin. This proactive approach promotes a balance between innovation and stability, helping prevent excessive operational costs associated with major outages or prolonged downtime.\n\n### Use observability for resource optimization\n\nThe following are recommendations to use observability to identify resource\nbottlenecks and underutilized resources in your cloud deployments:\n\n- **Monitor resource utilization** : Use resource utilization metrics to identify Google Cloud resources that are underutilized. For example, use metrics like CPU and memory utilization to identify [idle VM resources](/monitoring/agent/process-metrics#view_performance_metrics_for_top_resource-consuming_vms). For Google Kubernetes Engine (GKE), you can view a detailed [breakdown of costs](/kubernetes-engine/docs/how-to/cost-allocations) and [cost-related optimization metrics](/kubernetes-engine/docs/how-to/cost-optimization-metrics). For Google Cloud VMware Engine, [review resource utilization](https://cloud.google.com/blog/topics/cost-management/cost-optimization-of-google-cloud-vmware-engine-deployments) to optimize CUDs, storage consumption, and ESXi right-sizing.\n- **Use cloud recommendations** : [Active Assist](/solutions/active-assist) is a portfolio of intelligent tools that help you optimize your cloud operations. These tools provide actionable recommendations to reduce costs, increase performance, improve security and even make sustainability-focused decisions. For example, [VM rightsizing insights](/compute/docs/instance-groups/apply-machine-type-recommendations-managed-instance-groups) can help to optimize resource allocation and avoid unnecessary spending.\n- **Correlate resource utilization with performance**: Analyze the relationship between resource utilization and application performance to determine whether you can downgrade to less expensive resources without affecting the user experience.\n\n### Balance troubleshooting needs with cost\n\nDetailed observability data can help with diagnosing and troubleshooting issues.\nHowever, storing excessive amounts of observability data or exporting unnecessary\ndata to external monitoring tools can lead to unnecessary costs. For efficient\ntroubleshooting, consider the following recommendations:\n\n- **Collect sufficient data for troubleshooting**: Ensure that your monitoring solution captures enough data to efficiently diagnose and resolve issues when they arise. This data might include logs, traces, and metrics at various levels of granularity.\n- **Use sampling and aggregation**: Balance the need for detailed data with cost considerations by using sampling and aggregation techniques. This approach lets you collect representative data without incurring excessive storage costs.\n- **Understand the pricing models of your monitoring tools and services**: Evaluate different monitoring solutions and choose options that align with your project's specific needs, budget, and usage patterns. Consider factors like data volume, retention requirements, and the required features when making your selection.\n- **Regularly review your monitoring configuration**: Avoid collecting excessive data by removing unnecessary metrics or logs.\n\n### Tailor data collection to roles and set role-specific retention policies\n\nConsider the specific data needs of different roles. For example, developers\nmight primarily need access to traces and application-level logs, whereas IT\nadministrators might focus on system logs and infrastructure metrics. By tailoring\ndata collection, you can reduce unnecessary storage costs and avoid overwhelming\nusers with irrelevant information.\n\nAdditionally, you can define retention policies based on the needs of each role\nand any regulatory requirements. For example, developers might need access to\ndetailed logs for a shorter period, while financial analysts might require\nlonger-term data.\n\n### Consider regulatory and compliance requirements\n\nIn certain industries, regulatory requirements mandate data retention. To avoid\nlegal and financial risks, you need to ensure that your monitoring and data\nretention practices help you adhere to relevant regulations. At the same time,\nyou need to maintain cost efficiency. Consider the following recommendations:\n\n- Determine the specific data retention requirements for your industry or region, and ensure that your monitoring strategy meets the requirements of those requirements.\n- Implement appropriate data archival and retrieval mechanisms to meet audit and compliance needs while minimizing storage costs.\n\n### Implement smart alerting\n\nAlerting helps to detect and resolve issues in a timely manner. However, a\nbalance is necessary between an approach that keeps you informed, and one that\noverwhelms you with notifications. By designing intelligent alerting systems,\nyou can prioritize critical issues that have higher business impact. Consider\nthe following recommendations:\n\n- **Prioritize issues that affect customers**: Design alerts that trigger rapidly for issues that directly affect the customer experience, like website outages, slow response times, or transaction failures.\n- **Tune for temporary problems**: Use appropriate thresholds and delay mechanisms to avoid unnecessary alerts for temporary problems or self-healing system issues that don't affect customers.\n- **Customize alert severity**: Ensure that the most urgent issues receive immediate attention by differentiating between critical and noncritical alerts.\n- **Use notification channels wisely**: Choose appropriate channels for alert notifications (email, SMS, or paging) based on the severity and urgency of the alerts."]]