Administración de costes paralas soluciones de Azure

En el capítulo anterior, hemos hablado de etiquetas, políticas y bloqueos y cómo se pueden aprovechar desde el punto de vista del cumplimiento. Las etiquetas nos permiten agregar metadatos a nuestros recursos y también nos ayudan en la administración lógica de los recursos. En Azure Portal, podemos filtrar recursos en función de las etiquetas. Si damos por hecho que hay un gran número de recursos, algo bastante común en las empresas, el filtrado nos ayudará a administrar fácilmente nuestros recursos. Otra ventaja de las etiquetas es que se pueden utilizar para filtrar nuestros informes de facturación o de uso en términos de etiquetas. En este capítulo, vamos a explorar la administración de costes para las soluciones de Azure.
Ahorrar costes es el principal motivo por el que las empresas se están trasladando al cloud. Una suscripción a Azure no tiene ningún coste inicial. Azure proporciona una suscripción de pago por uso, en la que la facturación se basa en el consumo. Azure mide el uso de los recursos y proporciona facturas mensuales. No hay ningún límite máximo de consumo en Azure. Al estar en un cloud público, Azure (como cualquier otro proveedor de servicios) tiene algunos límites rígidos y flexibles en el número de recursos que se pueden implementar. Los límites flexibles se pueden aumentar si se consulta con el soporte técnico de Azure. Hay algunos recursos que tienen un límite rígido. Los límites de servicio
se pueden encontrar en https://docs.microsoft.com/azure/azure-resource-manager/
management/azure-subscription-service-limits y el límite predeterminado varía en
función del tipo de suscripción que tengas.
Es importante que las empresas tengan un control estricto del consumo y uso en Azure.
Aunque pueden crear políticas para establecer convenciones y estándares en la organización,
también es necesario que realicen un seguimiento de los datos de facturación y consumo en
Azure. Por otra parte, deben emplear prácticas recomendadas para consumir recursos de
Azure con el fin de aumentar al máximo los beneficios. Para ello, los arquitectos tienen que
conocer los recursos y las características de Azure, sus costes correspondientes y el análisis
de la relación coste/beneficio de las características y las soluciones.
En este capítulo, abordaremos los siguientes temas:

  • Detalles de la oferta de Azure
  • Facturación
  • Facturas
  • Uso y cuotas
  • API de uso y facturación
  • Calculadora de precios de Azure
  • Prácticas recomendadas para optimización de costes

Continuemos y analicemos cada uno de estos puntos.
Detalles de la oferta de Azure
Azure tiene diferentes ofertas que puedes comprar. Hasta ahora, hemos hablado del pago
por uso, pero hay otras, como contratos Enterprise Agreements (EA), Patrocinio de Azure
y Azure en CSP. Describiremos cada una de ellas, ya que son muy importantes para la
facturación:

  • Pago por uso: esta es una oferta muy conocida, en la que los clientes pagan en función
    del consumo y las tarifas están disponibles en la documentación pública de Azure.
    Los clientes reciben una factura de Microsoft cada mes por el uso y pueden pagar
    mediante una tarjeta de crédito o un método de pago de facturas.
  • EA: los EA implican un compromiso monetario con Microsoft, lo que significa que
    las organizaciones firman un contrato con Microsoft y prometen que utilizarán
    x cantidad de recursos de Azure. Si el uso supera el importe acordado, el cliente
    recibirá una factura por exceso de uso. Los clientes pueden crear varias cuentas
    bajo un EA y tener varias suscripciones dentro de estas cuentas. Hay dos tipos
    de EA: EA directo y EA indirecto. Los clientes de EA directo tienen una relación de facturación directa con Microsoft; por otro lado, con el EA indirecto, la facturación la administra un partner. Los clientes de EA recibirán mejores ofertas y descuentos gracias al compromiso que tienen con Microsoft. El EA se administra a través de un portal llamado portal de EA (https://ea.azure.com) y necesitas tener privilegios de inscripción para acceder a este portal.
  • Azure en CSP: Azure en CSP es donde un cliente establece contacto con un partner de
    proveedor de soluciones en el cloud (CSP) y este partner aprovisiona una suscripción
    para el cliente. La facturación la administrará completamente el partner; el cliente no
    tendrá una relación de facturación directa con Microsoft. Microsoft factura al partner
    y al partner factura al cliente, tras agregarle su margen.
  • Patrocinio de Azure: Microsoft ofrece patrocinio a startups, ONG y otras organizaciones
    sin ánimo de lucro para que utilicen Azure. El patrocinio tiene un plazo fijo y una
    cantidad fija de crédito. Si el plazo expira o el crédito se agota, la suscripción se
    convertirá en una suscripción de pago por uso. Si las organizaciones quieren
    renovar su derecho de patrocinio, tienen que consultarlo con Microsoft.

Hemos descrito algunas de las ofertas de Azure. La lista completa está disponible en
https://azure.microsoft.com/support/legal/offer-details, que incluye otras ofertas,
como Azure for Students, Azure Pass y suscripciones de Desarrollo/pruebas.
A continuación, hablemos de la facturación en Azure.

Descripción de la facturación
Azure es una utilidad de servicios que tiene las siguientes características:

  • Sin costes iniciales
  • Sin tarifas de cancelación
  • Facturación por segundo, por minuto o por hora en función del tipo de recurso
  • Pago basado en el consumo continuado

En estas circunstancias, resulta muy difícil calcular el coste inicial del consumo de recursos
de Azure. Cada recurso de Azure tiene su propio modelo de costes y se cobra en función del
almacenamiento, el uso y el intervalo de tiempo. Es muy importante para los departamentos
de gerencia, administración y finanzas controlar el uso y los costes. Azure proporciona
las capacidades para crear informes de uso y facturación para que la alta dirección y los
administradores puedan generar informes de uso y costes basados en diversos criterios.
Azure Portal ofrece información detallada de facturación y uso a través de la característica
Gestión de costes + facturación, a la que se puede obtener acceso desde la hoja de
navegación principal, como se muestra en la Figura 6.1:

Ten en cuenta que si la facturación la administra un CSP, no podrás acceder a esta
característica. Los clientes de CSP pueden ver sus costes en el esquema de pago por uso
si hacen la transición de sus suscripciones heredadas de CSP al plan de Azure. Hablaremos
del plan de Azure y de la plataforma de comercio moderno más adelante en el capítulo.
Gestión de costes + facturación muestra todas las suscripciones y los ámbitos de
facturación a los que tienes acceso, como se muestra en la Figura 6.2:

La sección Gestión de costes (Cost Management) tiene varias hojas, como:

  • Análisis de costes (Cost analysis) para analizar el uso de un ámbito.
  • Presupuestos (Budgets) para la configuración de presupuestos.
  • Alertas de costes (Cost alerts) para notificar a los administradores cuando el uso
    supere un determinado umbral.
  • Recomendaciones del asesor (Advisor recommendations) para obtener asesoramiento
    sobre cómo lograr ahorros potenciales. Hablaremos de Azure Advisor en la última
    sección de este capítulo.
  • Exportaciones (Exports) para automatizar las exportaciones de uso a Azure Storage.
  • Cloudyn, que es una herramienta que utilizan los partners de CSP para analizar costes,
    ya que no tienen acceso a Cost Management.
  • Conectores para AWS (Connectors for AWS) para conectar tus datos de consumo
    de AWS a Azure Cost Management.

Las diferentes opciones disponibles en Azure Cost Management se muestran en la Figura 6.3:

Al hacer clic en el menú Análisis de costes (Cost analysis) de esta hoja, se proporciona
un panel interactivo completo con el que se pueden analizar los costes con diferentes
dimensiones y medidas:

El panel no solo muestra el coste actual, sino que también predice el coste y lo desglosa
en función de varias dimensiones. Nombre de servicio, Ubicación y Nombre de grupo de
recursos se proporcionan de manera predeterminada, aunque también se pueden cambiar
por otras dimensiones. Siempre habrá un ámbito asociado a cada vista. Algunos de los
ámbitos disponibles son cuenta de facturación, grupo de administración, suscripción
y grupo de recursos. Puedes cambiar el ámbito en función del nivel que desees analizar.
El menú Presupuestos (Budgets) de la izquierda nos permite configurar el presupuesto
para una mejor administración de costes y proporciona características de alerta en caso
de que el coste real vaya a incumplir las estimaciones del presupuesto:

Cost Management también nos permite recuperar datos de costes de otros clouds, como
AWS, en los paneles actuales, con lo que administramos los costes de varios clouds desde
una sola hoja y panel. Sin embargo, esta característica está en este momento en preview.
Este conector se volverá de pago después del 25 de agosto de 2020.

Debes rellenar los detalles de tu rol de AWS y otros datos para extraer la información
de costes, como se muestra en la Figura 6.5. Si no estás seguro de cómo crear la política
y el rol en AWS, consulta https://docs.microsoft.com/azure/cost-management-billing/
costs/aws-integration-set-up-configure#create-a-role-and-policy-in-aws:

Los informes de costes también se pueden exportar a una cuenta de almacenamiento
periódicamente.
Parte del análisis de costes también está disponible en la hoja Suscripciones. En la sección
Información general, puedes ver los recursos y su coste. Además, hay otro gráfico en el
que puedes ver el gasto actual, la previsión y el crédito de saldo (si utilizas una suscripción
basada en crédito).

Al hacer clic en cualquiera de los costes de la Figura 6.7, se te redirigirá a la sección
Administración de costes (Cost Management) – Análisis de costes (Cost Analysis).
Cost Management tiene muchas dimensiones con las que puedes agrupar los datos
para su análisis. Las dimensiones disponibles variarán en función del ámbito que
hayas seleccionado. Algunas de las dimensiones más utilizadas son las siguientes:

  • Tipos de recursos
  • Grupo de recursos
  • Etiqueta
  • Ubicación de recursos
  • Id. de recurso
  • Categoría de medición
  • Subcategoría de medición
  • Servicio

Al principio del capítulo, comentamos que las etiquetas se pueden utilizar para la
administración de costes. Por ejemplo, supongamos que tienes una etiqueta denominada
Departamento con valores de TI, Recursos Humanos y Finanzas. El etiquetado adecuado de
los recursos te ayudará a comprender el coste incurrido por cada departamento. También
se puede descargar el informe de costes como archivo CSV, Excel o PNG mediante el botón
Descargar.
Además, Cost Management admite varias vistas. Puedes crear tu propio panel y guardarlo.
Los clientes de EA obtienen la ventaja adicional del conector de Cost Management o Power
BI. Con el conector, los usuarios pueden extraer las estadísticas de uso en Power BI y crear
visualizaciones.
Hasta ahora, hemos explicado cómo podemos realizar un seguimiento de nuestro uso
mediante Cost Management. En la siguiente sección, analizaremos cómo funciona la
facturación de los servicios que hemos utilizado.
Facturación
El sistema de facturación de Azure también proporciona información sobre las facturas
que se generan cada mes.
En función del tipo de oferta, el método de facturación puede variar. Para los usuarios
de pago por uso, las facturas se enviarán mensualmente al administrador de la cuenta. Sin
embargo, para clientes de EA, la factura se enviará al contacto que figura en la inscripción.
Al hacer clic en el menú Facturas, se abre una lista de todas las facturas generadas y,
al hacer clic en cualquiera de las facturas, se proporciona información detallada sobre
dicha factura. En la Figura 6.8 se muestra cómo se ven las facturas en Azure Portal:

Hay dos tipos de facturas: una para servicios de Azure como SQL, Máquinas virtuales
y Redes. Y otra para Azure Marketplace y Azure Reservations. Azure Marketplace
proporciona servicios de partners de diferentes proveedores para clientes. Hablaremos
de Azure Reservations más adelante.
De forma predeterminada, para una suscripción de pago por uso, el administrador de la
cuenta tiene acceso a las facturas. Si lo desea, puede delegar el acceso a otros usuarios, como
el equipo de finanzas de la organización, al seleccionar la opción Acceder a factura (Access
invoice) que se muestra en la Figura 6.8. Además, el administrador de la cuenta puede optar
por direcciones de correo electrónico a las que desee enviar las copias de las facturas.
La opción Enviar factura por correo (Email Invoice) no está disponible actualmente para
el plan de soporte. De manera alternativa, puedes visitar el portal de cuentas y descargar
la factura. Microsoft está abandonando lentamente este portal y la mayoría de las
características se están quedando obsoletas a medida que se integran en Azure Portal.
Hasta ahora, hemos hablado de las suscripciones y de cómo se realiza la facturación. Una
novedad que ha introducido Microsoft es el comercio moderno. Con esta nueva experiencia
de comercio, se ha simplificado el proceso y la experiencia de compra. Echemos un vistazo
más de cerca al comercio moderno y veamos en qué se diferencia de la plataforma heredada
que hemos comentado hasta ahora.

La experiencia del comercio moderno
Si tu organización ya está trabajando con Microsoft, sabrás que hay varios contratos para
cada oferta, como Web Direct, EA, CSP, Microsoft Service and Product Agreement (MSPA),
Server Cloud Enrollments (SCE) y así sucesivamente. Además, cada uno de ellos tiene su
propio portal; por ejemplo, los EA tienen el portal de EA, CSP tiene el portal Centro de
partners y Licencias por volumen también tiene su propio portal.
Cada oferta incluye un conjunto de términos y condiciones diferentes, y los clientes tienen
que pasar por ellos cada vez que hacen una compra. La transición de una oferta a otra no
es muy fácil, ya que cada oferta tiene un conjunto diferente de términos y condiciones.
Imaginemos que ya tienes una suscripción a EA y quieres convertirla a una suscripción
de CSP; es posible que tengas que eliminar algunos de los servicios de partners, ya que no
son compatibles con CSP. Para cada producto, cada oferta tendrá reglas diferentes. Desde
el punto de vista de un cliente, es muy difícil entender qué admite cada oferta y en qué se
diferencian las reglas.
Para solucionar este problema, Microsoft ha publicado recientemente un nuevo contrato
denominado Contrato de cliente de Microsoft (MCA). Este se utilizará como los términos
y condiciones básicos. Puedes presentar enmiendas cuando sea necesario al inscribirte
en un nuevo programa.
Para Azure, habrá tres programas Go-To-Market (GTM):

  • Field Led: los clientes interactuarán directamente con el equipo de cuentas de Microsoft
    y Microsoft gestionará la facturación directamente. Finalmente, este reemplazará a los EA.
  • Partner Led: equivale al programa Azure en CSP, donde un partner administra tu
    facturación. Hay diferentes partners en todo el mundo. Una búsqueda web rápida te
    ayudará a encontrar los partners cerca de ti. Este programa reemplazará el programa
    Azure en CSP. Como primer paso hacia el comercio moderno, un partner firmará
    un contrato Microsoft Partner Agreement (MPA) con Microsoft y hará la transición
    de sus clientes existentes al hacerles firmar el MCA. En el momento de escribir este
    libro, muchos partners han hecho la transición de sus clientes al comercio moderno,
    y la nueva experiencia comercial está disponible en 139 países.
  • Self Service: será un sustituto de Web Direct. No requiere ninguna participación
    del partner o del equipo de cuentas de Microsoft. Los clientes pueden comprar
    directamente en microsoft.com y firmarán el MCA durante la compra.

En Azure, la facturación se realizará en el plan de Azure y la facturación siempre estará
alineada con el mes natural. Comprar un plan de Azure es muy similar a comprar cualquier
otra suscripción. La diferencia es que se firmará el MCA durante el proceso.
El plan de Azure puede hospedar varias suscripciones y actuará como un contenedor de
nivel de raíz. Todo el uso está vinculado a un único plan de Azure. Todas las suscripciones
del plan de Azure actuarán como contenedores para hospedar servicios, como Máquinas
virtuales, SQL Database y Redes.
Algunos de los cambios y avances que podríamos observar tras la introducción del comercio
moderno son los siguientes:

  • Finalmente, los portales dejarán de utilizarse. Por ejemplo, los primeros clientes de EA
    solo pudieron descargar la información de uso de la inscripción desde el portal de EA.
    Ahora Microsoft la ha integrado en Azure Cost Management con una experiencia más
    completa que el portal de EA.
  • Los precios se realizarán en USD y se facturarán en la divisa local. Si tu divisa no
    es USD, entonces se aplicará la tasa de cambio de divisas (FX) y estará disponible
    en tu factura. Microsoft utiliza las tasas FX de Thomson Reuters y estas tasas se
    asignarán el primero de cada mes. Este valor será uniforme durante todo el mes,
    independientemente de cuál sea la tasa de mercado.
  • Los clientes de CSP que realicen la transición al nuevo plan de Azure podrán
    usar Cost Management. El acceso a Cost Management abre un nuevo mundo
    de seguimiento de costes, ya que proporciona acceso a todas las características
    nativas de Cost Management.

Todas las suscripciones que hemos descrito hasta el momento se trasladarán con el tiempo
a un plan de Azure, que es el futuro de Azure. Ahora que ya conoces los conceptos básicos
del comercio moderno, analicemos otro tema que desempeña un papel muy importante
al diseñar soluciones. La mayoría de los servicios tienen límites de forma predeterminada;
algunos de estos límites se pueden ampliar mientras que otros son límites rígidos. Cuando
estamos diseñando una solución, tenemos que asegurarnos de que haya una cuota amplia.
La planificación de la capacidad es una parte esencial del diseño arquitectónico. En la
siguiente sección, aprenderás más sobre los límites de las suscripciones.

Uso y cuotas
Como se ha mencionado en la sección anterior, la planificación de la capacidad debe ser
uno de los primeros pasos al diseñar una solución. Tenemos que verificar si la suscripción
tiene suficiente cuota para dar cabida a los nuevos recursos que estamos diseñando. Si no
lo hacemos, durante la implementación, es posible que tengamos problemas.
Cada suscripción posee una cuota limitada para cada tipo de recurso. Por ejemplo, podría
haber un máximo de 10 direcciones IP públicas aprovisionadas con una cuenta de Microsoft
de MSDN. Del mismo modo, todos los recursos tienen un límite máximo predeterminado
para cada tipo de recurso. Para aumentar las cifras de los tipos de recursos de una
suscripción, ponte en contacto con el servicio de soporte técnico de Azure o haz clic en el
botón Solicitar aumento en la hoja Uso (Usage) + Cuota (Quota) en la página Suscripción.
Teniendo en cuenta el número de recursos en cada región, será difícil recorrer toda la
lista. El portal ofrece opciones para filtrar el conjunto de datos y buscar lo que queremos.
En la Figura 6.9, puedes comprobar que si filtramos la ubicación por Centro de EE. UU.
y establecemos el proveedor de recursos en Microsoft.Storage, podemos confirmar qué
cuotas están disponibles para las cuentas de almacenamiento:

Puedes ver claramente en la Figura 6.9 que no hemos creado ninguna cuenta de
almacenamiento en Centro de EE. UU. y eso nos deja una cuota de 250 cuentas. Si la solución
que estamos diseñando requiere más de 250 cuentas, tenemos que hacer clic en Solicitar
aumento para ponernos en contacto con el servicio de soporte técnico de Azure.
Esta hoja nos da la libertad de realizar la planificación de capacidad antes de la implementación.
Al filtrar el informe, hemos usado el término proveedor de recursos y hemos seleccionado
Microsoft.Storage. En la siguiente sección, examinaremos con mayor detalle lo que significa
este término.

Proveedores de recursos y tipos de recursos
Tanto si interactúas con Azure Portal, filtras servicios o filtras el informe de uso de
facturación, es posible que tengas que trabajar con proveedores de recursos y tipos
de recursos. Por ejemplo, al crear una máquina virtual, interactúas con el proveedor
de recursos Microsoft.Compute y el tipo de recurso virtualMachines. El botón Crear
en el que has hecho clic para crear las máquinas virtuales se comunica con el proveedor
de recursos a través de una API para realizar la implementación. Esto siempre se indica
con el formato {resource-provider}/{resource-type}. Por lo tanto, el tipo de recurso
de la máquina virtual es Microsoft.Compute/virtualMachines. En resumen, los proveedores
de recursos ayudan a crear tipos de recursos.
Los proveedores de recursos tienen que estar registrados con una suscripción a Azure.
Los tipos de recursos no están disponibles en una suscripción si los proveedores de
recursos no están registrados. De forma predeterminada, la mayoría de los proveedores
se registran automáticamente; dicho esto, habrá escenarios en los que debamos
registrarnos manualmente.
Para obtener una lista de los proveedores que están disponibles, los que están registrados
y los que no, y para registrar a los proveedores no registrados o viceversa, se puede utilizar
el panel mostrado en la Figura 6.10. Para esta operación, debes tener asignados los roles
necesarios: los roles de propietario o colaborador serán suficientes. En la Figura 6.10 se
muestra el aspecto del panel:

En la sección anterior, hemos explicado cómo descargar facturas e información de uso.
Si tienes que descargar los datos mediante programación y guardarlos, puedes usar las API.
La siguiente sección trata sobre las API de facturación de Azure.

API de uso y facturación
Aunque el portal es una excelente forma de encontrar manualmente información sobre
el uso, la facturación y las facturas, Azure también proporciona las siguientes API para
recuperar detalles mediante programación y crear paneles e informes personalizados.
Las API varían en función del tipo de suscripción que utilices. Como hay muchas API, vamos
a compartir la documentación de Microsoft con cada API para que puedas explorarlas todas.

API de facturación de Azure Enterprise
Los clientes de EA tienen un conjunto dedicado de API disponibles para que puedan trabajar
con datos de facturación. Las siguientes API utilizan la clave de API del portal de EA para la
autenticación; los tokens de Azure Active Directory no funcionarán con ellas:

  • API de saldos y resumen: como ya hemos comentado anteriormente, EA trabaja con
    un compromiso monetario y es muy importante realizar un seguimiento del saldo,
    el exceso de gastos, los ajustes de crédito y los cargos de Azure Marketplace. Con esta
    API, los clientes pueden obtener el saldo y el resumen de un período de facturación.
  • API de detalles de uso: la API de detalles de uso te ayudará a obtener información de
    uso diario sobre la inscripción con granularidad hasta el nivel de instancia. La respuesta
    de esta API será como el informe de uso que se puede descargar desde el portal de EA.
  • API de gasto en la tienda Marketplace: es una API dedicada para extraer los cargos
    de las compras de Marketplace.
  • API de hoja de precios: cada inscripción tendrá una hoja de precios especial y los
    descuentos varían según el cliente. La API de hoja de precios puede extraer la lista
    de precios.
  • API de detalles de instancia reservada: hasta ahora no hemos hablado de Azure
    Reservations, pero lo haremos al final de este capítulo. Con esta API, puedes obtener
    información de uso sobre las reservas y una lista de las reservas en la inscripción.

Este es el enlace a la documentación de las API de EA: https://docs.microsoft.com/azure/
cost-management-billing/manage/enterprise-api
Echemos un vistazo ahora a las API de consumo de Azure.

API de consumo de Azure
Las API de consumo de Azure se pueden utilizar con EA y con suscripciones Web Direct
(con algunas excepciones). Para ello, es necesario un token, que debe generarse mediante
la autenticación en Azure Active Directory. Como estas API también admiten EA, no
confundas este token con la clave de API de EA que mencionamos en la sección anterior.
Estas son las API clave que no necesitan explicación:

  • API de detalles de uso
  • API de cargos de Marketplace
  • API de recomendaciones de reserva
  • API de resumen y detalles de reserva

Los clientes de EA cuentan con soporte adicional para las siguientes API:

  • Hoja de precios
  • Presupuestos
  • Saldos

La documentación está disponible aquí: https://docs.microsoft.com/azure/costmanagement-
billing/manage/consumption-api-overview.
Además, hay otro conjunto de API que solo pueden utilizar los clientes de Web Direct:

  • API de uso de recursos de Azure: esta API se puede utilizar con un EA o una
    suscripción de pago por uso para descargar los datos de uso.
  • API de lista de tarifas de recursos de Azure: solo se aplica a Web Direct; no se
    admiten los EA. Los clientes de Web Direct pueden usar esta opción para descargar
    hojas de precios.
  • API de descarga de facturas de Azure: solo se aplica a los clientes de Web Direct.
    Se utiliza para descargar facturas mediante programación.

Los nombres pueden resultar familiares y la diferencia es solo el punto de conexión al que
estamos llamando. Para las API de facturación de Azure Enterprise, la URL comenzará por
https://consumption.azure.com y, para las API de consumo de Azure, la URL comenzará
por https://management.azure.com. Así es como puedes diferenciarlas. En la siguiente
sección, verás un nuevo conjunto de API que utiliza específicamente Cost Management.

API de Azure Cost Management
Con la introducción de Azure Cost Management, el cliente puede utilizar un nuevo conjunto
de API. Estas API son la columna vertebral de Cost Management y las hemos utilizado
anteriormente en Azure Portal. Las API clave son las siguientes:

  • API de uso de consulta: es la misma API que usa Cost Analysis en Azure Portal.
    Podemos personalizar la respuesta con lo que necesitamos mediante una carga.
    Es muy útil cuando queremos un informe personalizado. El intervalo de fechas
    no puede superar los 365 días.
  • API de presupuestos: Presupuestos (Budgets) es otra característica de Azure Cost
    Management y esta API nos permite interactuar con los presupuestos mediante
    programación.
  • API de previsión: se puede utilizar para obtener una previsión de un ámbito. La API
    de previsión solo está disponible actualmente para los clientes de EA.
  • API de dimensiones: anteriormente, cuando hemos hablado de Cost Management,
    hemos dicho que Cost Management admite varias dimensiones en función del
    ámbito. Si quieres obtener la lista de dimensiones admitidas en función de un ámbito
    específico, puedes utilizar esta API.
  • API de exportaciones: otra característica de Cost Management es que podemos
    automatizar la exportación del informe a una cuenta de almacenamiento. La API de
    exportaciones se puede utilizar para interactuar con la configuración de exportación,
    como el nombre de la cuenta de almacenamiento, la personalización, la frecuencia, etc.

Consulta la documentación oficial en https://docs.microsoft.com/rest/api/cost-management.
Dado que el comercio moderno está ampliando el MCA, hay un conjunto totalmente nuevo
de API que se pueden explorar aquí: https://docs.microsoft.com/rest/api/billing
Es posible que te hayas dado cuenta de que no hemos mencionado CSP en ninguno de
estos escenarios. En CSP, el cliente no tiene acceso a la facturación ya que lo administra
un partner, por lo que las API no están expuestas. Sin embargo, una transición a un plan
de Azure permitiría al cliente de CSP usar las API de Azure Cost Management para ver
las tarifas de comercio minorista.
Se puede utilizar cualquier lenguaje de programación o scripting para usar estas API
y combinarlas para crear soluciones de facturación completas. En la siguiente sección,
nos centraremos en la calculadora de precios de Azure, que ayudará al cliente o arquitecto
a comprender el coste de una implementación.

Calculadora de precios de Azure
Azure ofrece una calculadora de costes para que los usuarios y clientes puedan realizar
estimaciones de sus costes y uso. Esta calculadora está disponible en https://azure.
microsoft.com/pricing/calculator:

Los usuarios pueden seleccionar varios recursos en el menú de la izquierda y estos se agregará
a la calculadora. En el ejemplo siguiente, se agrega una máquina virtual. Se debe proporcionar
una configuración adicional con respecto a la región de la máquina virtual, el sistema operativo,
el nivel, el tamaño de instancia, el número de horas y el recuento para calcular costes:

Del mismo modo, el coste de Azure Functions, que se relaciona con el tamaño de la
memoria de la máquina virtual, el tiempo de ejecución y las ejecuciones por segundo,
se muestra en la Figura 6.13:

Azure proporciona diferentes niveles y planes de soporte:

  • Soporte predeterminado: gratuito
  • Soporte para desarrolladores: 29 USD al mes
  • Soporte estándar: 300 USD al mes
  • Professional Direct: 1000 USD al mes

Para ver una comparación completa de los planes de soporte, consulta https://azure.
microsoft.com/support/plans.
Puedes seleccionar el soporte que desees en función de tus requisitos. Por último,
se muestra el coste total estimado:

Es importante que los arquitectos conozcan todas las características de Azure que se
utilizan en su arquitectura y solución. El éxito de la calculadora de Azure depende de los
recursos seleccionados y del modo en que estén configurados. Cualquier falseamiento daría
lugar a estimaciones sesgadas e incorrectas y no se corresponderían con la facturación real.
Hemos llegado a la última sección de este capítulo. Hemos tratado los conceptos básicos de
facturación y ahora es el momento de aprender las prácticas recomendadas. El cumplimiento
de las prácticas recomendadas te ayudará a lograr la optimización de costes.
Prácticas recomendadas
Los arquitectos tienen que entender su arquitectura y los componentes de Azure que se
utilizan. Con la supervisión activa, las auditorías y el uso, deberían determinar la mejor
oferta de Microsoft en cuanto a SKU, tamaño y características. En esta sección se detallan
algunas de las prácticas recomendadas que deben adoptarse desde la perspectiva de
optimización de costes.
Azure Governance
Azure Governance puede definirse como un conjunto de procesos o mecanismos que se
pueden aprovechar para mantener un control completo sobre los recursos implementados
en Azure. Algunos de los puntos clave son los siguientes:

  • Configura una convención de nomenclatura para todos los tipos de recursos y grupos
    de recursos. Asegúrate de que la convención de nomenclatura se cumple de manera
    uniforme y exhaustiva en todos los recursos y grupos de recursos. Esto se puede hacer
    mediante el establecimiento de políticas de Azure.
  • Configura una organización lógica y varias taxonomías para recursos, grupos de recursos y suscripciones mediante la aplicación de etiquetas. Las etiquetas clasifican los recursos y también pueden ayudar a evaluar los costes desde diferentes perspectivas. Esto se puede hacer mediante el establecimiento de políticas de Azure y se pueden combinar varias políticas en iniciativas. Estas iniciativas se pueden aplicar, lo que a su vez aplicará todas las políticas para comprobaciones de cumplimiento y presentación de informes.
  • Usa Azure Blueprints en lugar de plantillas de ARM directamente. Esto garantizará
    que la implementación de nuevos entornos, recursos y grupos de recursos pueda
    estandarizarse de acuerdo con las normas corporativas, incluidas convenciones
    de nomenclatura y el uso de etiquetas.

Prácticas recomendadas de computación
La computación se refiere a los servicios que contribuyen a la ejecución de los servicios.
Estas son algunas de las prácticas recomendadas de computación que deben seguir los
arquitectos de Azure para una utilización óptima de los recursos y la rentabilidad:

  • Aprovecha Azure Advisor con el fin de conocer las opciones disponibles para
    ahorrar costes en tus máquinas virtuales y para averiguar si una máquina virtual está
    infrautilizada. Advisor utiliza patrones de machine learning e inteligencia artificial
    para analizar tu uso y ofrecer recomendaciones. Estas recomendaciones desempeñan
    un papel importante en la optimización de costes.
  • Utiliza Azure Reserved Instances (RI). Las RI pueden permitirte ahorros potenciales
    en costes de computación al pagar el coste de la máquina virtual por adelantado
    o mensualmente. El plazo de la RI puede ser de uno o de tres años. Si compras una RI,
    se reducirán los costes de computación y solo verás los cargos de disco, red y licencia
    (si los hay) de una máquina virtual. Si tienes cinco máquinas virtuales, puedes optar
    por cinco RI para suprimir completamente el coste de computación. Las RI buscan
    automáticamente máquinas virtuales con la SKU correspondiente y se adjuntan a ella.
    El ahorro potencial puede variar entre un 20 y un 40 % dependiendo del tamaño de
    la máquina virtual.
  • Con Azure Hybrid Benefit (AHUB), puedes utilizar tus propias licencias de Windows
    Server o SQL para reducir el coste de la licencia. La combinación de RI y AHUB puede
    ofrecerte inmensos ahorros.
  • Elige la mejor ubicación para tus servicios de computación, tales como máquinas
    virtuales. Elige un lugar donde todas las características de Azure estén disponibles
    juntas en la misma región. Esto evitará el tráfico de salida.
  • Elige el tamaño óptimo de las máquinas virtuales. Una máquina virtual de gran tamaño
    tiene unos costes más altos que otra de un tamaño más pequeño, y puede que no sea
    necesario tener una máquina virtual de un tamaño tan grande.
  • Cambia el tamaño de las máquinas virtuales durante las épocas de mayor demanda y reduce su tamaño cuando la demanda disminuya. Azure lanza nuevas SKU con bastante frecuencia. Si un nuevo tamaño se adapta mejor a tus necesidades, debes utilizarlo.
  • Cierra los servicios de computación durante las horas de inactividad o cuando no sean
    necesarios. Esto se aplica a entornos que no son de producción.
  • Elimina la asignación de las máquinas virtuales en lugar de cerrarlas. Esto liberará
    todos sus recursos y el medidor de su consumo se detendrá.
  • Utiliza laboratorios de desarrollo y de pruebas con fines de desarrollo y pruebas.
    Incluyen políticas y disponen de características de parada e inicio automáticos.
  • Con conjuntos de escalado de máquinas virtuales, comienza con un número pequeño
    de máquinas virtuales y auméntalo cuando la demanda crezca.
  • Elige el tamaño adecuado (pequeño, mediano o grande) para las puertas de enlace de
    las aplicaciones. Tienen el respaldo de máquinas virtuales y pueden ayudar a reducir
    los costes.
  • Elige la puerta de enlace de aplicaciones de nivel básico si no es necesario que haya
    un firewall de aplicaciones web.
  • Elige los niveles correctos para las puertas de enlace VPN (VPN básica, estándar,
    de alto rendimiento o ultra rendimiento).
  • Reduce el tráfico de red entre regiones de Azure.
  • Utiliza un equilibrador de carga con una IP pública para obtener acceso a múltiples
    máquinas virtuales en lugar de asignar una IP pública a cada máquina virtual.
  • Supervisa las máquinas virtuales y calcula sus métricas de rendimiento y uso. Según
    esos cálculos, determina si quieres aumentar o reducir tus máquinas virtuales. Esto
    podría ocasionar la reducción del tamaño y el número de máquinas virtuales.

Si se tienen en cuenta estas prácticas recomendadas durante el diseño se producirán sin
duda ahorros en los costes. Ahora que hemos descrito la computación, vamos a adoptar
un enfoque similar con el almacenamiento.
Prácticas recomendadas de almacenamiento
Puesto que hospedamos nuestras aplicaciones en el cloud, se usará Azure Storage para
almacenar los datos relacionados con estas aplicaciones. Si no seguimos las prácticas
correctas, las cosas pueden salir mal. Estas son algunas de las prácticas recomendadas
para el almacenamiento:

  • Elige un tipo adecuado de redundancia de almacenamiento (GRS, LRS, RA-GRS).
    GRS es más costoso que LRS.
  • Archiva los datos de almacenamiento en el nivel de datos de acceso esporádico o de acceso de archivo. Mantén los datos a los que se accede con más frecuencia en el nivel caliente.
  • Quita los blobs que no son necesarios.
  • Elimina explícitamente los discos del sistema operativo de la máquina virtual después
    de eliminar las máquinas virtuales si no son necesarios.
  • Las cuentas de almacenamiento se deben medir en función de sus operaciones de
    dimensionamiento, escritura, lectura, lista y contenedor.
  • Utiliza preferentemente discos estándar en lugar de discos premium; utiliza discos
    premium solo si tu empresa lo requiere.
  • Usa CDN y almacenamiento en caché de archivos estáticos en lugar de recuperarlos
    del almacenamiento en cada ocasión.
  • Azure ofrece capacidad reservada para ahorrar costes en datos de blob.

Mantener estas prácticas recomendadas a mano te ayudará a diseñar soluciones de
almacenamiento rentables. En la siguiente sección, vamos a describir las prácticas
recomendadas implicadas en la implementación de servicios PaaS.

Prácticas recomendadas de PaaS
Azure ofrece numerosos servicios PaaS y, si están mal configurados, es probable que acabes
con cargos inesperados en la factura. Para evitar este escenario, puedes aprovechar las
siguientes prácticas recomendadas:

  • Elige un nivel adecuado de SQL de Azure (básico, estándar, premium RS o premium)
    y los niveles de rendimiento adecuados.
  • Elige adecuadamente entre una base de datos individual y una elástica. Si hay una gran
    cantidad de bases de datos, es más rentable utilizar bases de datos elásticas en lugar
    de bases de datos individuales.
  • Rediseña tu solución para que utilice soluciones de PaaS (sin servidor o microservicios
    con contenedores) en lugar de soluciones de IaaS. Estas soluciones de PaaS no
    tienen costes de mantenimiento y su consumo se factura por minuto. Si no utilizas
    estos servicios, no hay ningún coste a pesar de que tu código y tus servicios están
    disponibles todo el día.

Cada recurso posee optimizaciones de costes específicas y no es posible explicarlas todas
en un solo capítulo. Te recomendamos leer la documentación relacionada con el coste de
cada característica y uso.

Prácticas recomendadas generales
Hasta ahora, hemos analizados las prácticas recomendadas específicas de cada servicio
y vamos a terminar esta sección con algunas directrices generales:

  • El coste de los recursos es diferente en cada región. Prueba una región alternativa,
    siempre y cuando no cree ningún problema de rendimiento o latencia.
  • Los EA ofrecen mejores descuentos que otras ofertas. Puedes hablar con el equipo
    de cuentas de Microsoft y ver las ventajas que puedes obtener si te registras en un EA.
  • Si los costes de Azure se pueden pagar por adelantado, obtendrás descuentos para
    todos los tipos de suscripciones.
  • Elimina o retira los recursos que no se utilicen. Averigua qué recursos están
    infrautilizados y reduce su tamaño o SKU. Si no son necesarios, elimínalos.
  • Utiliza Azure Advisor y tómate muy en serio sus recomendaciones.

Como hemos mencionado anteriormente, existen algunas directrices genéricas y,
a medida que diseñes más soluciones, podrás crear un conjunto de prácticas recomendadas
personalizado. Pero para empezar, puedes tener en cuenta esta. Sin embargo, cada
componente de Azure tiene sus propias prácticas recomendadas y consultar la documentación
mientras estás trabajando en la arquitectura te ayudará a crear una solución rentable.
Resumen
En este capítulo, hemos aprendido la importancia de la gestión y administración de costes
al trabajar en un entorno de cloud. También hemos descrito las diversas opciones de
precios de Azure y las diversas capacidades de optimización de precios que ofrece Azure.
La administración del coste de un proyecto es primordial principalmente porque el gasto
mensual podría ser muy bajo, pero podría aumentar si los recursos no se supervisan
periódicamente. Los arquitectos del cloud deben diseñar sus aplicaciones de forma
rentable. Deben usar los recursos adecuados de Azure, así como las SKU, niveles y tamaños
apropiados, y deben saber cuándo iniciar, detener, escalar o reducir de forma vertical
y horizontal, transferir datos y muchas otras cosas. Con una administración adecuada
de los costes, los gastos reales se ajustarán a los gastos presupuestados.
En el siguiente capítulo, vamos a examinar varias características de Azure relacionadas
con los servicios de datos, como Azure SQL, Cosmos DB y el particionamiento.