El pilar de optimización de costes del Google Cloud marco de trabajo Well-Architected describe los principios y las recomendaciones para optimizar el coste de tus cargas de trabajo en Google Cloud.
La audiencia objetivo incluye lo siguiente:
- Directores de tecnología, directores de sistemas de información, directores financieros y otros ejecutivos responsables de la gestión estratégica de costes.
- Arquitectos, desarrolladores, administradores y operadores que toman decisiones que afectan al coste en todas las fases del proceso de adopción de la nube de una organización.
Los modelos de costes de las cargas de trabajo locales y en la nube son muy diferentes. Los costes de TI locales incluyen los gastos de capital (CapEx) y los gastos operativos (OpEx). Los activos de hardware y software on-premise se adquieren y los costes de adquisición se amortizan durante la vida útil de los activos. En la nube, los costes de la mayoría de los recursos en la nube se consideran gastos operativos, que se incurren 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 costes.
Para consultar los principios y las recomendaciones de optimización de costes específicos de las cargas de trabajo de IA y aprendizaje automático, consulta el artículo Perspectiva de IA y aprendizaje automático: optimización de costes del framework Well-Architected.
Principios básicos
Las recomendaciones del pilar de optimización de costes del framework Well-Architected se corresponden con los siguientes principios básicos:
- Alinear el gasto en la nube con el valor empresarial: asegúrate de que tus recursos en la nube aporten un valor empresarial medible alineando el gasto en TI con los objetivos de negocio.
- Fomenta una cultura de concienciación sobre los costes: asegúrate de que los miembros de tu organización tengan en cuenta el impacto de sus decisiones y actividades en los costes, y de que tengan acceso a la información sobre los costes que necesitan para tomar decisiones fundamentadas.
- Optimizar el uso de recursos: aprovisiona solo los recursos que necesites y paga únicamente por los recursos que consumas.
- Optimiza continuamente: monitoriza continuamente el uso y los costes de tus recursos en la nube y haz ajustes de forma proactiva según sea necesario para optimizar tu inversión. Este enfoque consiste en identificar y abordar las posibles ineficiencias de costes antes de que se conviertan en problemas importantes.
Estos principios se ajustan a los pilares fundamentales de Cloud FinOps. FinOps es relevante para cualquier organización, independientemente de su tamaño o madurez en la nube. Si adoptas estos principios y sigues las recomendaciones relacionadas, podrás controlar y optimizar los costes a lo largo de tu recorrido en la nube.
Colaboradores
Autor: Nicolas Pintaux | Ingeniero de clientes y especialista en modernización de aplicaciones
Otros colaboradores:
- Anuradha Bajpai | Arquitecta de soluciones
- Daniel Lees | Arquitecto de seguridad en la nube
- Eric Lam | Jefe de Google Cloud FinOps
- Fernando Rubbo | Arquitecto de soluciones en la nube
- Filipe Gracio, doctor | Ingeniero de clientes y especialista en IA y aprendizaje automático
- Gary Harmson | Arquitecto principal
- Jose Andrade | Ingeniero de clientes, especialista en SRE
- Kent Hua | Solutions Manager
- Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de clientes de partners
- Radhika Kanakam | Responsable del programa Google Cloud Well-Architected Framework
- Samantha He | Redactora técnica
- Steve McGhee | Defensor de la fiabilidad
- Sergei Lilichenko | Arquitecto de soluciones
- Wade Holmes | Director de Soluciones Globales
- Zach Seils | Especialista en redes
Alinear el gasto en la nube con el valor empresarial
Este principio del pilar de optimización de costes del Google Cloud framework Well-Architected proporciona recomendaciones para alinear el uso de Google Cloud recursos con los objetivos de negocio de tu organización.
Descripción general de los principios
Para gestionar los costes de la nube de forma eficaz, debe maximizar el valor empresarial que proporcionan los recursos de la nube y minimizar el coste 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 coste de aprovisionar y usar los recursos, sino también el coste de gestionarlos. Por ejemplo, las máquinas virtuales (VMs) de Compute Engine pueden ser una opción rentable para alojar aplicaciones. Sin embargo, si tienes en cuenta los costes indirectos de mantener, parchear y escalar las VMs, el coste total de propiedad puede aumentar. Por otro lado, los servicios sin servidor, como Cloud Run, pueden ofrecer un mayor valor empresarial. La menor sobrecarga operativa permite que tu equipo se centre en las actividades principales y ayuda a aumentar la agilidad.
Para asegurarte de que tus recursos en la nube ofrecen un valor óptimo, evalúa los siguientes factores:
- Costes de aprovisionamiento y uso: los gastos incurridos al comprar, aprovisionar o consumir recursos.
- Costes de gestión: los gastos recurrentes de funcionamiento y mantenimiento de los recursos, incluidas tareas como la aplicación de parches, la monitorización y el escalado.
- Costes indirectos: los costes en los que puedes incurrir para gestionar problemas como el tiempo de inactividad, la pérdida de datos o las brechas de seguridad.
- Impacto en la empresa: los posibles beneficios de los recursos, como el aumento de los ingresos, la mejora de la satisfacción de los clientes y la reducción del tiempo de lanzamiento.
Al alinear el gasto en la nube con el valor empresarial, obtendrá las siguientes ventajas:
- Decisiones basadas en el valor: se anima a tus equipos a priorizar las soluciones que aporten el mayor valor empresarial y a tener en cuenta las implicaciones de los costes a corto y largo plazo.
- Elección de recursos informada: tus equipos tienen la información y los conocimientos que necesitan para evaluar el valor empresarial y el coste total de propiedad de las distintas opciones de implementación, por lo que eligen recursos rentables.
- Alineación entre equipos: la colaboración multifuncional entre los equipos de negocio, finanzas y técnicos asegura que las decisiones sobre la nube se ajusten a los objetivos generales de la organización.
Recomendaciones
Para alinear el gasto en la nube con los objetivos de negocio, tenga en cuenta las siguientes recomendaciones.
Priorizar los servicios gestionados y los productos sin servidor
Siempre que sea posible, elige servicios gestionados y productos sin servidor para reducir la sobrecarga operativa y los costes de mantenimiento. De esta forma, tus equipos pueden centrarse en sus actividades empresariales principales. Pueden acelerar la entrega de nuevas funciones y características, así como impulsar la innovación y el valor.
A continuación se muestran ejemplos de cómo puedes implementar esta recomendación:
- Para ejecutar bases de datos de servidor PostgreSQL, MySQL o Microsoft SQL Server, usa Cloud SQL en lugar de implementar esas bases de datos en máquinas virtuales.
- Para ejecutar y gestionar clústeres de Kubernetes, usa Autopilot de Google Kubernetes Engine (GKE) en lugar de desplegar contenedores en máquinas virtuales.
- Para tus necesidades de procesamiento de Apache Hadoop o Apache Spark, usa Dataproc y Dataproc sin servidor. La facturación por segundo puede ayudar a conseguir un coste total de propiedad mucho menor en comparación con los lagos de datos on‐premise.
Equilibra la rentabilidad con la agilidad empresarial
Controlar los costes y optimizar el uso de los recursos son objetivos importantes. Sin embargo, debes equilibrar estos objetivos con la necesidad de una infraestructura flexible que te permita innovar rápidamente, responder a los cambios con agilidad y ofrecer valor más rápido. A continuación, se muestran ejemplos de cómo puedes conseguir este equilibrio:
- Adopta las métricas de DORA para medir el rendimiento del envío de software. Métricas como el índice de fallos por cambios (CFR), el tiempo de detección (TTD) y el tiempo de restauración (TTR) pueden ayudarte a identificar y corregir los cuellos de botella en tus procesos de desarrollo y despliegue. Si reduces el tiempo de inactividad y aceleras la entrega, podrás conseguir eficiencia operativa y agilidad empresarial.
- Sigue las prácticas de Site Reliability Engineering (SRE) para mejorar la fiabilidad operativa. El enfoque de los ingenieros de fiabilidad de sitios en la automatización, la observabilidad y la respuesta a incidentes puede reducir el tiempo de inactividad, acortar el tiempo de recuperación y aumentar la satisfacción de los clientes. Al minimizar el tiempo de inactividad y mejorar la fiabilidad operativa, puedes evitar la pérdida de ingresos y la necesidad de aprovisionar recursos en exceso como medida de seguridad para hacer frente a las interrupciones.
Habilitar la optimización de autoservicio
Fomenta una cultura de experimentación y exploración proporcionando a tus equipos herramientas de optimización de costes de autoservicio, herramientas de observabilidad y plataformas de gestión de recursos. Permiten aprovisionar, gestionar y optimizar sus recursos en la nube de forma autónoma. Este enfoque ayuda a fomentar la sensación de propiedad, acelerar la innovación y asegurar que los equipos puedan responder rápidamente a las necesidades cambiantes, sin perder de vista la eficiencia de los costes.
Adopta e implementar FinOps
Adopta FinOps para crear un entorno colaborativo en el que todos puedan tomar decisiones fundamentadas que equilibren los costes y el valor. FinOps fomenta la responsabilidad financiera y promueve la optimización de costes eficaz en la nube.
Promueve una mentalidad basada en el valor y en el coste total de propiedad
Anima a los miembros de tu equipo a que adopten una actitud integral con respecto al gasto en la nube, centrándose en el coste total de propiedad y no solo en los costes iniciales. Usa técnicas como la cartografía de flujo de valor para visualizar y analizar el flujo de valor a través de tu proceso de entrega de software, así como para identificar áreas de mejora. Implementa el coste unitario en tus aplicaciones y servicios para conocer en detalle los factores que influyen en los costes y descubrir oportunidades de optimización. Para obtener más información, consulta el artículo Maximiza el valor empresarial con Cloud FinOps.
Fomentar una cultura de concienciación sobre los costes
Este principio del pilar de optimización de costes del Google Cloud marco de trabajo Well-Architected ofrece recomendaciones para fomentar la concienciación sobre los costes en toda la organización y asegurarse de que los miembros del equipo tengan la información que necesitan para tomar decisiones fundamentadas.
Por lo general, la responsabilidad de la gestión de costes puede centralizarse en unos pocos participantes seleccionados y centrarse principalmente en las decisiones iniciales sobre la arquitectura del proyecto. Sin embargo, los miembros del equipo con todos los roles de usuario de la nube (analista, arquitecto, desarrollador o administrador) pueden ayudarte a reducir el coste de tus recursos enGoogle Cloud. Si compartes los datos de costes de forma adecuada, puedes permitir que los miembros del equipo tomen decisiones rentables a lo largo de los procesos de desarrollo e implementación.
Descripción general de los principios
Los colaboradores de distintos puestos (propietarios de productos, desarrolladores, ingenieros de implementación, administradores y analistas financieros) necesitan tener visibilidad de los datos de costes relevantes y de su relación con el valor empresarial. Cuando aprovisionan y gestionan recursos en la nube, necesitan los siguientes datos:
- Costes de recursos previstos: estimaciones de costes en el momento del diseño y la implementación.
- Costes de uso de recursos en tiempo real: datos de costes actualizados que se pueden usar para la monitorización continua y la validación del presupuesto.
- Costes asignados a métricas empresariales: información valiosa sobre cómo afectan los gastos en la nube a los indicadores clave de rendimiento, lo que permite a los equipos identificar estrategias rentables.
No todos los usuarios necesitan acceder a los datos de costes sin procesar. Sin embargo, es fundamental fomentar la concienciación sobre los costes en todos los roles, ya que las decisiones individuales pueden afectar a los costes.
Al promover la visibilidad de los costes y asegurar una clara responsabilidad de las prácticas de gestión de costes, te aseguras de que todos los miembros de la organización sean conscientes de las implicaciones financieras de sus decisiones y contribuyan activamente a los objetivos de optimización de costes de la organización. Ya sea a través de un equipo de FinOps centralizado o de un modelo distribuido, establecer la responsabilidad es fundamental para que las iniciativas de optimización de costes sean eficaces.
Recomendaciones
Para fomentar la concienciación sobre los costes y asegurarte de que los miembros de tu equipo tienen la información que necesitan para tomar decisiones fundamentadas, ten en cuenta las siguientes recomendaciones.
Proporcionar visibilidad de los costes en toda la organización
Para conseguir que los costes sean visibles en toda la organización, los equipos responsables de la gestión de costes pueden tomar las siguientes medidas:
- Estandariza el cálculo de costes y la elaboración de presupuestos: utiliza un método coherente para determinar los costes totales de los recursos de la nube, después de tener en cuenta los descuentos y los costes compartidos. Establece procesos de elaboración de presupuestos claros y estandarizados que se ajusten a los objetivos de tu organización y permitan una gestión de costes proactiva.
- Usa herramientas estandarizadas de gestión y visibilidad de costes: utiliza las herramientas adecuadas que proporcionen estadísticas en tiempo real sobre el gasto en la nube y generen resúmenes periódicos (por ejemplo, semanales) de la evolución de los costes. Estas herramientas permiten presupuestar y hacer previsiones de forma proactiva, así como identificar oportunidades de optimización. Estas herramientas pueden ser las que ofrece el proveedor de servicios en la nube (como el panel de control de facturación de Google Cloud), soluciones de terceros o soluciones de código abierto, como la solución de atribución de costes.
- Implementar un sistema de asignación de costes: asigna una parte del presupuesto general de la nube a cada equipo o proyecto. Esta asignación permite que los equipos se sientan responsables del gasto en la nube y les anima a tomar decisiones rentables dentro del presupuesto asignado.
- Promueve la transparencia: anima a los equipos a hablar de las implicaciones económicas 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 costes. Algunas organizaciones utilizan mecanismos de refuerzo positivo, como tablas de clasificación o programas de reconocimiento. Si tu organización tiene restricciones para compartir datos de costes brutos debido a problemas empresariales, busca alternativas para compartir información y estadísticas de costes. Por ejemplo, puede compartir métricas agregadas (como el coste total de un entorno o una función) o métricas relativas (como el coste medio por transacción o usuario).
Información sobre la facturación de los recursos en la nube
Los precios de los recursos Google Cloud pueden variar según las regiones. Algunos recursos se facturan mensualmente a un precio fijo, mientras que otros se pueden facturar en función del uso. Para saber cómo se facturan los recursos de Google Cloud , usa la Google Cloud calculadora de precios y la información de precios específica de cada producto (por ejemplo, los precios de Google Kubernetes Engine (GKE)).
Conocer las opciones de optimización de costes basadas en recursos
Por cada tipo de recurso en la nube que quieras usar, explora estrategias para optimizar la utilización y la eficiencia. Las estrategias incluyen el ajuste de tamaño, el autoescalado y la adopción de tecnologías sin servidor cuando sea apropiado. A continuación, se muestran ejemplos de opciones de optimización de costes para algunos productos de Google Cloud :
- Cloud Run te permite configurar CPUs asignadas siempre para gestionar cargas de tráfico predecibles por 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 costes.
- Consulta cómo pueden afectar los precios de la red al coste de las transferencias de datos y cómo puedes optimizar los costes de servicios de redes específicos. Por ejemplo, puedes reducir los costes de transferencia de datos de los balanceadores de carga de aplicaciones externos usando Cloud CDN o Google Cloud Armor. Para obtener más información, consulta Formas de reducir los costes del balanceador de carga de aplicación externo.
Conocer las opciones de optimización de costes basadas en descuentos
Familiarízate con los programas de descuentos que ofrece Google Cloud , como los siguientes ejemplos:
- Descuentos por compromiso de uso (CUDs): Los CUDs son adecuados para recursos con un uso predecible y constante. Los CUDs te permiten obtener reducciones de precio significativas a cambio de comprometerte a usar recursos específicos durante un periodo (normalmente, de uno a tres años). También puedes usar la renovación automática de CUD para no tener que volver a comprar compromisos manualmente cuando caduquen.
- Descuentos por uso continuado: en determinados Google Cloud productos, como Compute Engine y GKE, puedes obtener créditos de descuento automáticos tras usar recursos de forma continua durante más tiempo del umbral específico.
- Máquinas virtuales Spot: las máquinas virtuales Spot pueden ayudarte a reducir los costes de Compute Engine en las cargas de trabajo tolerantes a fallos y flexibles. El coste de las máquinas virtuales de acceso puntual es significativamente inferior al de las máquinas virtuales normales. Sin embargo, Compute Engine puede detener o eliminar de forma preventiva las Spot VMs para recuperar capacidad. Las máquinas virtuales de acceso puntual son adecuadas para tareas por lotes que pueden tolerar la expropiación y no tienen requisitos de alta disponibilidad.
- Descuentos en opciones de productos específicas: algunos servicios gestionados, como BigQuery, ofrecen descuentos cuando compras capacidad de procesamiento de consultas específica o con escalado automático.
Evalúa y elige las opciones de descuento que se ajusten a las características de tu carga de trabajo y a tus patrones de uso.
Incorporar estimaciones de costes en los planos de arquitectura
Anima a los equipos a desarrollar planos de arquitectura que incluyan estimaciones de costes para diferentes opciones y configuraciones de implementación. Esta práctica permite a los equipos comparar los costes de forma proactiva y tomar decisiones fundamentadas que se ajusten a los objetivos técnicos y financieros.
Utiliza un conjunto de etiquetas coherente y estándar para todos tus recursos
Puedes usar etiquetas para hacer un seguimiento de los costes, así como para identificar y clasificar los recursos. En concreto, puede usar etiquetas para asignar costes a diferentes proyectos, departamentos o centros de costes. Definir una política de etiquetado formal que se ajuste a las necesidades de los principales participantes de tu organización ayuda a que los costes sean más visibles. También puede usar etiquetas para filtrar los datos de costes y uso de los recursos en función de la audiencia objetivo.
Usa herramientas de automatización como Terraform para aplicar etiquetas a todos los recursos que se creen. Para mejorar aún más la visibilidad y la atribución de los costes, puedes usar las herramientas que proporciona la solución de atribución de costes de código abierto.
Compartir informes de costes con miembros del equipo
Al compartir informes de costes con los miembros de tu equipo, les das la oportunidad de responsabilizarse de su gasto en la nube. Esta práctica permite tomar decisiones rentables, optimizar los costes de forma continua y mejorar sistemáticamente el modelo de asignación de costes.
Los informes de costes pueden ser de varios tipos, entre los que se incluyen los siguientes:
- Informes de costes periódicos: los informes periódicos informan a los equipos sobre su gasto en la nube. Por lo general, estos informes se exportan a hojas de cálculo. Entre los métodos más eficaces se incluyen los correos automatizados y los paneles de control especializados. Para que los informes de costes proporcionen información relevante y útil sin abrumar a los destinatarios con detalles innecesarios, deben adaptarse a las audiencias objetivo. Configurar informes personalizados es un paso fundamental para disfrutar de una visibilidad y una gestión de los costes más interactivas y en tiempo real.
- Notificaciones automatizadas: puede configurar informes de costes para notificar de forma proactiva a las partes interesadas pertinentes (por ejemplo, por correo o chat) sobre anomalías en los costes, umbrales de presupuesto u oportunidades de optimización de costes. Al proporcionar información oportuna directamente a quienes pueden tomar medidas, las alertas automatizadas fomentan una actuación rápida y un enfoque proactivo para optimizar los costes.
- Google Cloud Paneles de control: puedes usar los paneles de control de facturación integrados en Google Cloud para obtener estadísticas sobre los desgloses de costes e identificar oportunidades de optimización de costes. Google Cloud también ofrece FinOps Hub para ayudarte a monitorizar los ahorros y obtener recomendaciones de optimización de costes. Un motor de IA impulsa el centro de FinOps para recomendar oportunidades de optimización de costes para todos los recursos que se han implementado. Para controlar el acceso a estas recomendaciones, puedes implementar el control de acceso basado en roles (RBAC).
- Paneles de control personalizados: puedes crear paneles de control personalizados exportando datos de costes a una base de datos de analíticas, como BigQuery. Usa una herramienta de visualización como Looker Studio para conectarte a la base de datos de analíticas, crear informes interactivos y habilitar un control de acceso detallado mediante permisos basados en roles.
- Informes de costes multinube: en las implementaciones multinube, necesitas una vista unificada de los costes de todos los proveedores de servicios en la nube para poder llevar a cabo análisis, presupuestos y optimizaciones exhaustivos. Usa herramientas como BigQuery para centralizar y analizar los datos de costes de varios proveedores de servicios en la nube, y usa Looker Studio para crear informes interactivos específicos para cada equipo.
Optimizar el uso de los recursos
Este principio del pilar de optimización de costes del Google Cloud framework Well-Architected ofrece recomendaciones para ayudarte a planificar y aprovisionar recursos que se ajusten a los requisitos y a los patrones de consumo de tus cargas de trabajo en la nube.
Descripción general de los principios
Para optimizar el coste de tus recursos de la nube, debes conocer 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 costes bien definido que te permite predecir el coste total de propiedad (CTP) e identificar los factores que influyen en los costes a lo largo de tu proceso de adopción de la nube. Si analizas y pronosticas de forma proactiva el gasto en la nube, podrás tomar decisiones fundamentadas sobre el aprovisionamiento, la utilización y la optimización de costes de los recursos. Este enfoque te permite controlar el gasto en la nube, evitar el aprovisionamiento excesivo y asegurarte de que los recursos de la nube se ajustan a las necesidades dinámicas de tus cargas de trabajo y entornos.
Recomendaciones
Para optimizar el uso de los recursos en la nube de forma eficaz, tenga en cuenta las siguientes recomendaciones.
Elegir recursos específicos del entorno
Cada entorno de implementación tiene requisitos diferentes en cuanto a disponibilidad, fiabilidad y escalabilidad. Por ejemplo, los desarrolladores pueden preferir un entorno que les permita desplegar y ejecutar aplicaciones rápidamente durante periodos breves, pero que no necesite una alta disponibilidad. Por otro lado, un entorno de producción suele necesitar una alta disponibilidad. Para maximizar la utilización de tus recursos, define requisitos específicos del entorno en función de las necesidades de tu empresa. En la siguiente tabla se muestran ejemplos de requisitos específicos de cada entorno.
Entorno | Requisitos |
Producción |
|
Desarrollo y pruebas |
|
Otros entornos (como los de preproducción y control de calidad) |
|
Elegir recursos específicos de la carga de trabajo
Cada una de tus cargas de trabajo en la nube puede tener requisitos diferentes en cuanto a disponibilidad, escalabilidad, seguridad y rendimiento. Para optimizar los costes, debe alinear las opciones de recursos con los requisitos específicos de cada carga de trabajo. Por ejemplo, una aplicación sin estado puede que no requiera el mismo nivel de disponibilidad o fiabilidad que un backend con estado. En la siguiente tabla se muestran más ejemplos de requisitos específicos de las cargas de trabajo.
Tipo de carga de trabajo | Requisitos de carga de trabajo | Opciones de recursos |
Esenciales | Disponibilidad continua, seguridad sólida y alto rendimiento | Recursos premium y servicios gestionados como Spanner para ofrecer alta disponibilidad y coherencia global de los datos. |
No prioritaria | Infraestructura rentable y con autoescalado | Recursos con funciones básicas y recursos efímeros, como las máquinas virtuales de acceso puntual. |
Basado en eventos | Escalado dinámico en función de la demanda actual de capacidad y rendimiento | Servicios sin servidor como Cloud Run y Cloud Run Functions. |
Cargas de trabajo experimentales | Entorno flexible y de bajo coste para el desarrollo, la iteración, las pruebas y la innovación rápidos | Recursos con funciones básicas, recursos efímeros como máquinas virtuales de acceso puntual y entornos de pruebas con límites de gasto definidos. |
Una de las ventajas de la nube es la oportunidad de aprovechar la potencia de computación 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 forma. Realiza pruebas comparativas y crea perfiles de tus cargas de trabajo en consecuencia. Categoriza tus cargas de trabajo y elige recursos específicos para cada una (por ejemplo, elige las familias de máquinas adecuadas para las VMs de Compute Engine). Esta práctica ayuda a optimizar los costes, fomentar la innovación y mantener el nivel de disponibilidad y rendimiento que necesitan tus cargas de trabajo.
A continuación se muestran ejemplos de cómo puedes implementar esta recomendación:
- Para las cargas de trabajo esenciales que atienden a usuarios distribuidos por todo el mundo, considera la posibilidad de usar Spanner. Spanner elimina la necesidad de realizar implementaciones de bases de datos complejas, ya que garantiza la fiabilidad y la coherencia de los datos en todas las regiones.
- En el caso de las cargas de trabajo con niveles de carga fluctuantes, usa el autoescalado para asegurarte de que no incurres en costes cuando la carga es baja y, al mismo tiempo, mantienes la capacidad suficiente para satisfacer la carga actual. Puedes configurar el escalado automático para muchosGoogle Cloud servicios, como máquinas virtuales de Compute Engine, clústeres de Google Kubernetes Engine (GKE) y Cloud Run. Cuando configuras el escalado automático, puedes definir límites máximos de escalado para asegurarte de que los costes no superen los presupuestos especificados.
Selecciona las regiones en función de los requisitos de costes
En el caso de tus cargas de trabajo en la nube, evalúa detenidamente las Google Cloud regiones disponibles y elige las que se ajusten a tus objetivos de costes. La región con el coste más bajo puede que no ofrezca una latencia óptima o que no cumpla tus requisitos de sostenibilidad. Toma decisiones fundamentadas sobre dónde implementar tus cargas de trabajo para conseguir el equilibrio deseado. Puedes usar la Google Cloud herramienta para seleccionar la región para conocer las ventajas y desventajas de los costes, la sostenibilidad, la latencia y otros factores.
Usar las opciones de optimización de costes integradas
LosGoogle Cloud productos ofrecen funciones integradas para ayudarte a optimizar el uso de los recursos y controlar los costes. En la siguiente tabla se muestran ejemplos de funciones de optimización de costes que puedes usar en algunos productos de Google Cloud :
Producto | Función de optimización de costes |
Compute Engine |
|
GKE |
|
Cloud Storage |
|
BigQuery |
|
VMware Engine de Google Cloud |
|
Optimizar el uso compartido de recursos
Para maximizar la utilización de los recursos en la nube, puedes desplegar varias aplicaciones o servicios en la misma infraestructura y, al mismo tiempo, cumplir los requisitos de seguridad y otros requisitos de las aplicaciones. Por ejemplo, en entornos de desarrollo y pruebas, puedes usar la misma infraestructura en la 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 impacto en caso de incidentes.
A continuación se muestran 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 mediante la función gestión de equipos de flota de GKE Enterprise con los controles de acceso adecuados.
- Usa Autopilot de GKE para aprovechar las técnicas de optimización de costes, como el empaquetado y el autoescalado, que GKE implementa de forma predeterminada.
- Para las cargas de trabajo de IA y aprendizaje automático, puedes ahorrar costes de GPU usando estrategias de uso compartido de GPU, como las GPUs con varias instancias, las GPUs con tiempo compartido y NVIDIA MPS.
Desarrollar y mantener arquitecturas de referencia
Crea y mantén un repositorio de arquitecturas de referencia adaptadas a los requisitos de diferentes entornos de implementación y tipos de cargas de trabajo. Para agilizar el proceso de diseño e implementación de proyectos individuales, un equipo como el Centro de Excelencia de Cloud (CCoE) puede gestionar los planos de forma centralizada. Los equipos de proyectos pueden elegir los planos adecuados en función de criterios claramente definidos para asegurar la coherencia de la arquitectura y la adopción de las prácticas recomendadas. En el caso de los requisitos que son únicos para un proyecto, el equipo del proyecto y el equipo de arquitectura central 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 ampliar el repositorio de soluciones disponibles. Este enfoque asegura la coherencia, acelera el desarrollo, simplifica la toma de decisiones y promueve el uso eficiente de los recursos.
Consulta las arquitecturas de referencia que ofrece Google para distintos casos prácticos 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. Si usas estas arquitecturas de referencia, puedes acelerar el proceso de desarrollo y ahorrar costes desde el principio.
Aplicar la disciplina de costes mediante políticas de organización
Puedes usar políticas de la organización para limitar las Google Cloud ubicaciones y los productos disponibles que pueden usar los miembros del equipo. Estas políticas ayudan a garantizar que los equipos se ciñan a soluciones rentables y aprovisionen recursos en ubicaciones que se ajusten a tus objetivos de optimización de costes.
Estima presupuestos realistas y establece límites financieros
Elabora 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 costes de infraestructura, las licencias de software, el personal y el crecimiento previsto. Para evitar gastos excesivos y asegurarte de que se ajustan a tus objetivos financieros, establece límites o umbrales de gasto claros para proyectos, servicios o recursos específicos. Monitoriza periódicamente el gasto en la nube en comparación con estos límites. Puedes usar las alertas de cuota proactivas para identificar posibles sobrecostes con antelación y tomar medidas correctivas a tiempo.
Además de definir presupuestos, puedes usar cuotas y límites para aplicar una disciplina de costes y evitar picos de gasto inesperados. Puedes controlar de forma granular el consumo de recursos definiendo cuotas en varios niveles, como proyectos, servicios e incluso tipos de recursos específicos.
A continuación se muestran ejemplos de cómo puedes implementar esta recomendación:
- Cuotas a nivel de proyecto: define límites de gasto o cuotas de recursos a nivel de proyecto para establecer límites financieros generales y controlar el consumo de recursos en todos los servicios del proyecto.
- Cuotas específicas de un servicio: configura cuotas para servicios específicos, como Compute Engine o BigQuery, para limitar el número de instancias, CPUs o capacidad de almacenamiento que se pueden aprovisionar. Google Cloud
- Cuotas específicas de tipo de recurso: aplica cuotas a tipos de recursos concretos, como máquinas virtuales de Compute Engine, contenedores de Cloud Storage, instancias de Cloud Run o nodos de GKE, para restringir su uso y evitar sobrecostes inesperados.
- Alertas de cuota: recibe notificaciones cuando el uso de tu cuota (a nivel de proyecto) alcance un porcentaje del valor máximo.
Si usas cuotas y límites junto con presupuestos y monitorización, puedes crear un enfoque proactivo y de varias capas para controlar los costes. Este enfoque ayuda a asegurarse de que el gasto en la nube se mantenga dentro de los límites definidos y se ajuste a los objetivos de negocio. Recuerda que estos controles de costes no son permanentes ni rígidos. Para asegurarte de que los controles de costes se ajustan a los estándares del sector y reflejan las necesidades cambiantes de tu empresa, debes revisar los controles periódicamente y ajustarlos para incluir nuevas tecnologías y prácticas recomendadas.
Optimizar continuamente
Este principio del pilar de optimización de costes del Google Cloud marco de trabajo Well-Architected ofrece recomendaciones para ayudarte a optimizar el coste de tus implementaciones en la nube en función de los objetivos de negocio, 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 su gasto en la nube, debe mantener la rentabilidad y, al mismo tiempo, seguir apoyando los objetivos empresariales. Para ello, se necesita un enfoque proactivo y adaptativo que se centre en la mejora y la optimización continuas.
Descripción general de los principios
Para optimizar los costes de forma continua, debe monitorizar y analizar de forma proactiva su entorno de nube, así como hacer los ajustes necesarios para cumplir los requisitos actuales. Centra tus esfuerzos de monitorización en los indicadores clave de rendimiento (KPIs) que afecten directamente a la experiencia de tus usuarios finales, que se ajusten a tus objetivos de negocio y que te proporcionen información valiosa para mejorar continuamente. Este enfoque te permite identificar y abordar las ineficiencias, adaptarte a las necesidades cambiantes y alinear continuamente el gasto en la nube con los objetivos empresariales estratégicos. Para equilibrar la observabilidad integral con la rentabilidad, debes conocer los costes y las ventajas de monitorizar el uso de los recursos y usar las estrategias de optimización y mejora de procesos adecuadas.
Recomendaciones
Para monitorizar de forma eficaz tu entorno y optimizar los costes continuamente, ten en cuenta las siguientes recomendaciones. Google Cloud
Céntrate en las métricas relevantes para tu empresa
Para monitorizar de forma eficaz, primero debe identificar las métricas más importantes para su empresa y sus clientes. Entre estas métricas se incluyen las siguientes:
- Métricas de experiencia de usuario: la latencia, las tasas de errores, el rendimiento y las métricas de satisfacción del cliente son útiles para comprender la experiencia de los usuarios finales al usar tus aplicaciones.
- Métricas de resultados empresariales: los ingresos, el crecimiento de los clientes y la interacción se pueden correlacionar con el uso de recursos para identificar oportunidades de optimización de costes.
- Métricas de DevOps Research & Assessment (DORA): métricas como la frecuencia de despliegue, el plazo de entrega de los cambios, el índice de fallos por cambios y el tiempo de restauración proporcionan información valiosa sobre la eficiencia y la fiabilidad de tu proceso de envío de software. Si mejoras estas métricas, puedes aumentar la productividad, reducir el tiempo de inactividad y optimizar los costes.
- Métricas de Site Reliability Engineering (SRE): los presupuestos de errores ayudan a los equipos a cuantificar y gestionar el nivel aceptable de interrupción del servicio. Al establecer expectativas claras sobre la fiabilidad, los presupuestos de errores permiten a los equipos innovar e implementar cambios con más confianza, ya que conocen su margen de seguridad. Este enfoque proactivo fomenta el equilibrio entre la innovación y la estabilidad, lo que ayuda a evitar costes operativos excesivos asociados a interrupciones importantes o tiempos de inactividad prolongados.
Usar la observabilidad para optimizar los recursos
A continuación, se ofrecen recomendaciones para usar la observabilidad con el fin de identificar los cuellos de botella de los recursos y los recursos infrautilizados en tus implementaciones en la nube:
- Monitorizar el uso de recursos: usa métricas de uso de recursos para identificar los recursos que no se utilizan lo suficiente.Google Cloud Por ejemplo, usa métricas como el uso de la CPU y la memoria para identificar recursos de VM inactivos. En Google Kubernetes Engine (GKE), puedes ver un desglose detallado de los costes y las métricas de optimización relacionadas con los costes. En el caso de Google Cloud VMware Engine, revisa el uso de recursos para optimizar los descuentos por uso continuado, el consumo de almacenamiento y el ajuste del tamaño de ESXi.
- Usa recomendaciones de la nube: Active Assist es un conjunto de herramientas inteligentes que te ayudan a optimizar tus operaciones en la nube. Estas herramientas ofrecen recomendaciones prácticas para reducir costes, aumentar el rendimiento, mejorar la seguridad e incluso tomar decisiones centradas en la sostenibilidad. Por ejemplo, las estadísticas de ajuste del tamaño de las VMs pueden ayudarte a optimizar la asignación de recursos y evitar gastos innecesarios.
- Correlacionar el uso de recursos con el rendimiento: analiza la relación entre el uso de recursos y el rendimiento de las aplicaciones para determinar si puedes cambiar a recursos menos costosos sin que afecte a la experiencia del usuario.
Equilibrar las necesidades de solución de problemas con los costes
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 monitorización externas puede generar costes innecesarios. Para solucionar los problemas de forma eficiente, ten en cuenta las siguientes recomendaciones:
- Recoger suficientes datos para solucionar problemas: asegúrate de que tu solución de monitorización recoja suficientes datos para diagnosticar y resolver problemas de forma eficiente cuando surjan. Estos datos pueden incluir registros, trazas y métricas con distintos niveles de granularidad.
- Usa el muestreo y la agregación: equilibra la necesidad de obtener datos detallados con las consideraciones de costes mediante técnicas de muestreo y agregación. Este enfoque te permite recoger datos representativos sin incurrir en costes de almacenamiento excesivos.
- Conocer los modelos de precios de tus herramientas y servicios de monitorización: evalúa diferentes soluciones de monitorización y elige las opciones que se ajusten a las necesidades específicas, el presupuesto y los patrones de uso de tu proyecto. Ten en cuenta factores como el volumen de datos, los requisitos de conservación y las funciones necesarias a la hora de tomar una decisión.
- Revisa periódicamente tu configuración de monitorización: evita recoger datos en exceso eliminando métricas o registros innecesarios.
Adaptar la recogida de datos a los roles y definir políticas de conservación específicas para cada rol
Ten en cuenta las necesidades de datos específicas de los distintos roles. Por ejemplo, los desarrolladores pueden necesitar principalmente acceso a las trazas y los registros a nivel de aplicación, mientras que los administradores de TI pueden centrarse en los registros del sistema y las métricas de infraestructura. Si adaptas la recogida de datos, puedes reducir los costes de almacenamiento innecesarios y evitar que los usuarios se vean abrumados por información irrelevante.
Además, puedes definir políticas de retención en función de las necesidades de cada rol y de los requisitos normativos. Por ejemplo, los desarrolladores pueden necesitar acceso a registros detallados durante un periodo más corto, mientras que los analistas financieros pueden requerir datos a largo plazo.
Ten en cuenta los requisitos normativos y de cumplimiento
En determinados sectores, los requisitos normativos exigen la conservación de los datos. Para evitar riesgos legales y financieros, debes asegurarte de que tus prácticas de monitorización y conservación de datos te ayuden a cumplir las normativas pertinentes. Al mismo tiempo, debes mantener la rentabilidad. Ten en cuenta las siguientes recomendaciones:
- Determina los requisitos específicos de conservación de datos de tu sector o región y asegúrate de que tu estrategia de monitorización cumpla esos requisitos.
- Implementa mecanismos de archivado y recuperación de datos adecuados para cumplir los requisitos de auditoría y cumplimiento, y minimizar los costes de almacenamiento.
Implementar alertas inteligentes
Las alertas ayudan a detectar y resolver problemas de forma oportuna. Sin embargo, debe haber un equilibrio entre un enfoque que te mantenga informado y otro que te abrume con notificaciones. Si diseña sistemas de alertas inteligentes, podrá priorizar los problemas críticos que tengan un mayor impacto en su negocio. Ten en cuenta las siguientes recomendaciones:
- Prioriza los problemas que afectan a los clientes: diseña alertas que se activen rápidamente cuando haya problemas que afecten directamente a la experiencia de los clientes, como interrupciones del sitio web, tiempos de respuesta lentos o fallos en las transacciones.
- Ajusta los umbrales para problemas temporales: usa umbrales y mecanismos de retraso adecuados para evitar alertas innecesarias por problemas temporales o problemas del sistema que se solucionan solos y que no afectan a los clientes.
- Personalizar 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 mensajes de localización) en función de la gravedad y la urgencia de las alertas.