En el pilar de optimización de costos del Google Cloud Framework de arquitectura bien definida, se describen 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 de finanzas 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 hacia la nube.
Los modelos de costos de las cargas de trabajo locales y en la nube difieren considerablemente. Los costos de TI locales incluyen los gastos de capital (CapEx) y los gastos operativos (OpEx). Se adquieren activos de hardware y software locales, y los costos de adquisición se deprecian durante la vida útil operativa de los activos. En la nube, los costos de la mayoría de los recursos se consideran OpEx, en los que se incurren costos cuando se consumen los recursos. Esta diferencia fundamental subraya la importancia de los siguientes principios fundamentales de la optimización de costos.
Para conocer los principios y las recomendaciones de optimización de costos específicos de las cargas de trabajo de IA y AA, consulta Perspectiva de IA y AA: Optimización de costos en el Framework de arquitectura bien diseñada.
Principios básicos
Las recomendaciones del pilar de optimización de costos del framework de arquitectura bien diseñada se asignan a los siguientes principios básicos:
- Alinea la inversión en la nube con el valor comercial: Garantizar que tus recursos en la nube proporcionen un valor comercial medible a través de la alineación de la inversión en TI con los objetivos comerciales
- Fomenta una cultura de conciencia sobre los costos: Asegúrate de que las personas de tu organización tengan en cuenta el impacto de los costos de sus decisiones y actividades, y de que tengan acceso a la información de costos necesaria para tomar decisiones fundamentadas.
- Optimiza el uso de los 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 los recursos de la nube, y realiza ajustes de forma proactiva según sea necesario para optimizar tus gastos. Este enfoque implica identificar y abordar las posibles ineficiencias de costos antes de que se conviertan en problemas significativos.
Estos principios están estrechamente alineados con los principios básicos de FinOps en la nube. 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, puedes controlar y optimizar los costos a lo largo de tu recorrido en la nube.
Colaboradores
Autor: Nicolas Pintaux | Ingeniero de Atención al cliente, especialista en modernización de aplicaciones
Otros colaboradores:
- Anuradha Bajpai | Arquitecto de soluciones
- Daniel Lees | Arquitecto de Seguridad en la Nube
- Eric Lam | Director de FinOps de Google Cloud
- Fernando Rubbo | Arquitecto de Soluciones de Cloud
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
- Gary Harmson | Ingeniero de Atención al cliente
- Jose Andrade | Ingeniero de Atención al cliente de infraestructura empresarial
- Kent Hua | Administrador de Soluciones
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Radhika Kanakam | Gerente sénior de programas, GTM de Cloud
- Steve McGhee | Defensor de Confiabilidad
- Sergei Lilicherko | Arquitecto de Soluciones
- Wade Holmes | Director de Soluciones Globales
- Zach Seils | Especialista en herramientas de redes
Alinea el gasto en la nube con el valor empresarial
Este principio del pilar de optimización de costos del Google Cloud framework de arquitectura bien definida proporciona recomendaciones para alinear el uso de los recursos de Google Cloud con los objetivos comerciales de tu organización.
Descripción general de los principios
Para administrar de forma eficaz los costos de la nube, 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 de aprovisionar y usar 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 enfoque 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 la escalabilidad.
- Costos indirectos: Son los costos que podrías incurrir para administrar problemas como el tiempo de inactividad, la pérdida de datos o las violaciones de la seguridad.
- Impacto empresarial: Los posibles beneficios de los recursos, como el aumento de los ingresos, la mejora de la satisfacción del cliente y un tiempo de lanzamiento al mercado más rápido.
Si alineas el gasto en la nube con el valor empresarial, obtendrás 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 consideren 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 varias opciones de implementación, de modo que elijan recursos que sean rentables.
- Alineación entre equipos: La colaboración multidisciplinaria entre los equipos de negocios, finanzas y técnicos garantiza que las decisiones sobre la nube estén alineadas con los objetivos generales de la organización.
Recomendaciones
Para alinear la inversión 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 enfoquen en sus actividades comerciales principales. Pueden acelerar la entrega de funciones y funcionalidades nuevas, y ayudar a 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 servidores PostgreSQL, MySQL o Microsoft SQL Server, usa Cloud SQL en lugar de implementar esas bases de datos en VMs.
- Para ejecutar y administrar clústeres de Kubernetes, usa Autopilot de Google Kubernetes Engine (GKE) en lugar de implementar contenedores en VMs.
- Para tus necesidades de procesamiento de Apache Hadoop o Apache Spark, usa Dataproc y Dataproc sin servidores. La facturación por segundo puede ayudar a lograr un TCO mucho más bajo en comparación con los data lakes locales.
Equilibra la rentabilidad 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 tener una infraestructura flexible que te permita innovar con rapidez, responder rápidamente 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 el rendimiento de la entrega de software. Métricas como la tasa de errores de cambio (CFR), el tiempo de detección (TTD) y el tiempo de restablecimiento (TTR) pueden ayudar a identificar y corregir 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 SRE en la automatización, la visibilidad y la respuesta a 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 no necesitarás 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. Permite que aprovisionen, administren y optimicen sus recursos de 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 lado la eficiencia de 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 una optimización de costos eficaz en la nube.
Fomenta una mentalidad basada en el valor y el TCO
Anima 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 por unidad para tus aplicaciones y servicios para obtener una comprensión detallada de los impulsores de costos y descubrir oportunidades de optimización de costos. Para obtener más información, consulta Maximiza el valor empresarial con las operaciones financieras en la nube.
Fomenta una cultura de conciencia de los costos
Este principio del pilar de optimización de costos del Google Cloud framework de arquitectura bien definida proporciona recomendaciones para promover el conocimiento 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.
De manera convencional, la responsabilidad de la administración de costos puede estar centralizada en algunas partes interesadas seleccionadas y enfocarse principalmente en las decisiones iniciales de la arquitectura del proyecto. Sin embargo, los miembros del equipo de 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 manera adecuada, puedes permitir que los miembros del equipo tomen decisiones rentables durante sus procesos de desarrollo y de implementación.
Descripción general de los principios
Las partes interesadas en varios roles (propietarios de productos, desarrolladores, ingenieros de implementación, administradores y analistas financieros) necesitan visibilidad sobre los datos de costos relevantes 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 métricas empresariales: Estadísticas sobre cómo la inversión en la nube afecta a los indicadores clave de rendimiento (KPI) para permitir que los equipos identifiquen estrategias rentables.
Es posible que no todas las personas necesiten acceso a los datos de costos sin procesar. Sin embargo, es fundamental fomentar la conciencia sobre los costos en todos los roles, ya que las decisiones individuales pueden afectar los costos.
Cuando promueves la visibilidad de los costos y garantizas la propiedad clara de las prácticas de administración de costos, te aseguras de que todas las personas conozcan las implicaciones financieras de sus decisiones y contribuyan de forma activa 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 los esfuerzos de optimización de costos eficaces.
Recomendaciones
Para fomentar el conocimiento de los costos y asegurarte de que los miembros de tu equipo tengan la información de costos 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 el presupuesto: 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 de costos y visibilidad: Usa las herramientas adecuadas que proporcionen estadísticas en tiempo real sobre la inversión en la nube y generen instantáneas de la progresión de los costos con regularidad (por ejemplo, semanales). Estas herramientas permiten la creación de presupuestos, la previsión y la identificación de oportunidades de optimización de forma proactiva. Las herramientas pueden ser de proveedores de servicios en la nube (como el panel de Facturación de Google Cloud), soluciones de terceros o 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 los gastos en la nube y los alienta a tomar decisiones rentables dentro de su presupuesto asignado.
- Promover la transparencia: Alienta a los equipos a que discutan 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 preocupaciones comerciales, explora enfoques alternativos para compartir información y estadísticas de 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 en la nube
Los precios de los Google Cloud recursos 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 Google Cloud 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)).
Comprende las opciones de optimización de costos basadas en recursos
Para cada tipo de recurso de nube que planeas usar, explora estrategias para optimizar la utilización y la eficiencia. Las estrategias incluyen el ajuste del tamaño, el ajuste de escala automático y la adopción de tecnologías sin servidores cuando corresponda. A continuación, se muestran algunos ejemplos de opciones de optimización de costos para algunos Google Cloud productos:
- Cloud Run te permite configurar CPUs siempre asignadas 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 la 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 estable. Los CUDs te permiten obtener reducciones significativas de precio a cambio de comprometerte a usar recursos específicos durante un período (por lo general, de uno a tres años). También puedes usar la renovación automática de CUD para evitar tener que volver a comprar los compromisos de forma manual cuando venzan.
- Descuentos por uso continuo: Para ciertos Google Cloud productos, como Compute Engine y GKE, puedes obtener créditos de descuento automáticos después del uso continuo de recursos más allá de umbrales de duración específicos.
- VMs Spot: Para 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 descuentos que se alineen con las características y los patrones de uso de tu carga de trabajo.
Incorpora estimaciones de costos en los esquemas de arquitectura
Anima a los equipos a desarrollar esquemas 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 y para 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 las principales partes interesadas de tu organización ayuda a que los costos sean más visibles. También puedes usar etiquetas para filtrar los datos de uso y costo de los recursos según el público objetivo.
Usa herramientas de automatización como Terraform para aplicar el etiquetado en todos los recursos que se creen. 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.
Cómo compartir informes de costos con miembros del equipo
Cuando 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 la toma de decisiones rentables, la optimización continua de los costos y las mejoras sistemáticas en tu 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 gasto actual en la nube. De manera convencional, 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 relevante 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 visibilidad y administración de costos más interactivas y en tiempo real.
- Notificaciones automáticas: Puedes configurar informes de costos para notificar de forma proactiva a las partes interesadas relevantes (por ejemplo, por correo electrónico o chat) sobre anomalías de costos, umbrales de presupuesto o oportunidades de optimización de costos. Las alertas automatizadas proporcionan información oportuna directamente a quienes pueden tomar medidas al respecto, lo que fomenta una acción inmediata y promueve un enfoque proactivo para la optimización de costos.
- Paneles deGoogle Cloud : Puedes usar los paneles de facturación integrados en Google Cloud para obtener estadísticas sobre los desgloses de costos y para identificar 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 potencia FinOps Hub 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 estadísticas 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 visualización unificada de los costos en todos los proveedores de servicios en la nube para garantizar un análisis, una presupuestación 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 del equipo.
Optimiza el uso de recursos
Este principio del pilar de optimización de costos del Google Cloud Framework de arquitectura bien definida proporciona recomendaciones para ayudarte a planificar y aprovisionar recursos que coincidan con los requisitos y los patrones de consumo de tus cargas de trabajo en la nube.
Descripción general de los principios
Para optimizar el costo de tus recursos en la nube, debes comprender en detalle los requisitos de recursos y los patrones de carga de tus cargas de trabajo. Esta comprensión es la base de un modelo de costos bien definido que te permite pronosticar el costo total de propiedad (TCO) y, además, identificar los factores que generan costos a lo largo de tu recorrido de adopción de la nube. Si analizas y pronosticas de forma proactiva la inversión en la nube, puedes tomar decisiones fundamentadas sobre el aprovisionamiento de recursos, el uso y la optimización de costos. 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 recursos de la nube, considera las siguientes recomendaciones.
Elige recursos específicos del entorno
Cada entorno de implementación tiene requisitos diferentes de disponibilidad, confiabilidad y escalabilidad. Por ejemplo, los desarrolladores pueden preferir un entorno que les permita implementar y ejecutar aplicaciones rápidamente durante períodos cortos, pero que no necesiten alta disponibilidad. Por otro lado, un entorno de producción suele necesitar una alta disponibilidad. Para maximizar el uso de tus recursos, define requisitos específicos del entorno en función de las necesidades de tu empresa. En la siguiente tabla, se enumeran ejemplos de requisitos específicos del entorno.
Entorno | Requisitos |
Producción |
|
Desarrollo y pruebas |
|
Otros entornos (como la etapa de pruebas y el control de calidad) |
|
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 puede 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 las cargas 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 de ajuste de escala automático | Recursos con funciones básicas y recursos efímeros, como las VMs Spot |
Controlado por eventos | Escalamiento dinámico según la demanda actual de capacidad y rendimiento | Servicios sin servidores, como Cloud Run y funciones de Cloud Run |
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 VM 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, y es posible que otras no se hayan diseñado de esta manera. Genera comparativas y perfiles de tus cargas de trabajo según corresponda. 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 costos, habilitar 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 se entregan a usuarios distribuidos a nivel mundial, considera usar Spanner. Spanner elimina la necesidad de implementaciones de bases de datos complejas, ya que garantiza la confiabilidad 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 ajuste de escala automático para asegurarte de que no incurras en costos cuando la carga sea baja y, al mismo tiempo, mantener una capacidad suficiente para satisfacer la carga actual. Puedes configurar el ajuste de escala automático para muchos Google Cloud servicios, incluidas las VM de Compute Engine, los clústeres de Google Kubernetes Engine (GKE) y Cloud Run. Cuando configuras el escalamiento automático, puedes establecer límites máximos de escalamiento para garantizar que los costos permanezcan 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 aquellas 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 sostenibilidad. 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 sostenibilidad, la latencia y otros factores.
Usa las opciones de optimización de costos integradas
Los productos deGoogle Cloud proporcionan funciones integradas para ayudarte a optimizar el uso de los recursos y controlar los costos. En la siguiente tabla, se muestran 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 |
|
BigQuery |
|
Google Cloud VMware Engine |
|
Cómo optimizar 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 la 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 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 con la función de administración de equipos de flota en GKE Enterprise con los controles de acceso adecuados.
- Usa Autopilot de GKE para aprovechar las técnicas de optimización de costos, como el empaquetado en contenedores y el ajuste de escala automático que GKE implementa de forma predeterminada.
- En el caso de las cargas de trabajo de IA y de AA, ahorra costos de GPU con estrategias de uso compartido de GPU, como GPUs de varias instancias, GPUs de uso compartido de tiempo y NVIDIA MPS.
Desarrolla y mantiene arquitecturas de referencia
Crea y mantén un repositorio de arquitecturas de referencia que se adapten para satisfacer 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 para la nube (CCoE) puede administrar los esquemas de forma centralizada. Los equipos de proyectos pueden elegir los esquemas adecuados en función de criterios claramente definidos para garantizar la coherencia arquitectónica y la adopción de 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 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 varios casos de uso y tecnologías. Estas arquitecturas de referencia incorporan prácticas recomendadas para la selección, el tamaño, la configuración y la implementación de recursos. Con el uso de estas arquitecturas de referencia, puedes acelerar tu proceso de desarrollo y lograr ahorros de costos desde el principio.
Aplicar la disciplina de costos con las políticas de la organización
Considera usar las 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 sigan soluciones económicas y aprovisionen recursos en ubicaciones que estén alineadas con tus objetivos de optimización de costos.
Estimar presupuestos realistas y establecer límites financieros
Desarrolla presupuestos detallados para cada proyecto, carga de trabajo y entorno de implementación. Asegúrate de que los presupuestos incluyan 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 el exceso de gastos y garantizar la alineación con tus objetivos financieros, establece límites o umbrales de gastos claros para proyectos, servicios o recursos específicos. Supervisa el gasto en la nube con regularidad en función de estos límites. Puedes usar las alertas de cuota proactivas para identificar posibles excesos de costos con anticipación y tomar medidas correctivas a tiempo.
Además de establecer presupuestos, puedes usar cuotas y límites para ayudar a aplicar la disciplina de costos y evitar aumentos repentinos imprevistos en los gastos. Puedes ejercer un control detallado sobre el consumo de recursos si configuras cuotas en varios niveles, incluidos proyectos, servicios y hasta tipos de recursos específicos.
A continuación, se muestran ejemplos de cómo puedes implementar esta recomendación:
- Cuotas a nivel del proyecto: Establece límites de inversión 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 Google Cloud específicos, como Compute Engine o BigQuery, para limitar la cantidad de instancias, CPUs 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 sobrecostos inesperados.
- Alertas de cuota: Recibe notificaciones cuando el uso de tu 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 el control de 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 comerciales en evolución, debes revisarlos periódicamente y ajustarlos para incluir nuevas tecnologías y prácticas recomendadas.
Optimiza de forma continua
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:
- Supervisa el uso de recursos: Usa las métricas de uso de recursos para identificar los recursosGoogle Cloud que se subutilizan. Por ejemplo, usa métricas como el uso de CPU y memoria para identificar los recursos de VM inactivos. En Google Kubernetes Engine (GKE), puedes ver un desglose detallado de los costos y las métricas de optimización relacionadas con los costos. En el caso de Google Cloud VMware Engine, revisa el uso de recursos para optimizar las CUD, el consumo de almacenamiento y el tamaño adecuado de ESXi.
- Usa las recomendaciones de la nube: Active Assist es una cartera de herramientas inteligentes que te ayudan a optimizar tus operaciones en la nube. Estas herramientas proporcionan recomendaciones prácticas para reducir costos, aumentar el rendimiento, mejorar la seguridad y 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.