Importar datos en la Caculadora de Precios de Azure

Importar datos en la Caculadora de Precios de Azure

Para los que trabajamos con Azure, la Calculadora de Precios oficial de Microsoft es una herramienta habitual para conocer el coste de dimensionamiento de un entorno u arquitectura.

Además de ser muy intuitiva, al finalizar nuestra estimación nos permite exportar los datos a un archivo de Excel, ideal para adjuntar a nuestra propuesta de servicio.

Sin embargo, la herramienta adolece de un importante problema. La estimación que hemos realizado se guarda en las cookies de nuestro navegador, por lo que si se eliminan o nos cambiamos de máquina perdemos toda la información.

Es más, imaginemos que queremos llevar tres estimaciones en paralelo. Si usamos la misma sesión del navegador, en cuanto acabemos con una tendremos que eliminarla y comenzar con la siguiente.

En otras palabras, podemos exportar estimaciones pero no podemos importarlas.

Solución: Azure Calculator JSON Export/Import

Andhika Nugraha debe haber sido muy consciente de este problema y ha desarrollado una extensión de navegador compatible con Edge, Firefox y Chrome para que podamos importar y exportar estimaciones de precios.

La extensión se puede encontrar en este repositorio de Github.

Una vez habilitada, veréis como en la calculadora aparecen dos nuevos botones: Export JSON e Import JSON.

No sólo esto nos permitirá guardar nuestras estimaciones, sino que al ser formato JSON es muy fácilmente procesable de forma programática.

Os dejo un ejemplo de JSON generado a partir de una estimación.

{
  "version": "0.1",
  "createdAt": "2017-07-18T09:02:22.825Z",
  "data": [
    {
      "key": "calculator.servicesv3",
      "transform": "JSON.stringify",
      "value": [
        {
          "region": "europe-west",
          "type": "windows",
          "tier": "standard",
          "license": "",
          "size": "d14v2",
          "count": 1,
          "hours": 744,
          "hoursFactor": "1",
          "slesPremium": false,
          "addManagedDisks": true,
          "managedDiskType": "premium-p10",
          "managedDisks": "2",
          "slug": "virtual-machines",
          "price": 1700.992,
          "displaySku": false,
          "sku": {
            "vmSku": "997-03377",
            "managedDisks": "N9H-00320"
          },
          "description": "1 Estándar máquinas virtuales, tamaño D14 v2 (16 núcleos, 112 GB de RAM, 800 GB en disco): 744 horas , Managed disks: premium-p10 tipo de disco con 2 discos"
        },
        {
          "region": "europe-west",
          "type": "page",
          "tier": "basic",
          "blobTier": "blob",
          "redundancy": "lrs",
          "count": "6",
          "disks": 1,
          "diskSize": "p10",
          "storageUnits": "1024",
          "transactions": 1,
          "accessTier": "cool",
          "blobStorageUnits": "1",
          "blobCount": 1,
          "blobPutOperations": 1,
          "blobOtherOperations": 1,
          "blobDataRetrievalUnits": "1",
          "blobDataRetrieval": 1,
          "blobDataWriteUnits": "1",
          "blobDataWrite": 1,
          "blobReplicationUnits": "1",
          "blobReplication": 1,
          "filesRead": "1",
          "filesWrite": "1",
          "filesList": "1",
          "managedDiskType": "standard-s4",
          "managedDisks": 0,
          "slug": "storage",
          "price": 307.20036,
          "displaySku": false,
          "sku": {
            "storage": "N9H-00090",
            "transaction": "N9H-00803"
          },
          "description": "6 TB de almacenamiento de tipo Blob en páginas y disco. Nivel Basic, redundancia LRS, 1 x 10 000 transacciones"
        },
        {
          "region": "europe-west",
          "type": "arm",
          "instance": 0,
          "instanceHours": 744,
          "instanceHoursFactor": "1",
          "loadBalanced": 0,
          "loadBalancedHours": 744,
          "loadBalancedHoursFactor": "1",
          "reserved": 0,
          "reservedHours": 744,
          "reservedHoursFactor": "1",
          "remaps": 0,
          "public": "4",
          "publicHours": 744,
          "publicHoursFactor": "1",
          "slug": "ip-addresses",
          "price": 11.904,
          "displaySku": false,
          "sku": {
            "armInstance": "T6Z-00022"
          },
          "description": "Tipo arm , 4 direcciones IP públicas x 744 horas"
        },
        {
          "region": "europe-west",
          "tier": "high-performance",
          "gatewayHours": "744",
          "vpnType": "intervnet",
          "interVnetGbs": 0,
          "interVnetUnits": "1",
          "bandwidthGbs": 0,
          "bandwidthUnits": "1",
          "slug": "vpn-gateway",
          "price": 364.56,
          "displaySku": false,
          "sku": {
            "gatewaySku": "N7H-01797",
            "vpnSku": "T6Z-00020"
          },
          "description": "Nivel high-performance, 744 horas de puerta de enlace, 0 GB de intervnet salientes"
        },
        {
          "region": "europe-west",
          "units": "2",
          "storageUnits": "1024",
          "zone": "zone1",
          "slug": "data-transfers",
          "price": 177.74099999999999,
          "displaySku": false,
          "sku": "Q5H-00003",
          "description": "2 TB/mes Zona 1: Norteamérica y Europa (Norteamérica, Europa)"
        }
      ]
    },
    {
      "key": "acomuser.currency",
      "value": "EUR"
    }
  ]
}

Happy estimating!

Related Article