Well-Architected Framework: Pilar de optimización de costos

Last reviewed 2025-02-14 UTC

El pilar de optimización de costos del Google Cloud Well-Architected Framework describe los principios y las recomendaciones para optimizar el costo de tus cargas de trabajo en Google Cloud.

El público objetivo incluye lo siguiente:

  • Directores de tecnología, directores generales de información, directores financieros y otros ejecutivos responsables de la administración estratégica de costos
  • Arquitectos, desarrolladores, administradores y operadores que toman decisiones que afectan el costo en todas las etapas del recorrido de una organización en la nube

Los modelos de costos para las cargas de trabajo locales y en la nube difieren significativamente. Los costos de TI locales incluyen gastos de capital (CapEx) y gastos operativos (OpEx). Los recursos de hardware y software locales se adquieren y los costos de adquisición se deprecian durante la vida útil de los recursos. En la nube, los costos de la mayoría de los recursos en la nube se consideran OpEx, en los que se incurre en costos cuando se consumen los recursos en la nube. Esta diferencia fundamental subraya la importancia de los siguientes principios básicos de la optimización de costos.

Para conocer los principios y las recomendaciones de optimización de costos específicos para las cargas de trabajo de IA y AA, consulta Perspectiva de IA y AA: Optimización de costos en el Framework de Well-Architected.

Principios básicos

Las recomendaciones del pilar de optimización de costos del framework de Well-Architected se correlacionan con los siguientes principios básicos:

  • Alinea el gasto en la nube con el valor empresarial: Asegúrate de que tus recursos de la nube proporcionen un valor empresarial medible alineando el gasto en TI con los objetivos comerciales.
  • Fomenta una cultura de conciencia de los costos: Asegúrate de que las personas de toda tu organización tengan en cuenta el impacto en los costos de sus decisiones y actividades, y que tengan acceso a la información de costos necesaria para tomar decisiones fundamentadas.
  • Optimiza el uso de recursos: Aprovisiona solo los recursos que necesitas y paga solo por los que consumes.
  • Optimiza de forma continua: Supervisa de forma continua el uso y los costos de tus recursos de la nube, y realiza ajustes de forma proactiva según sea necesario para optimizar tu inversión. Este enfoque implica identificar y abordar las posibles ineficiencias de costos antes de que se conviertan en problemas significativos.

Estos principios se alinean estrechamente con los principios fundamentales de FinOps de la nube. FinOps es pertinente para cualquier organización, independientemente de su tamaño o antigüedad en la nube. Si adoptas estos principios y sigues las recomendaciones relacionadas, podrás controlar y optimizar los costos a lo largo de tu recorrido en la nube.

Colaboradores

Autor: Nicolas Pintaux | Ingeniero de Atención al Cliente y especialista en modernización de aplicaciones

Otros colaboradores:

Alinea el gasto en la nube con el valor empresarial

Este principio del pilar de optimización de costos del Google Cloud framework de Well-Architected proporciona recomendaciones para alinear el uso de los recursos de Google Cloud con los objetivos comerciales de tu organización.

Descripción general del principio

Para administrar los costos de la nube de manera eficaz, debes maximizar el valor comercial que proporcionan los recursos de la nube y minimizar el costo total de propiedad (TCO). Cuando evalúes las opciones de recursos para tus cargas de trabajo en la nube, ten en cuenta no solo el costo del aprovisionamiento y el uso de los recursos, sino también el costo de administrarlos. Por ejemplo, las máquinas virtuales (VM) en Compute Engine pueden ser una opción rentable para alojar aplicaciones. Sin embargo, cuando consideras la sobrecarga para mantener, aplicar parches y escalar las VMs, el TCO puede aumentar. Por otro lado, los servicios sin servidores, como Cloud Run, pueden ofrecer un mayor valor comercial. La menor sobrecarga operativa permite que tu equipo se concentre en las actividades principales y ayuda a aumentar la agilidad.

Para garantizar que tus recursos de la nube proporcionen un valor óptimo, evalúa los siguientes factores:

  • Costos de aprovisionamiento y uso: Son los gastos que se generan cuando compras, aprovisionas o consumes recursos.
  • Costos de administración: Son los gastos recurrentes para operar y mantener los recursos, incluidas tareas como la aplicación de parches, la supervisión y el ajuste de la escala.
  • Costos indirectos: Son los costos en los que podrías incurrir para administrar problemas como el tiempo de inactividad, la pérdida de datos o las violaciones de seguridad.
  • Impacto en la empresa: Son los beneficios potenciales de los recursos, como el aumento de los ingresos, la mejora de la satisfacción del cliente y la reducción del tiempo de salida al mercado.

Cuando alineas el gasto en la nube con el valor empresarial, obtienes los siguientes beneficios:

  • Decisiones basadas en el valor: Se recomienda a tus equipos que prioricen las soluciones que ofrecen el mayor valor comercial y que tengan en cuenta las implicaciones de costos a corto y largo plazo.
  • Elección de recursos fundamentada: Tus equipos tienen la información y el conocimiento que necesitan para evaluar el valor comercial y el TCO de las distintas opciones de implementación, por lo que eligen recursos que son rentables.
  • Alineación entre equipos: La colaboración multidisciplinaria entre los equipos comerciales, financieros y técnicos garantiza que las decisiones relacionadas con la nube se alineen con los objetivos generales de la organización.

Recomendaciones

Para alinear el gasto en la nube con los objetivos comerciales, ten en cuenta las siguientes recomendaciones.

Prioriza los servicios administrados y los productos sin servidores

Siempre que sea posible, elige servicios administrados y productos sin servidores para reducir la sobrecarga operativa y los costos de mantenimiento. Esta opción permite que tus equipos se concentren en sus actividades comerciales principales. Pueden acelerar la entrega de nuevas funciones y características, y ayudar a impulsar la innovación y el valor.

A continuación, se incluyen ejemplos de cómo puedes implementar esta recomendación:

Equilibra la eficiencia de costos con la agilidad empresarial

Controlar los costos y optimizar el uso de los recursos son objetivos importantes. Sin embargo, debes equilibrar estos objetivos con la necesidad de contar con una infraestructura flexible que te permita innovar rápidamente, responder con rapidez a los cambios y ofrecer valor más rápido. A continuación, se muestran ejemplos de cómo puedes lograr este equilibrio:

  • Adopta las métricas de DORA para medir el rendimiento de la entrega de software. Las métricas como la tasa de errores de cambio (CFR), el tiempo de detección (TTD) y el tiempo de restablecimiento (TTR) pueden ayudarte a identificar y corregir los cuellos de botella en tus procesos de desarrollo e implementación. Si reduces el tiempo de inactividad y aceleras la entrega, puedes lograr eficiencia operativa y agilidad empresarial.
  • Sigue las prácticas de la ingeniería de confiabilidad de sitios (SRE) para mejorar la confiabilidad operativa. El enfoque de los SRE en la automatización, la observabilidad y la respuesta ante incidentes puede reducir el tiempo de inactividad, disminuir el tiempo de recuperación y aumentar la satisfacción del cliente. Si minimizas el tiempo de inactividad y mejoras la confiabilidad operativa, puedes evitar la pérdida de ingresos y la necesidad de aprovisionar recursos en exceso como red de seguridad para controlar las interrupciones.

Habilita la optimización de autoservicio

Fomenta una cultura de experimentación y exploración proporcionando a tus equipos herramientas de optimización de costos de autoservicio, herramientas de observabilidad y plataformas de administración de recursos. Permitirles aprovisionar, administrar y optimizar sus recursos en la nube de forma autónoma Este enfoque ayuda a fomentar un sentido de propiedad, acelerar la innovación y garantizar que los equipos puedan responder rápidamente a las necesidades cambiantes, sin dejar de tener en cuenta la eficiencia de los costos.

Adopta e implementa FinOps

Adopta FinOps para establecer un entorno colaborativo en el que todos tengan la capacidad de tomar decisiones fundamentadas que equilibren el costo y el valor. FinOps fomenta la responsabilidad financiera y promueve la optimización eficaz de los costos en la nube.

Promueve una mentalidad impulsada por el valor y consciente del TCO

Incentiva a los miembros de tu equipo a adoptar una actitud integral hacia la inversión en la nube, con énfasis en el TCO y no solo en los costos iniciales. Usa técnicas como la asignación del flujo de valor para visualizar y analizar el flujo de valor a través de tu proceso de entrega de software, y para identificar áreas de mejora. Implementa el costo de unidad para tus aplicaciones y servicios, y obtén una comprensión detallada de los factores que determinan los costos y descubre oportunidades para optimizarlos. Para obtener más información, consulta Maximiza el valor empresarial con las operaciones financieras en la nube.

Fomenta una cultura de reconocimiento de costos

Este principio del pilar de optimización de costos del Google Cloud Well-Architected Framework proporciona recomendaciones para promover la conciencia de los costos en toda tu organización y garantizar que los miembros del equipo tengan la información de costos que necesitan para tomar decisiones fundamentadas.

Por lo general, la responsabilidad de la gestión de costos puede centralizarse en algunos interesados seleccionados y centrarse principalmente en las decisiones iniciales de la arquitectura del proyecto. Sin embargo, los miembros del equipo en todos los roles de usuario de la nube (analista, arquitecto, desarrollador o administrador) pueden ayudar a reducir el costo de tus recursos enGoogle Cloud. Si compartes los datos de costos de forma adecuada, puedes potenciar a los miembros del equipo para que tomen decisiones rentables a lo largo de sus procesos de desarrollo y de implementación.

Descripción general del principio

Las partes interesadas en diversos roles (propietarios de productos, desarrolladores, ingenieros de implementación, administradores y analistas financieros) necesitan visibilidad de los datos de costos pertinentes y su relación con el valor comercial. Cuando aprovisionan y administran recursos de la nube, necesitan los siguientes datos:

  • Costos de recursos proyectados: Son las estimaciones de costos en el momento del diseño y la implementación.
  • Costos de uso de recursos en tiempo real: Datos de costos actualizados que se pueden usar para la supervisión continua y la validación del presupuesto
  • Costos asignados a las métricas comerciales: Estadísticas sobre cómo la inversión en la nube afecta los indicadores clave de rendimiento (KPI), lo que permite a los equipos identificar estrategias rentables.

Es posible que no todas las personas necesiten acceder a los datos de costos sin procesar. Sin embargo, es fundamental promover la conciencia sobre los costos en todos los roles, ya que las decisiones individuales pueden afectar los costos.

Al promover la visibilidad de los costos y garantizar una propiedad clara de las prácticas de administración de costos, te aseguras de que todos conozcan las implicaciones financieras de sus elecciones y contribuyan activamente a los objetivos de optimización de costos de la organización. Ya sea a través de un equipo de FinOps centralizado o un modelo distribuido, establecer la responsabilidad es fundamental para lograr esfuerzos eficaces de optimización de costos.

Recomendaciones

Para promover la conciencia sobre los costos y garantizar que los miembros de tu equipo tengan la información que necesitan para tomar decisiones fundamentadas, considera las siguientes recomendaciones.

Proporciona visibilidad de los costos en toda la organización

Para lograr la visibilidad de los costos en toda la organización, los equipos responsables de la administración de costos pueden realizar las siguientes acciones:

  • Estandariza el cálculo de costos y la elaboración de presupuestos: Usa un método coherente para determinar los costos totales de los recursos en la nube, después de tener en cuenta los descuentos y los costos compartidos. Establece procesos de creación de presupuestos claros y estandarizados que se alineen con los objetivos de tu organización y permitan una administración proactiva de los costos.
  • Usa herramientas estandarizadas de administración y visibilidad de costos: Usa herramientas adecuadas que proporcionen estadísticas en tiempo real sobre la inversión en la nube y generen instantáneas periódicas (por ejemplo, semanales) de la progresión de los costos. Estas herramientas permiten crear presupuestos y previsiones de forma proactiva, y también identificar oportunidades de optimización. Las herramientas pueden ser del proveedor de servicios en la nube (como el panel de la Facturación de Google Cloud), soluciones de terceros o soluciones de código abierto, como la solución de atribución de costos.
  • Implementa un sistema de asignación de costos: Asigna una parte del presupuesto general de la nube a cada equipo o proyecto. Esta asignación les da a los equipos un sentido de propiedad sobre el gasto en la nube y los alienta a tomar decisiones rentables dentro de su presupuesto asignado.
  • Promueve la transparencia: Alienta a los equipos a analizar las implicaciones de los costos durante los procesos de diseño y toma de decisiones. Crea un entorno seguro y de apoyo para compartir ideas y preocupaciones relacionadas con la optimización de costos. Algunas organizaciones usan mecanismos de refuerzo positivo, como tablas de clasificación o programas de reconocimiento. Si tu organización tiene restricciones para compartir datos de costos sin procesar debido a inquietudes comerciales, explora enfoques alternativos para compartir información y estadísticas sobre los costos. Por ejemplo, considera compartir métricas agregadas (como el costo total de un entorno o una función) o métricas relativas (como el costo promedio por transacción o usuario).

Comprende cómo se facturan los recursos de Cloud

Los precios de los recursos de Google Cloud pueden variar según las regiones. Algunos recursos se facturan mensualmente a un precio fijo, y otros se pueden facturar según el uso. Para comprender cómo se facturan los recursos, usa la Google Cloud calculadora de precios y la información de precios específica del producto (por ejemplo, los precios de Google Kubernetes Engine (GKE)). Google Cloud

Comprende las opciones de optimización de costos basadas en recursos

Para cada tipo de recurso de nube que planees usar, explora estrategias para optimizar la utilización y la eficiencia. Las estrategias incluyen el ajuste del tamaño adecuado, el ajuste de escala automático y la adopción de tecnologías sin servidores cuando corresponda. A continuación, se muestran ejemplos de opciones de optimización de costos para algunos productos de Google Cloud :

  • Cloud Run te permite configurar CPUs asignadas siempre para controlar cargas de tráfico predecibles a una fracción del precio del método de asignación predeterminado (es decir, CPUs asignadas solo durante el procesamiento de solicitudes).
  • Puedes comprar compromisos de ranuras de BigQuery para ahorrar dinero en el análisis de datos.
  • GKE proporciona métricas detalladas para ayudarte a comprender las opciones de optimización de costos.
  • Comprende cómo los precios de red pueden afectar el costo de las transferencias de datos y cómo puedes optimizar los costos de servicios de redes específicos. Por ejemplo, puedes reducir los costos de transferencia de datos de los balanceadores de cargas de aplicaciones externos con Cloud CDN o Google Cloud Armor. Para obtener más información, consulta Formas de reducir los costos de los balanceadores de cargas de aplicaciones externos.

Comprende las opciones de optimización de costos basadas en descuentos

Familiarízate con los programas de descuentos que ofrece Google Cloud , como los siguientes ejemplos:

  • Descuentos por compromiso de uso (CUD): Los CUD son adecuados para los recursos que tienen un uso predecible y constante. Los CUD te permiten obtener reducciones significativas en el precio a cambio de comprometerte a un uso específico de recursos durante un período (por lo general, de uno a tres años). También puedes usar la renovación automática del CUD para evitar tener que volver a comprar compromisos de forma manual cuando vencen.
  • Descuentos por uso continuo: En ciertos Google Cloud productos, como Compute Engine y GKE, puedes obtener créditos de descuento automáticos después de un uso continuo de los recursos que supere los umbrales de duración específicos.
  • VMs Spot: Para las cargas de trabajo flexibles y tolerantes a errores, las VMs Spot pueden ayudarte a reducir los costos de Compute Engine. El costo de las VMs Spot es significativamente menor que el de las VMs normales. Sin embargo, Compute Engine podría detener o borrar las VMs Spot de forma preventiva para recuperar capacidad. Las VMs Spot son adecuadas para trabajos por lotes que pueden tolerar la interrupción y no tienen requisitos de alta disponibilidad.
  • Descuentos para opciones de productos específicos: Algunos servicios administrados, como BigQuery, ofrecen descuentos cuando compras capacidad de procesamiento de consultas dedicada o de ajuste de escala automático.

Evalúa y elige las opciones de descuento que se alineen con las características de tu carga de trabajo y tus patrones de uso.

Incorpora estimaciones de costos en los planos de arquitectura

Alienta a los equipos a desarrollar planos de arquitectura que incluyan estimaciones de costos para diferentes opciones y configuraciones de implementación. Esta práctica permite a los equipos comparar los costos de forma proactiva y tomar decisiones fundamentadas que se alineen con los objetivos técnicos y financieros.

Usa un conjunto de etiquetas coherente y estándar para todos tus recursos

Puedes usar etiquetas para hacer un seguimiento de los costos, así como identificar y clasificar los recursos. Específicamente, puedes usar etiquetas para asignar costos a diferentes proyectos, departamentos o centros de costos. Definir una política de etiquetado formal que se alinee con las necesidades de los principales interesados de tu organización ayuda a que los costos sean más visibles. También puedes usar etiquetas para filtrar los datos de costos y uso de los recursos según el público objetivo.

Usa herramientas de automatización, como Terraform, para aplicar el etiquetado en cada recurso que se cree. Para mejorar aún más la visibilidad y la atribución de costos, puedes usar las herramientas que proporciona la solución de atribución de costos de código abierto.

Comparte informes de costos con los miembros del equipo

Si compartes informes de costos con los miembros de tu equipo, les permites hacerse responsables de su inversión en la nube. Esta práctica permite tomar decisiones rentables, optimizar los costos de forma continua y mejorar sistemáticamente el modelo de asignación de costos.

Los informes de costos pueden ser de varios tipos, incluidos los siguientes:

  • Informes de costos periódicos: Los informes periódicos informan a los equipos sobre su inversión actual en la nube. Por lo general, estos informes pueden ser exportaciones de hojas de cálculo. Entre los métodos más eficaces, se incluyen los correos electrónicos automatizados y los paneles especializados. Para garantizar que los informes de costos proporcionen información pertinente y práctica sin abrumar a los destinatarios con detalles innecesarios, los informes deben adaptarse a los públicos objetivo. Configurar informes personalizados es un paso fundamental para lograr una mayor visibilidad y administración de los costos en tiempo real y de forma interactiva.
  • Notificaciones automáticas: Puedes configurar los informes de costos para notificar de forma proactiva a las partes interesadas pertinentes (por ejemplo, por correo electrónico o chat) sobre las anomalías de costos, los umbrales de presupuesto o las oportunidades de optimización de costos. Al proporcionar información oportuna directamente a quienes pueden tomar medidas, las alertas automáticas fomentan la acción rápida y promueven un enfoque proactivo para la optimización de costos.
  • Google Cloud Paneles: Puedes usar los paneles integrados de facturación en Google Cloud para obtener estadísticas sobre los desgloses de costos y detectar oportunidades de optimización de costos. Google Cloud también proporciona el centro de FinOps para ayudarte a supervisar los ahorros y obtener recomendaciones para la optimización de costos. Un motor de IA impulsa el centro de FinOps para recomendar oportunidades de optimización de costos para todos los recursos que se implementan actualmente. Para controlar el acceso a estas recomendaciones, puedes implementar el control de acceso basado en roles (RBAC).
  • Paneles personalizados: Puedes crear paneles personalizados exportando datos de costos a una base de datos de estadísticas, como BigQuery. Usa una herramienta de visualización como Looker Studio para conectarte a la base de datos de Analytics y crear informes interactivos, y habilita el control de acceso detallado a través de permisos basados en roles.
  • Informes de costos de múltiples nubes: Para las implementaciones de múltiples nubes, necesitas una vista unificada de los costos en todos los proveedores de servicios en la nube para garantizar un análisis, una elaboración de presupuestos y una optimización integrales. Usa herramientas como BigQuery para centralizar y analizar los datos de costos de varios proveedores de servicios en la nube, y usa Looker Studio para crear informes interactivos específicos para el equipo.

Optimiza el uso de recursos

Este principio del pilar de optimización de costos del Google Cloud Well-Architected Framework proporciona recomendaciones para ayudarte a planificar y aprovisionar recursos que satisfagan los requisitos y los patrones de consumo de tus cargas de trabajo en la nube.

Descripción general del principio

Para optimizar el costo de tus recursos en la nube, debes comprender a fondo los requisitos de recursos y los patrones de carga de tus cargas de trabajo. Este conocimiento es la base de un modelo de costos bien definido que te permite prever el costo total de propiedad (TCO) e identificar los factores que generan costos a lo largo de tu proceso de adopción de la nube. Si analizas y prevés de forma proactiva la inversión en la nube, podrás tomar decisiones fundamentadas sobre el aprovisionamiento, la utilización y la optimización de costos de los recursos. Este enfoque te permite controlar la inversión en la nube, evitar el sobreaprovisionamiento y garantizar que los recursos de la nube se alineen con las necesidades dinámicas de tus cargas de trabajo y entornos.

Recomendaciones

Para optimizar de manera eficaz el uso de los recursos de la nube, considera las siguientes recomendaciones.

Elige recursos específicos del entorno

Cada entorno de implementación tiene diferentes requisitos de disponibilidad, confiabilidad y escalabilidad. Por ejemplo, los desarrolladores podrían preferir un entorno que les permita implementar y ejecutar aplicaciones rápidamente durante períodos cortos, pero tal vez no necesiten alta disponibilidad. Por otro lado, un entorno de producción suele necesitar alta disponibilidad. Para maximizar el uso de tus recursos, define requisitos específicos del entorno según las necesidades de tu empresa. En la siguiente tabla, se enumeran ejemplos de requisitos específicos del entorno.

Entorno Requisitos
Producción
  • Alta disponibilidad
  • Rendimiento predecible
  • Estabilidad operativa
  • Seguridad con recursos sólidos
Desarrollo y pruebas
  • Rentabilidad
  • Infraestructura flexible con capacidad de ráfaga
  • Infraestructura efímera cuando no es necesaria la persistencia de los datos
Otros entornos (como los de almacenamiento temporal y control de calidad)
  • Asignación de recursos personalizada según los requisitos específicos del entorno

Elige recursos específicos de la carga de trabajo

Cada una de tus cargas de trabajo en la nube puede tener diferentes requisitos de disponibilidad, escalabilidad, seguridad y rendimiento. Para optimizar los costos, debes alinear las opciones de recursos con los requisitos específicos de cada carga de trabajo. Por ejemplo, una aplicación sin estado podría no requerir el mismo nivel de disponibilidad o confiabilidad que un backend con estado. En la siguiente tabla, se enumeran más ejemplos de requisitos específicos de la carga de trabajo.

Tipo de carga de trabajo Requisitos de la carga de trabajo Opciones de recursos
Servicio crítico Disponibilidad continua, seguridad sólida y alto rendimiento Recursos premium y servicios administrados, como Spanner, para lograr alta disponibilidad y coherencia global de los datos
No importantes Infraestructura rentable y con ajuste de escala automático Recursos con funciones básicas y recursos efímeros, como las VMs Spot.
Basada en eventos Escalamiento dinámico basado en la demanda actual de capacidad y rendimiento Servicios sin servidores, como Cloud Run y Cloud Run functions.
Cargas de trabajo experimentales Entorno flexible y de bajo costo para el desarrollo, la iteración, las pruebas y la innovación rápidos Recursos con funciones básicas, recursos efímeros como las VMs Spot y entornos de zona de pruebas con límites de inversión definidos

Un beneficio de la nube es la oportunidad de aprovechar la potencia de procesamiento más adecuada para una carga de trabajo determinada. Algunas cargas de trabajo se desarrollan para aprovechar los conjuntos de instrucciones del procesador, mientras que otras no se diseñan de esta manera. Realiza pruebas comparativas y crea perfiles de tus cargas de trabajo según corresponda. Categoriza tus cargas de trabajo y toma decisiones sobre los recursos específicos para cada carga de trabajo (por ejemplo, elige las familias de máquinas adecuadas para las VMs de Compute Engine). Esta práctica ayuda a optimizar los costos, habilitar la innovación y mantener el nivel de disponibilidad y rendimiento que necesitan tus cargas de trabajo.

A continuación, se incluyen ejemplos de cómo puedes implementar esta recomendación:

  • Para las cargas de trabajo fundamentales que atienden a usuarios distribuidos a nivel mundial, considera usar Spanner. Spanner elimina la necesidad de implementaciones complejas de bases de datos, ya que garantiza la confiabilidad y la coherencia de los datos en todas las regiones.
  • Para las cargas de trabajo con niveles de carga fluctuantes, usa el ajuste de escala automático para asegurarte de no incurrir en costos cuando la carga sea baja y, al mismo tiempo, mantener la capacidad suficiente para satisfacer la carga actual. Puedes configurar el ajuste de escala automático para muchosGoogle Cloud servicios, incluidas las VM de Compute Engine, los clústeres de Google Kubernetes Engine (GKE) y Cloud Run. Cuando configuras el ajuste de escala automático, puedes establecer límites máximos de ajuste de escala para garantizar que los costos se mantengan dentro de los presupuestos especificados.

Selecciona regiones según los requisitos de costos

Para tus cargas de trabajo en la nube, evalúa cuidadosamente las regiones Google Clouddisponibles y elige las que se alineen con tus objetivos de costos. Es posible que la región con el costo más bajo no ofrezca una latencia óptima o que no cumpla con tus requisitos de sustentabilidad. Toma decisiones fundamentadas sobre dónde implementar tus cargas de trabajo para lograr el equilibrio deseado. Puedes usar el Google Cloud Selector de regiones para comprender las compensaciones entre el costo, la sustentabilidad, la latencia y otros factores.

Usa las opciones integradas de optimización de costos

Los productos deGoogle Cloud proporcionan funciones integradas para ayudarte a optimizar el uso de recursos y controlar los costos. En la siguiente tabla, se enumeran ejemplos de funciones de optimización de costos que puedes usar en algunos productos de Google Cloud :

Producto Función de optimización de costos
Compute Engine
GKE
Cloud Storage
  • Realiza automáticamente la transición de los datos a clases de almacenamiento de menor costo según la antigüedad de los datos o los patrones de acceso con la Administración del ciclo de vida de los objetos.
  • Mueve datos de forma dinámica a la clase de almacenamiento más rentable según los patrones de uso con Autoclass.
BigQuery
  • Reduce los costos de procesamiento de consultas para las cargas de trabajo en estado estable con los precios basados en la capacidad.
  • Optimiza el rendimiento y los costos de las consultas con técnicas de partición y agrupamiento en clústeres.
Google Cloud VMware Engine

Optimiza el uso compartido de recursos

Para maximizar el uso de los recursos de la nube, puedes implementar varias aplicaciones o servicios en la misma infraestructura y, al mismo tiempo, cumplir con los requisitos de seguridad y otros requisitos de las aplicaciones. Por ejemplo, en los entornos de desarrollo y pruebas, puedes usar la misma infraestructura de nube para probar todos los componentes de una aplicación. En el entorno de producción, puedes implementar cada componente en un conjunto de recursos independiente para limitar el alcance del impacto en caso de incidentes.

A continuación, se incluyen ejemplos de cómo puedes implementar esta recomendación:

  • Usa una sola instancia de Cloud SQL para varios entornos que no sean de producción.
  • Permite que varios equipos de desarrollo compartan un clúster de GKE con la función de administración de equipos de la flota en GKE Enterprise con los controles de acceso adecuados.
  • Usa GKE Autopilot para aprovechar las técnicas de optimización de costos, como el empaquetado de contenedores y el ajuste de escala automático, que GKE implementa de forma predeterminada.
  • Para las cargas de trabajo de IA y AA, ahorra costos de GPU con estrategias de uso compartido de GPU, como las GPU de varias instancias, las GPU de uso compartido de tiempo y NVIDIA MPS.

Desarrollar y mantener arquitecturas de referencia

Crea y mantén un repositorio de arquitecturas de referencia que se adapten para cumplir con los requisitos de diferentes entornos de implementación y tipos de cargas de trabajo. Para optimizar el proceso de diseño e implementación de proyectos individuales, un equipo, como un Centro de excelencia en la nube (CCoE), puede administrar los planos de forma centralizada. Los equipos de proyectos pueden elegir planos adecuados según criterios claramente definidos para garantizar la coherencia arquitectónica y la adopción de prácticas recomendadas. Para los requisitos que son únicos para un proyecto, el equipo del proyecto y el equipo central de arquitectura deben colaborar para diseñar nuevas arquitecturas de referencia. Puedes compartir las arquitecturas de referencia en toda la organización para fomentar el intercambio de conocimientos y expandir el repositorio de soluciones disponibles. Este enfoque garantiza la coherencia, acelera el desarrollo, simplifica la toma de decisiones y promueve el uso eficiente de los recursos.

Revisa las arquitecturas de referencia que proporciona Google para diversos casos de uso y tecnologías. Estas arquitecturas de referencia incorporan prácticas recomendadas para la selección, el dimensionamiento, la configuración y la implementación de recursos. Con estas arquitecturas de referencia, puedes acelerar tu proceso de desarrollo y ahorrar costos desde el principio.

Aplica la disciplina de costos con políticas de la organización

Considera usar políticas de la organización para limitar las ubicaciones y los productos disponibles que pueden usar los miembros del equipo. Google Cloud Estas políticas ayudan a garantizar que los equipos se adhieran a soluciones rentables y aprovisionen recursos en ubicaciones que se alineen con tus objetivos de optimización de costos.

Estima presupuestos realistas y establece límites financieros

Desarrollar presupuestos detallados para cada proyecto, carga de trabajo y entorno de implementación Asegúrate de que los presupuestos cubran todos los aspectos de las operaciones en la nube, incluidos los costos de infraestructura, las licencias de software, el personal y el crecimiento previsto. Para evitar gastos excesivos y garantizar la alineación con tus objetivos financieros, establece límites o umbrales de gasto claros para proyectos, servicios o recursos específicos. Supervisa periódicamente los gastos en la nube en relación con estos límites. Puedes usar las alertas de cuota proactivas para identificar posibles excesos de costos de forma anticipada y tomar medidas correctivas oportunas.

Además de establecer presupuestos, puedes usar cuotas y límites para aplicar la disciplina de costos y evitar aumentos inesperados en la inversión. Puedes ejercer un control detallado sobre el consumo de recursos estableciendo cuotas en varios niveles, incluidos proyectos, servicios y hasta tipos de recursos específicos.

A continuación, se incluyen ejemplos de cómo puedes implementar esta recomendación:

  • Cuotas a nivel del proyecto: Establece límites de gasto o cuotas de recursos a nivel del proyecto para establecer límites financieros generales y controlar el consumo de recursos en todos los servicios del proyecto.
  • Cuotas específicas del servicio: Configura cuotas para servicios específicos de Google Cloud, como Compute Engine o BigQuery, para limitar la cantidad de instancias, CPU o capacidad de almacenamiento que se pueden aprovisionar.
  • Cuotas específicas del tipo de recurso: Aplica cuotas a tipos de recursos individuales, como VMs de Compute Engine, buckets de Cloud Storage, instancias de Cloud Run o nodos de GKE, para restringir su uso y evitar aumentos inesperados de costos.
  • Alertas de cuota: Recibe notificaciones cuando el uso de la cuota (a nivel del proyecto) alcance un porcentaje del valor máximo.

Si usas cuotas y límites junto con la supervisión y la elaboración de presupuestos, puedes crear un enfoque proactivo y de varias capas para controlar los costos. Este enfoque ayuda a garantizar que tus gastos en la nube permanezcan dentro de los límites definidos y se alineen con tus objetivos comerciales. Recuerda que estos controles de costos no son permanentes ni rígidos. Para garantizar que los controles de costos sigan alineados con los estándares actuales de la industria y reflejen las necesidades cambiantes de tu empresa, debes revisar los controles periódicamente y ajustarlos para incluir nuevas tecnologías y prácticas recomendadas.

Optimización continua

Este principio del pilar de optimización de costos del Google Cloud Well-Architected Framework 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 inversión en la nube, debes mantener la eficiencia en los costos y, al mismo tiempo, seguir respaldando los objetivos comerciales. Esto requiere un enfoque proactivo y adaptativo 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 satisfacer los requisitos actuales. Enfoca tus esfuerzos de supervisión en los indicadores clave de rendimiento (KPI) que afectan directamente la experiencia de tus 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 continuamente 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 los recursos y utiliza estrategias adecuadas de optimización y mejora de procesos.

Recomendaciones

Para supervisar tu entorno de Google Cloud manera eficaz y optimizar los costos de forma continua, ten en cuenta las siguientes recomendaciones.

Enfócate en las métricas pertinentes 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 la base de 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, 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 porcentajes de error aceptable ayudan a los equipos a cuantificar y administrar el nivel aceptable de interrupción del servicio. Al establecer expectativas claras de confiabilidad, los porcentajes de error aceptable permiten que los equipos innoven y realicen 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 y, así, identificar los cuellos de botella y los recursos subutilizados en tus implementaciones en la nube:

  • Supervisa el uso de recursos: Usa métricas de uso de recursos para identificar los recursosGoogle Cloud que no se utilizan lo suficiente. Por ejemplo, usa métricas como el uso de CPU y memoria para identificar los recursos de VM inactivos. 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 del tamaño correcto de ESXi.
  • Usa 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 sustentabilidad. Por ejemplo, las estadísticas sobre el ajuste del tamaño de las VMs pueden ayudarte 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 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 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 las opciones que se alineen con las necesidades específicas, el presupuesto y los patrones de uso de tu proyecto. Cuando elijas, ten en cuenta factores como el volumen de datos, los requisitos de retención y las funciones necesarias.
  • Revisa periódicamente tu configuración de supervisión: Evita recopilar datos excesivos quitando métricas o registros innecesarios.

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íficos de los diferentes roles. Por ejemplo, es posible que los desarrolladores necesiten principalmente acceso a los registros de seguimiento y a los registros a nivel de la aplicación, mientras que los administradores de TI podrían 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, 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 de cumplimiento y reglamentarios

En ciertos 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 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 mantiene informado y uno que te abruma con notificaciones. Si diseñas sistemas de alertas inteligentes, puedes priorizar los problemas críticos que tienen un mayor impacto en la empresa. 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 problemas temporales: Usa umbrales y mecanismos de demora adecuados para evitar alertas innecesarias por problemas temporales o problemas del sistema que se solucionan automáticamente y 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 notificación con prudencia: Elige los canales adecuados para las notificaciones de alerta (correo electrónico, SMS o buscapersonas) según la gravedad y la urgencia de las alertas.