Blog de Amazon Web Services (AWS)

Como optimizar los costos de Amazon WorkSpaces

Por Hernán Fernández, Sr. Technical Account Manager en AWS

 

Introducción

Con la pandemia del COVID-19 muchas empresas se vieron obligadas a cerrar sus oficinas y moverse a un modelo de trabajo remoto de un día para otro. Dado el corto tiempo disponible para cumplir este desafío, Amazon WorkSpaces se convirtió en la solución que permite aprovisionar escritorios virtuales de manera rápida, segura, escalable y a bajo costo. Sin embargo, cuando son cientos o miles de colaboradores utilizando esta tecnología, se hace necesario tener un buen manejo y control de los costos.

 

¿Cómo se determina el costo de un escritorio de Amazon WorkSpaces?

Los costos de Amazon WorkSpaces están categorizados primero por el tipo de sistema operativo y licencia. Estos son: Linux, Windows y Windows Bring-Your-Own-License (BYOL), donde el cliente puede traer su propia licencia de Windows.  Luego varían dependiendo de las características de hardware como cantidad de CPUs virtuales (vCPU) y memoria. A esto se le llama paquete o bundle. Y, finalmente, los costos varían por el tamaño del volumen de disco asignado al escritorio virtual.

La facturación de Amazon WorkSpaces permite dos modalidades. Primero, pagar un valor fijo por el uso de todo el mes (llamada “AlwaysOn”), o pagar un valor fijo menor por los costos de infraestructura y almacenamiento más un valor por cada hora de utilización; esta última modalidad se denomina AutoStop.

 

¿Cómo definir cuál modalidad de facturación utilizar?

Si el escritorio virtual Amazon WorkSpaces debe estar encendido 24 horas al día y 7 días a la semana durante todo el mes, siempre es mas económico utilizar la modalidad AlwaysOn.

Si la cantidad de horas a utilizar es menor, entonces es recomendable realizar el siguiente calculo.

Primero: debe mirar la página con los precios actualizados correspondiente a la región donde se encuentre operando. Para efectos de este ejercicio utilizaremos la región us-east-1 (North Virginia), el sistema operativo Windows y el paquete llamado “rendimiento” con 80GB de volumen raíz y 10GB de volumen de usuario.

 

 

Para saber cuál es el limite de horas al mes en que es recomendable utilizar un modo de facturación u otro, utilizaremos la siguiente formula:

Restar ambos valores fijos, precio por mes y precio por hora. ($45 – $7.25) = $37.5. Luego este valor lo dividimos por el valor por hora $0.47, lo cual nos entrega un total de 80.3 horas.

 

 

El valor 80,3 horas de uso al mes es el limite máximo en el cual es recomendable utilizar el modo de facturación de precio por hora. Es decir si planea utilizar un WorkSpace de estas características por mas de 80,3 horas al mes, entonces es recomendable utilizar la modalidad de precio por mes, AlwaysOn.

Este cálculo lo debe realizar por cada tipo de sistema operativo y paquete a provisionar, lo cual puede ser complejo de administrar en el tiempo sobre todo si tiene cientos o miles de WorkSpaces.

 

¿Cómo automatizar el tipo de facturación a utilizar?

La alternativa es automatizar este cambio de facturación y para eso es recomendable utilizar el Optimizador de costos para Amazon WorkSpaces.

Esta solución monitorea el uso de WorkSpaces por usuario y convierte el tipo de facturación a la más económica (por hora o por mes) de manera automática.

Se implementa vía CloudFormation, toma aproximadamente 5 minutos y tiene un nivel de dificultad bajo.

Para empezar es recomendable revisar el sitio web de la solución “Optimizador de Costos de Workspaces” y la guía de implementación.

Luego para iniciar con la implementación, puede hacer clic en el botón “Lanzar en la consola AWS” utilizando la cuenta y región donde se encuentren sus WorkSpaces.

 

 

Esto lo llevará a la consola CloudFormation con el template del Optimizador de Costos ya seleccionado.

 

 

Defina un nombre para su Stack, por ejemplo: “WorkSpacesCostOptimizer”.

 

 

A continuación deberá definir los parámetros de configuración:

  • Puede definir utilizar una nueva VPC para la tarea de AWS Fargate que será desplegada o utilizar una VPC existente.
  • El modo Dry Run sólo simula el funcionamiento escribiendo un reporte diario en S3; sin embargo no realizará el cambio de facturación. Para que la solución opere automáticamente debe poner este valor en “No”.
  • Luego debe definir los parámetros de precios: el límite de horas por cada tipo de paquete. Esto corresponde al límite de horas en que el Amazon WorkSpaces se convertirá al modo de facturación precio por mes, y debe calcularlo para su región de AWS y sistema operativo. Si utilizamos el ejemplo ya descrito, debemos ingresar en el parámetro “PerformanceLimit” el valor “80”, para que después de 80 horas el sistema cambie la modalidad de facturación a “AlwaysOn”.

 

 

Luego de ingresar los parámetros requeridos, continúe con los parámetros por defecto y proceda con la creación del stack.

Una vez que el stack se encuentre desplegado, diríjase a la sección Outputs del mismo donde encontrará el nombre del bucket s3 donde se guardarán los reportes diarios en formato CSV. La solución corre automáticamente todos los días a las 23:55 UTC.

Estos reportes informarán diariamente, para cada uno de los escritorios virtuales:

  • WorkspaceID: id del Workspace
  • Billable Hours: La cantidad de horas utilizadas en el mes en curso
  • Usage Threshold: El límite configurado para el tipo de paquete descrito en “Bundle Type”
  • Change Reported: Si ha existido un cambio de modalidad de facturación en las ultimas 24 horas
  • En caso de cambio de modalidad de facturación este se describirá en “Initial Mode” y “New Mode”
  • Username: El nombre de usuario de quien utiliza el WorkspaceID
  • DirectoryID: El ID del directorio donde se encuentra el usuario.

 

 

Otro uso de este reporte es revisar a fin de mes los usuarios con 0 horas de utilización en Amazon WorkSpaces; esta información puede ayudarle a decidir si es necesario mantener o terminar el WorkSpace para ahorrar aún más.

También es posible automatizar el ciclo de vida de los WorkSpaces. Esto le permitirá aprovisionar un escritorio virtual de manera automática cuando cree un usuario en su Active Directory, y terminarlo cuando borre el usuario o lo mueva a una OU diferente.

Para mayor información sobre esta solución, puede revisar el siguiente enlace:

Manage Amazon WorkSpaces lifecycle automatically with users in Active Directory

 

Conclusiones

  • En este artículo repasamos los factores que influyen en el costo de facturación de Amazon Workspaces.
  • También explicamos cómo podemos automatizar los cambios en el tipo de facturación de Amazon Workspaces con el objetivo de disminuir el costo del servicio con un impacto operativo mínimo.
  • Por último, vimos cómo utilizar los reportes de WorkSpace Cost Optimizer para identificar usuarios que podrían no requerir un WorkSpace.

 


Sobre el autor

Hernán Fernández es Enterprise Account Engineer en AWS. En su rol, ayuda a clientes en sus procesos de adopción de Cloud Computing así como también los apoya a aplicar las mejores practica y reducir riesgos en sus servicios. Se ha desempeñado durante mas de 15 años como profesional de tecnologías de la información, su foco es tecnologías Linux, infraestructura y proyectos empresariales.

 

 

 

Sobre los revisores

Juan Manuel Gomez es Arquitecto de Soluciones en AWS.

 

 

 

 

 

Hernan Terrizzano es Technical Account Manager en AWS.

 

 

 

 

 

Alfredo Peña es Enterprise Support Lead en AWS.