Hoy en este post si me lo permitís voy a hacer un ejercicio muy simple, incluso simplista buscando daros algo mas en lo que pensar cuando evaluéis comprar un servidor para virtualizar.
Es realmente muy común adquirir el “servidor de oferta“ o basar la decisión simplemente en el montante final. De esta forma por ejemplo es frecuente encontrar casos de nuevos servidores con 4 procesadores de 6 cores y 64Gb de RAM por ejemplo.
Analicemos muy superficialmente este caso usando solo el coste del servidor para determinar el coste por VM, lo que es obviamente incorrecto pero valido como base para este ejemplo:
Nota: Para obtener el coste del servidor he empleado el P.V.P. de un conocido fabricante, emplearemos modelos en Rack donde es mas fácil calcular el coste por VM que en servidores blade.
Muy posiblemente el coste que reflejo pueda variar debido a que tal vez un experto en hardware pueda encontrar mas adecuadas otras opciones, pero insisto esto es un ejercicio rápido.
El precio de este servidor según la web para la opciones que he seleccionado (4U, 4 micros de 6 cores con 64Gb de RAM) es de 16.894€
Para hacer el calculo sencillo, vamos a pensar en que nuestro objetivo es virtualizar 96 maquinas con la misma configuración: 1 procesador y 2 GB de RAM con un uso medio realista esperado en pico de 60% de memoria y 25% de procesador, lo que bien podría ser un escenario VDI.
Cuando decimos que esperamos que una VM consuma un 25% de procesador una vez mas estamos simplificando dado que cada modelo de procesador nos da un rendimiento diferente y los ratios deben de calcularse en base al procesador del host.
Un 25% vendría a decir que el ratio que esperamos de consolidación de procesadores virtuales por core es de 4:1, Hyper-V soporta 8:1 como máximo cuando hablamos de servidores y 12:1 cuando hablamos de escritorios.
ahora si pensamos en un core de 2.2 GHZ con 12 procesadores virtuales corriendo encima y todas las VMs requiriendo procesador podemos ver una vez mas simplificando que cada VM obtendría algo parecido a 183MHZ, no es así, por que el reparto del procesador no se efectúa de esta forma pero a efectos de comprensión debemos comprender que los procesadores dan lo que dan y los ratios deben ser realistas.
Nota: Usando memoria dinámica de forma conservadora y buscando nunca impactar el rendimiento ni entrar en una excesiva presión de memoria obtenemos estas cifras, habrá quien os diga que se puede ser mucho mas agresivo con el calculo de la memoria, pero ese es otro debate y creo que ya esta todo escrito en internet (ASLR, Large Memory Pages, carga en el host, impacto, etc.):
Como veis lo que mas ha impactado en el coste de las VMs es que tenemos capacidad de procesador sobrante en el servidor pero no podemos poner mas VMs por falta de memoria incluso usando memoria dinámica como he hecho en el ejemplo
Vamos a tener que poner dos hosts por que en uno solo no caben las 96 así que cada VM nos sale a 351,9€ solo en la partida de hardware, por suerte Hyper-V es gratuito y no tenemos que añadir el coste del Hypervisor aunque sin duda habrá que añadir otras cosas, conectividad, licencias dentro de las VMs, costes de mantenimiento e instalación, almacenamiento, etc.
Si en vez de VDI estuviéramos hablando de virtualizar servidores, usar el rol de Hyper-V en Windows Server Estándar, Enterprise o Datacenter tiene ventajas de licenciamiento ya que por ejemplo en el caso de este ultimo, Windows Server Datacenter se licencia por socket y da derechos a las licencias de todos los Windows Server que corran sobre ese socket, lo que sin duda os permitirá reducir el coste total de propiedad de vuestros servidores.
Añadamos a este mismo servidor mas memoria, llevándolo a 128Gb
El coste por VM baja a 216,3€, el servidor a aumentado su precio, con 128Gb de RAM nos cuesta 20.767€.
La memoria nos ha costado 3.873€ Pero solo necesitamos un servidor y nos han cabido las 96VMs que queríamos.
Por lo tanto para conseguir 96VMs con la primera configuración necesitamos 2 servidores lo que nos llevaría a una inversión en hardware de 33.788€. Con la configuración de 128GB de RAM lo podremos hacer solo con 20.767€, creo que merece la pena pensar en ello, ¿Verdad?
Vamos a hacer otro experimento, cojamos un servidor de 2U y 2 procesadores con el máximo de cores disponibles en este fabricante.
Un servidor de 2U y 2 procesadores de 12 cores con 128GB de RAM nos sale por 8.145€, el servidor es algo peor en cuanto a rendimiento por core, buses, caches y otros elementos pero por ese precio creo que merecería la pena probarlo si el fabricante nos dejara uno .
El coste por VM es de 84,8€ e igualmente en un solo host nos han cabido todas las VMs.
De esta forma nos damos cuenta del tremendo impacto en el TCO (Coste total de propiedad) que tiene la elección del host, Aunque os pueda parecer una obviedad es común encontrarnos con estas situaciones.
Como decía antes esta claro que hay que empezar a sumar otras partidas de las que hablare en otros posts como las redes, el storage y las licencias de las VMs, lo que desde luego no tenéis por que añadir si usáis Hyper-V es el coste del hypervisor.
Muy interesante Daniel,
una pregunta, en cuanto a rendimiento ¿tiene alguna ventaja disponer de más procesadores en lugar de más núcleos?
Hola Mario,
Buena pregunta, te dedico el post 😉 http://geeks.ms/blogs/dmatey/archive/2011/04/08/procesadores-en-el-host-sockets-ghz-cores-y-hyperthreading.aspx
Un saludo.