Recomendaciones para establecer límites de protección de gasto

Se aplica a esta recomendación de lista de comprobación de optimización de costos de Azure Well-Architected Framework:

CO:04 Establezca límites de protección de gasto. Los límites de protección deben incluir puertas de lanzamiento, directivas de gobernanza, límites de recursos y controles de acceso. Dé prioridad a la automatización de la plataforma sobre los procesos manuales.

En esta guía se describen las recomendaciones para establecer límites de protección de gasto. Los límites de protección de gasto son medidas para controlar y administrar los costos dentro de un presupuesto especificado. Ayudan a evitar gastos inesperados o excesivos y a promover el uso rentable de los recursos. Sin límites de protección de gasto, los costos de carga de trabajo pueden superar el presupuesto, lo que conduce a gastos no planeados que pueden tensar los recursos financieros.

Definiciones

Término Definición
Directivas de gobernanza Conjunto de reglas que aplican el cumplimiento y habilitan la auditoría de los recursos de carga de trabajo.
Gobernanza Conjunto de directivas, procesos y controles que ayudan a garantizar que la carga de trabajo se administre de forma eficaz, segura y conforme a los requisitos organizativos y normativos.
Infraestructura como código (IaC) Un modelo descriptivo para definir e implementar la infraestructura, incluidas las redes, las máquinas virtuales, los equilibradores de carga y las topologías de conexión.
Puerta de liberación Condición o punto de control en una canalización de versión que debe cumplirse para poder continuar la implementación. Una puerta de lanzamiento ayuda a garantizar que se cumplan criterios específicos antes de que se libere el software.

Estrategias de diseño principales

Establezca límites de protección de gasto mediante la implementación de medidas para controlar y administrar los costos dentro de un presupuesto especificado. Estas medidas incluyen directivas de gobernanza, controles de acceso, puertas de lanzamiento, umbrales de presupuesto y alertas. La automatización reduce el riesgo de error humano, mejora la eficiencia y ayuda a la aplicación coherente de los límites de protección de gastos. Dé prioridad a la automatización de la plataforma sobre los procesos manuales. Las herramientas y servicios de automatización que proporciona la plataforma pueden simplificar el aprovisionamiento, la configuración y la administración de recursos.

Uso de directivas de gobernanza

Las directivas de gobernanza pueden actuar como límites de protección de gasto en diversos aspectos de los recursos, como tipos de recursos, configuraciones, etiquetas, ubicación y administración de datos. Muchas plataformas en la nube tienen un servicio que automatiza la aplicación de directivas de gobernanza. Use directivas automatizadas para controlar el uso de recursos, aplicar la responsabilidad y eliminar el gasto en tipos de recursos restringidos. Estas son algunas de las directivas que debe considerar aplicar:

  • Tipos de recursos restringidos: las directivas pueden especificar qué tipos de recursos están permitidos o no permitidos dentro de una organización. Por ejemplo, una organización podría tener una directiva que restrinja el uso de determinados tipos de recursos costosos para controlar los costos.

  • Límites de recursos: establezca límites de recursos para controlar los costos y evitar el sobreaprovisionamiento. Incluya límites en el número de recursos que se pueden aprovisionar, el tamaño de los recursos y la duración del uso de recursos en la directiva. Estos límites pueden ayudarle a evitar un gasto excesivo y optimizar el uso de recursos. Por ejemplo, los límites de recursos pueden minimizar los efectos de una infracción de cuenta no autorizada relacionada con la minería de datos criptográficas.

  • Configuraciones de recursos definidas: las directivas pueden definir configuraciones específicas para los recursos. Puede aplicar la configuración en los recursos que promueven la optimización de costos, como el escalado automático y el archivado de datos.

  • Ubicaciones restringidas: puede usar directivas para restringir la implementación de recursos a regiones o ubicaciones específicas. Considere la posibilidad de restringir las ubicaciones para evitar costosas tarifas de transferencia de datos y mantener el cumplimiento de las regulaciones de soberanía de datos.

  • Datos administrados: use directivas para aplicar prácticas de administración de datos que ayuden a optimizar los costos. Por ejemplo, puede implementar directivas que requieran el uso de niveles de almacenamiento de menor costo para datos o directivas a los que se accede con menos frecuencia que definan reglas de expiración para la retención de datos.

  • Metadatos aplicados: establezca directivas que exijan el uso de metadatos específicos para un mejor seguimiento y asignación de costos. También puede usar metadatos en la automatización o revisión manual. Por ejemplo, use metadatos para automatizar las copias de seguridad de recursos mediante una etiqueta de copia de seguridad. Una directiva de metadatos coherente ayuda a alinear los costos con límites de protección de gasto.

  • Recursos inactivos limitados: use directivas para identificar los recursos inactivos para que pueda eliminarlos o reasignarlos. Considere la posibilidad de establecer directivas que apaguen automáticamente las instancias durante las horas en las que no están en uso.

Icono de riesgo Riesgo: si implementa el escalado automático, establezca un umbral de escalado máximo en función de las pruebas. Los umbrales máximos pueden ayudarle a evitar picos masivos de escalado que provocan saturaciones de costos, pero un umbral que se establece demasiado bajo podría afectar negativamente al rendimiento. Para más información, consulte Recomendaciones para optimizar los costos de escalado.

Configuración de controles de acceso

Configure los controles de acceso para establecer restricciones que impidan el exceso de espera y que ayuden a garantizar que solo los usuarios autorizados puedan consumir recursos. Los controles de acceso pueden ayudar a reducir el riesgo de cambios accidentales o innecesarios que afectan negativamente a la optimización de costos. Para implementar controles de acceso para la optimización de costos, siga estos pasos:

  1. Identifique el control necesario. Identifique los recursos y servicios que necesitan controles de acceso.

  2. Definir directivas de acceso. Defina directivas de acceso basadas en el principio del acceso con privilegios mínimos, concediéndoles a los usuarios solo los permisos necesarios para realizar sus tareas. Por ejemplo, algunos usuarios pueden necesitar solo acceso de lectura, mientras que otros también pueden requerir permisos de escritura o eliminación.

  3. Implementar la autenticación. Implemente métodos de autenticación, como el nombre de usuario y la contraseña, la autenticación multifactor o la integración con proveedores de identidades, para ayudar a garantizar que solo los usuarios autorizados puedan acceder a los recursos.

  4. Use el control de acceso basado en rol (RBAC). Configure RBAC para asignar roles y permisos a los usuarios en función de sus responsabilidades de trabajo. El uso de RBAC puede ayudarle a administrar el acceso a los recursos de forma eficaz.

  5. Revisar y actualizar controles. Revise y actualice periódicamente los controles de acceso para asegurarse de que se alinean con las necesidades cambiantes de la organización. Quite los permisos de acceso innecesarios y ajuste los niveles de acceso según sea necesario.

Uso de puertas de versión

Las puertas de lanzamiento son puntos de control o condiciones que deben cumplirse antes de que pueda continuar una versión o una implementación. Use puertas de lanzamiento para ayudar a garantizar que la versión sea rentable y se alinee con los objetivos de optimización. Las puertas de lanzamiento ofrecen un enfoque estructurado para la identificación y la implementación de medidas de ahorro de costos. Para implementar puertas de versión para la optimización de costos de carga de trabajo, tenga en cuenta los pasos siguientes:

  1. Establecer criterios de puerta de liberación. Establezca las condiciones o criterios que deben cumplirse antes de que se liberen o implementen recursos. Incluya factores como los límites de gasto, los umbrales de uso de recursos o los hitos del proyecto.

  2. Incorpore puertas de liberación. Incorpore las puertas de versión en la canalización de implementación. Puede usar herramientas de automatización o scripts personalizados para asegurarse de que las implementaciones de recursos están sujetas a los criterios definidos.

  3. Supervisar el gasto. Supervise continuamente el gasto y el uso de recursos con respecto a los criterios definidos. Si la organización supera los umbrales de gasto, las puertas de lanzamiento deben evitar más implementaciones hasta que se solucione el problema.

Configuración de alertas de costos

Es importante establecer alertas para los presupuestos, las anomalías de costos y el uso del plan basado en el compromiso para optimizar los costos. Estas alertas proporcionan visibilidad sobre el gasto en la nube y permiten la administración proactiva de costos. Tenga cuidado de administrar los destinatarios de las notificaciones para las alertas y mantener la lista de destinatarios actualizada con las responsabilidades y el acceso actuales. Algunas alertas que puede crear para optimizar los costos incluyen:

  • Alertas de presupuesto: establezca alertas sobre presupuestos para realizar un seguimiento de los gastos con respecto a los umbrales predefinidos. Puede supervisar los costos y recibir notificaciones cuando se aproxima o supera el importe presupuestado mediante la creación de un presupuesto mensual, una cuenta de facturación o un grupo de recursos. Las alertas de presupuesto le ayudan a mantenerse informados sobre los gastos y a tomar medidas preventivas para controlar los costos.

  • Alertas de anomalías de costos: las alertas de anomalías le notifican las variaciones inesperadas de costos que podrían indicar ineficiencias o patrones de gasto anómalos. Puede configurar estas alertas para identificar anomalías en los costos reales o previstos. Use alertas de anomalías de costos para investigar la causa subyacente de una variación de costos y tomar medidas correctivas cuando sea necesario.

  • Alertas de uso del plan basada en el compromiso: implemente alertas de uso del plan basadas en el compromiso para supervisar el uso del plan. Si tiene planes basados en compromisos, establecer alertas sobre el uso del plan puede ayudarle a administrar y maximizar eficazmente el valor de estos compromisos. Puede configurar estas alertas para notificar a las partes interesadas si el uso de recursos basados en compromisos cae por debajo de un umbral deseado. Optimice los recursos basados en el compromiso y asegúrese de usar las ventajas de sus compromisos.

Uso de IaC

La infraestructura como código es la práctica de administrar y aprovisionar recursos de infraestructura mediante código, normalmente en forma de archivos de configuración. Implemente esta estrategia para definir y automatizar la implementación y configuración de recursos de infraestructura, como máquinas virtuales, redes y almacenamiento, mediante plantillas basadas en código.

Las estrategias de IaC proporcionan un enfoque estructurado y repetible para administrar y controlar los recursos de infraestructura. IaC puede ayudarle a implementar los recursos según sea necesario, eliminar recursos sin ejecutarlos continuamente y optimizar los costos asegurándose de implementar y configurar recursos según las reglas predefinidas. Siga estos pasos para usar IaC para la optimización de costos:

  1. Create plantillas de IaC. Create un lenguaje de plantilla basado en código para definir los recursos de infraestructura y sus configuraciones. Estas plantillas permiten especificar el estado deseado de los recursos de infraestructura de forma declarativa. Implemente los procedimientos recomendados para la optimización de costos en el código de infraestructura. Considere la posibilidad de cambiar el tamaño de los recursos mediante instancias reservadas o planes de ahorro. Use opciones de almacenamiento rentables y aplique metadatos de recursos para la asignación y el seguimiento de costos.

  2. Plantillas de la Tienda. Almacene plantillas de IaC en un sistema de control de versiones para realizar un seguimiento de los cambios y administrar diferentes versiones. Puede usar el control de versiones para mantener un historial de las configuraciones de infraestructura y fomentar la colaboración entre los miembros del equipo.

  3. Use parámetros. Use parámetros en las plantillas para que sean reutilizables y configurables. Mediante el uso de parámetros, puede personalizar fácilmente las implementaciones de infraestructura para diferentes entornos o escenarios.

  4. Use entornos efímeros. Use entornos efímeros para fines de desarrollo, pruebas y ensayo para optimizar los costos. Los entornos efímeros solo se deben ejecutar cuando sea necesario. Create estos entornos mediante herramientas de IaC y elimine el entorno cuando haya terminado.

  5. Use herramientas de IaC. Use herramientas y marcos de IaC para automatizar la implementación y configuración de los recursos de infraestructura. Use la automatización para implementar recursos de forma coherente y confiable según las directivas definidas.

  6. Supervise los recursos implementados. Supervise periódicamente los recursos y sus costos para garantizar el cumplimiento de las directivas de gasto. Use herramientas de supervisión y alertas para identificar las desviaciones de los límites de protección definidos y tomar medidas correctivas según sea necesario. Busque recursos no utilizados y elimínelos, preferiblemente con la automatización.

Facilitación de Azure

Uso de directivas de gobernanza: use Azure Policy para definir y aplicar directivas de gobernanza que se alineen con los objetivos de optimización de costos. Puede usar Azure Policy para establecer reglas en grupos de administración, suscripciones y grupos de recursos. Estas directivas pueden regular el aprovisionamiento de recursos, los límites de uso y la asignación de costos. Use directivas para promover la derechos de los recursos, identificar y eliminar los recursos inactivos o infrautilizados, y fomentar el uso de servicios y arquitecturas rentables.

Azure permite establecer límites o cuotas para evitar costos inesperados. Puede definir límites en el número de recursos que se pueden aprovisionar, además del tamaño y la duración del uso de recursos. Establezca estos límites para ayudar a evitar el sobreaprovisionamiento y a controlar los costos.

  • Identifique los recursos infrautilizados o inactivos. Use Azure Advisor para optimizar y reducir los costos generales de Azure mediante la identificación de recursos inactivos y infrautilizados. Reciba recomendaciones de costos de la sección de costos en el panel de Advisor .

  • Agregue metadatos de recursos. Use la gobernanza de Azure para implementar el etiquetado y la categorización de recursos. Etiquete los recursos mediante metadatos pertinentes para realizar un seguimiento de los costos y asignarlos a diferentes departamentos, proyectos o centros de costos. La visibilidad de la atribución de costos puede ayudarle a identificar áreas de alto gasto, optimizar la asignación de recursos y facilitar una mejor administración de costos.

Configuración de controles de acceso: use RBAC de Azure para administrar el acceso a los recursos. Puede usar RBAC para conceder permisos a usuarios, grupos o aplicaciones en función de sus roles. Implemente RBAC para ayudar a garantizar que solo los usuarios autorizados tengan acceso a los recursos, lo que reduce el riesgo de uso de recursos no autorizados y posibles implicaciones en los costos.

Uso de puertas de versión: use la administración de versiones de Azure Pipelines para definir y aplicar las puertas de lanzamiento. Puede configurar puntos de control manuales o automatizados para ayudar a garantizar que cumple criterios específicos, como comprobaciones de seguridad, requisitos de cumplimiento y umbrales de costo.

Uso de la infraestructura como código. Puede usar herramientas y servicios de Azure para implementar y administrar recursos de infraestructura mediante código. Mediante el uso de herramientas como plantillas de Azure Resource Manager (ARM), Azure Bicep y Azure DevOps, puede definir e implementar los recursos de infraestructura de forma declarativa. Azure tiene plantillas de Bicep, Azure Resource Manager y Terraform para cada recurso de Azure.

Use Azure Pipelines u otras herramientas de integración continua y entrega continua (CI/CD) para automatizar los procesos de compilación, prueba e implementación. Teams puede usar canalizaciones para definir una serie de pasos y acciones que se ejecutan automáticamente cada vez que se realizan cambios en el código base. Automatice estos procesos para reducir el esfuerzo manual, garantizar la coherencia y acelerar la entrega de software.

Considere la posibilidad de usar recursos de menor costo para los entornos efímeros o no de producción para optimizar los costos. Azure proporciona varios planes de tarifa para los recursos. Azure DevTest Labs precios y Azure Reservations son métodos de ahorro de costos que puede explorar para entornos efímeros.

Los repositorios de Git, como Azure Repos y GitHub, proporcionan funcionalidades de control de versiones para administrar configuraciones de código e infraestructura. Teams y desarrolladores pueden usar repositorios automatizados para colaborar, realizar un seguimiento de los cambios y mantener un historial de su código base.

Los entornos de implementación de Azure permiten a los equipos de desarrollo crear de forma rápida y sencilla la infraestructura de aplicaciones mediante plantillas basadas en proyectos que establecen coherencia y procedimientos recomendados a la vez que maximizan la seguridad. El acceso a petición a entornos seguros acelera las fases del ciclo de vida de desarrollo de software de forma compatible y rentable.

El Azure Developer CLI es una herramienta de código abierto que acelera el tiempo que se tarda en obtener la aplicación desde un entorno de desarrollo local a Azure. El Azure Developer CLI ofrece comandos descriptivos para desarrolladores que se asignan a las fases clave del flujo de trabajo, tanto si está trabajando en el terminal, un entorno de desarrollo integrado (IDE) o CI/CD.

Configuración de alertas de costos: use Microsoft Cost Management para optimizar los costos y aplicar límites de protección de gastos. Puede usar características de administración de costos para establecer presupuestos y alertas, visualizar la información de costos mediante herramientas como Power BI y analizar patrones de costos y cuellos de botella de rendimiento.

Alineación de la organización

Los equipos centrales deben usar las instrucciones de Cloud Adoption Framework para configurar límites de protección de gasto en toda la organización para que los equipos de cargas de trabajo comprendan lo que el equipo central puede ofrecer.

Animamos a la organización a adoptar límites de protección controlados por directivas. Para obtener un ejemplo de implementación, consulte Adopción de límites de protección controlados por directivas.

Lista de comprobación de optimización de costos

Consulte el conjunto completo de recomendaciones.