martes, 12 de julio de 2011

vSphere 5: Nuevo modelo de licenciamiento.


Como ya muchos saben, hoy se lanzó oficialmente la nueva infraestructura de Cloud de VMware, incluyendo vSphere 5, la nueva versión del hypervisor de VMware.

Además de las novedades tecnicas, vSphere 5 trae un nuevo modelo de licenciamiento que ha dado mucho que hablar, y que a muchos parece no haberles agradado.  Veamos a continuación en que consiste este nuevo modelo de licenciamiento:

Para VMware, el modelo de licenciamiento de vSphere 5 ha evolucionado para darle a los clientes la posibilidad de utilizar un enfoque mas similar al enfoque Cloud, o sea "Pague por lo que consume".   Basicamente, lo que se intenta es maximizar la utilización y eficiencia de hardware, utilizando pools de recursos.  Al mismo tiempo, el modelo de licenciamiento de vSphere 4.x dificultaba la transicion a un modelo de costo y chargeback basado en uso, y que caracteriza al Cloud Computing y a IT As a Servide.

Siendo especificos, vSphere 5 elimina el modelo de licenciamiento por CPU (Socket) utilizada por vSphere 4, la cual limitaba el numero de Cores fisicos por CPU, asi como el maximo de memoria RAM por servidor fisico.  Este modelo se reemplaza por un modelo de asignación de memoria desde un pool de memoria virtual (vRAM), el cual detallaremos a continuación.

O sea, las licencias seguirán siendo por CPU (socket), sin embargo estás licencias no tendrán un limite en el numero de Cores por CPU, y cada host puede tener una cantidad ilimitada de memoria RAM.  No obstante, cada licencia estará limitada, según la edición, a una cantidad X de vRAM que es posible asignar a las máquinas virtuales.  Es en este punto donde se ha abierto una fuerte discusión, ya que la cantidad de vRAM incluida en cada licencia parece ser muy limitada, considerando la capacidad actual que tienen los servidores para incluir grandes cantidades de memoria RAM.


De acuerdo al documento de licenciamiento publicado por VMware, este nuevo modelo de licenciamiento cumple dos objetivos principales:

  • Libera a los clientes de la asignación restrictiva de licencias basada en hardware
  • Alinea el modelo de licenciamiento de vSphere con el concepto "IT as a Service"


Esto es empujado por las sucesivas innovaciones en el diseño de hardware, como el aumento en el numero de Cores por CPU, la alta densidad en los modulos de memoria, etc, lo cual ha empujado los limites del modelo de licenciamiento que existia en vSphere 4.  Claramente era necesario un cambio en el modelo de licenciamiento, no obstante el nuevo modelo no ha sido recibido del todo bien.

Como respuesta, VMware creó un nuevo modelo de licenciamiento para vSphere 5, basado en CPU y con una asignación de vRAM dependiendo del tipo de licencia adquirida.
Cada licencia de CPU para vSphere 5 tendrá asignada una cantidad especifica de vRAM, o memoria configurada en las Virtual Machines.
La vRAM asignada puede ser agregada en un Pool, o fondo comun, en una plataforma VMware, el cual permite que esta vRAM sea usada con mucha flexibilidad en un cluster VMware.

La vRAM es una asignación de memoria transferible, que permite una gran flexibilidad en la configuración y el uso.  vRAM es la memoria virtual configurada en las máquinas virtuales.  Cuando una Máquina virtual es creada, se configura con una cierta cantidad de memoria virtual (vRAM).  Dependiendo del tipo de licencia, cada licencia vSphere 5 provee una cierta capacidad de vRAM para ser usada por las máquinas virtuales ENCENDIDAS.  Solo cuando una MV es encendida, la vRAM configurada en esa VM se descuenta del total de vRAM asignada en la licencia.
La vRAM puede ser utilizada como el cliente quiera, o sea puede usarse en multiples VM con una pequeña asignación de vRAM, o puede usarse en una unica VM que requiera toda la vRAM.

Un concepto importante aqui, es el uso de Pool de vRAM, que es la posibilidad de sumar la vRAM de todos los procesadores licenciados.  Es decir, la vRAM incluida en cada CPU licenciada es sumada en un Pool que está disponible para todas las CPU's licenciadas administradas por una instancia de vCenter (o multiples instancas en Linked Mode).  O sea, si la carga de un host no esta usando completamente su vRAM licenciada, la capacidad restante puede ser usada por otras máquinas virtuales, dentro de otros hosts en la misma instancia de vCenter Server.



Del mismo modo, una MV activa puede tener asignada una cantidad de vRAM que supere la vRAM licenciada en una CPU dada, siempre que haya suficiente vRAM disponible en el pool de vRAM.
En su conjunto, la vRAM consumida por todas las MV encendidas dentro de un pool de vRAM, no debe superar la capacidad licenciada de vRAM entre todas las CPU's.

Como aumentar la capacidad de vRAM en el pool?  VMware da dos opciones:

  • Agregar más licencias de CPU de la misma edicion de vSphere.
  • Actualizar todas las licencias de CPU a una edicion superior de vSphere, la cual cuenta con una mayor asignación de vRAM por CPU.


VMware tambien incluyó un modulo de gestión de licencias en vCenter Server, el cual permite monitorear y gestionar la capacidad disponible y consumida de vRAM.

A continuación una comparación de los tipos de licenciamiento en vSphere 5.0 y las versiones anteriores.


Despues de toda esta explicación, este modelo de licenciamiento puede ser util para algunos, asi como puede afectar negativamente a otros, y es por esto que ha recibido diversas criticas desde su lanzamiento.

Desde mi punto de vista, por un lado se está tratando de hacer un uso más eficiente y flexible de los recursos, sin embargo a la vez nos limita en el uso de overcommit de memoria, el cual ya no se consideraría un ahorro en recursos como tal, ya que ahora el costo del licenciamiento estará dado por el uso de la vRAM por las MV activas.  Transparent Page Sharing, Ballooning y otras tecnicas de administración de memoria no serán una ayuda tan considerable para reducir costos, al menos desde el punto de vista del licenciamiento, en este nuevo modelo de licenciamiento,

Al mismo tiempo, se estaría privilegiando un modelo de escalamiento Scale-Out, por sobre un modelo Scale-Up.  Porque?
Actualmente es comun ver servidores VMware con 2 o más CPUs multi-core, con 128GB o más de memoria RAM, los cuales eran posible licenciar solo considerando una licencias por CPU.  En este nuevo modelo de licenciamiento, deberemos considerar además la memoria utilizada o vRAM.

Por ejemplo, un Cluster con 8 hosts con las siguientes características:


  • 4 CPUs de 6 Cores por host  (32 CPUs en el Cluster)
  • 128GB RAM por host (1TB RAM en el Cluster)
  • Licencias Enterprise para 32 CPUs
  • 70% de uso de memoria (vRAM) en el cluster (alrededor de 720GB)


Con el modelo de licenciamiento de vSphere 5, el mismo cluster necesitará:


  • 32 Licencias Enterprise para 32 CPUs.
  • 1TB de vRAM (32GB de vRAM por cada licencia Enterprise)
Osea, en este caso, el modelo de licenciamiento de vSphere 5 no afecta en nada los costos de licenciamientos de este cluster, por el contrario, funciona bastante bien... pero!!!  ¿Que pasa si el cliente quiere aumentar la capacidad de los hosts, en una estrategia Scale-Up, dejando cada host con 256GB de RAM, para asi soportar un aumento del 100% en el consumo de memoria?  Este escenario es bastante realista considerando el poder de computo que entregan las CPUs de 6-cores, y al hecho de que no es nada raro en la actualidad tener servidores en formato rack con 256GB de RAM, o incluso más.  Entonces, analicemos nuevamente el escenario.
  • 4 CPUs de 6 Cores por host  (32 CPUs en el Cluster)
  • 256GB RAM por host (2TB RAM en el Cluster)
  • Licencias Enterprise para 32 CPUs
  • 70% de uso de memoria (vRAM) en el cluster (alrededor de 1.4GB)


Con el modelo de licenciamiento de vSphere 5, el mismo cluster necesitará:
  • 45 Licencias Enterprise para 32 CPUs.
  • ~1.4TB de vRAM (32GB de vRAM por cada licencia Enterprise)
En este caso, en vSphere 5 el cliente obligatoriamente tendría que adquirir 13 licencias adicionales para poder soportar toda la vRAM requerida en el Cluster.  En vSphere 4 no sería necesario una inversión de este tipo, ya que hasta hace poco, la limitación estaba dada por el numero de cores en la CPU, y no por la cantidad de RAM utilizada en el host.

Este ejemplo ilustra el porqué, segun mi opinion, se estaría privilegiando un modelo Scale-Out, por sobre un modelo Scale-Up.  No obstante, la linea entre uno y otro modelo no es del todo clara, considerando que si hace un par de años, un host con 64GB de RAM era considerado un host de grandes recursos, hoy no es raro ver hosts con 128GB de RAM, y que perfectamente podrian ser considerados servidores de medianos recursos, si consideramos que podemos contar con hosts con muchos más recursos en la actualidad.



Es de esperar que la discusión sobre el nuevo modelo de licenciamiento se mantenga con el pasar de las semanas.  Solo el tiempo dirá si VMware dió en el clavo con este nuevo modelo de licenciamiento, o si tendrá que realizarle algunas mejoras.

Un detalle más profundo del nuevo modelo de licenciamiento lo pueden encontrar en el siguiente link:
http://www.vmware.com/files/pdf/vsphere_pricing.pdf

0 comentarios:

Publicar un comentario