Guia para dimensionar un proyecto de infraestructura virtual

¿Cómo dimensionar una infraestructura Virtual?

Actualmente muchas organizaciones utilizan o buscan implementar una solución virtual de servidores para efecto de optimizar sus operaciones y hacer más ágil la administración, reducir el consumo energético y otras cosas que como tal son los beneficios que ofrecen las soluciones virtuales.

En esta guía no estaré abordando cómo llevar los servidores o aplicaciones hacia un proveedor de nube pública como Azure, AWS o Google Cloud, sino los aspectos que se necesitan considerar para implementar un proyecto de virtualización local en la institución.

Iniciemos…! Considera la infraestructura de equipos mostrados en la imagen, en donde hay muchos servidores, sistemas de almacenamiento, equipos de comunicación (switches), sistema de enfriamiento vertical, etc… ¿puedes imaginar el consumo energético que demandan todos estos equipos? ¿la capacidad de los equipos de aire acondicionado para mantener a temperatura estable todo esto? ¿Toda la infraesturctura cuenta con soporte del fabricante?

Identificando la utilización de capacidades

Un primer paso para poder presentar una solución de virtualización de una infraestructura física, es realizar un análisis de rendimiento, esto es de vital importancia, porque no se trata únicamente de sumar Memoria, CPU, Espacio en disco de cada equipo y sobre eso presentar una solución que posea más de esas capacidades, noooo! porque existe una alta posibilidad de que muchos de esos recursos físicos estén sub utilizados y estaríamos presentando un sobre dimensionamiento en nuestra propuesta.

¿Con qué analizar el rendimiento o utilización de recursos? 

Existen muchas herramientas de monitoreo de rendimiento basado en el protocolo SNMP (Simple Network Management Protocol) como por ejemplo:

  •  Zabbix (Open Source)
  • LibreNMS (Open Source)
  • ManageEngine OPManager 
  • Solarwinds NPM (Network Performance Monitor)
  • y muchos mas…
Las herramientas anteriores requieren instalarse y realizar un despliegue y configuración del agente SNMP en cada equipo a monitorear para iniciar la recolección de datos de rendimiento, sin embargo, si es necesario entregar un informe rápido una recomendación es utilizar LiveOptics una herramienta de DellEMC de uso gratuito y muy completa para realizar este tipo de análisis, como tal Dell recomienda siempre utilizar esta herramienta para tener una visión clara de cómo esta el consumo de recursos antes de presentar una propuesta de nueva infraestructura.
Algunas imagenes de esta herramienta son:

 

Si utilizamos LiveOptics rápidamente podremos tener en análisis de qué servidores utilizan más recursos, la demanda de escritura y lectura de los discos, el consumo de CPU y memoria en todos los equipos analizados y ahora sí sobre esta información podremos realizar en análisis de utilización para comenzar a dimensionar la nueva infraestructura.

IMPORTANTE – LiveOptics no requiere instalar ningun agente o programa, tampoco afecta en rendimiento a los equipos que se estarán analizando.

Recuerda LiveOptics es una herramienta de utilización gratuita, te invito a que puedas crear tu cuenta con un correo empresarial (no se permiten correos gratuitos), te comparto una guía para que puedas descargar y usarla. –> Descargar Guia de Uso DellEMC LiveOptics

Analizando la utilización de recursos

Ahora que ya tenemos la información de los recursos que realmente se están utilizando, quiero compartirte algo interesante, el uso de CPU, mira la siguiente imagen:

ANALISIS DE CONSUMO DE CPU

Para el caso de esta imagen se analizaron 17 servidores físicos, cada uno con 2 CPUs equivalente a 34 Sockets, el total de estos procesadores en GHz es de 532.08GHz pero durante el período de captura de información (2 días) lo más que se utilizó fue de 107GHz esto equivale a un 20% de uso de los procesadores.!

Cuando estamos evaluando la utilización de CPU para ambientes virtuales es importante considerar que el CPU no es directamente utilizado por los servidores virtuales, esto quiere decir que el CPU es “prestado” por momentos a cada servidor virtual para poder abastecer los vCPU que tenga asignado cada servidor virtual. por lo que para cargas de trabajo genéricas (Controladores de dominio, File Servers, WebServers, etc.) para ambientes de virtualización se puede considerar un ratio de utilización conservador de 4 o 6 vCPU por cada CORE Físico del procesador.

En base a lo anterior un procesador de 16 Cores podría brindarnos la siguiente capacidad:

  •  16 Cores Físicos –> 1 CORE Físico para 6 vCPU –> 16 CORES Físicos x 6 vCPU = 96 vCPU Totales
 
Esto nos da un margen de crecimiento y capacidad manipulable en relación a uso de CPU del equipo físico, únicamente cuando tengamos escenarios es donde las aplicaciones sean de alto uso de CPU sí efectivamente es de considera más capacidad de procesadores físicos para abastecer dicha demanda.

 

ANALISIS DE CONSUMO DE MEMORIA 

Para el caso de la utilización o dimensionamiento de la memoria es más fácil, porque para cada equipo virtual a encender en la infraestructura de virtualización es memoria que se estará utilizando de los Hipervisores, sin embargo, para efecto de no dimensionar demasiada memoria para la infraestructura virtual, siempre la herramienta de monitoreo nos puede brindar la capacidad real de utilización de memoria de dichos servidores a migrar de físico a virtual, para el caso de la siguiente imagen se puede evidenciar que de un total de 512GB de memoria lo que en promedio utiliza dicho equipo es únicamente es 233GB y muy rara vez consume más de eso.

Esto nos da la pauta para que si este servidor se migra a un ambiente virtual no le brindaremos 512GB de memoria, sino quizas lo que realmdnte consume más un 25% o 30% adicional

ANALISIS DE CONSUMO DE ESPACIO EN DISCO

Con relación al almacenamiento, acá lo más relevante no es tanto la capacidad en disco utilizada, esto esta bien porque realmente lo necesitamos conocer, pero aún más importante es identificar el nivel de rendimiento que actualmente están demandando los equipos que migraremos a la infraestructura virtual, es decir, el nivel de IOPS que están generando los discos de dichos servidores.

Si no consideramos este valor de los IOPS, podríamos estar recomendando discos que sean más lentos y en consecuencia las aplicaciones experimenten una degradación de rendimiento, lo cual nos va a dejar muy mal.

Recordemos que si vamos a utilizar discos rotacionales la velocidad del disco nos brinda un nivel de IOPS estimado, veamos:

  •  Discos de 7.2K RPM –> 75 IOPS
  • Discos de 10K RPM –> 125 IOPS
  • Discos de 15K RPM –> 175 IOPS 
 
Esta información es referencial, el nivel de IOPS dependerá de la marca del disco como tal, sin embargo, para estimación es una información válida.
Al final cuando hablamos de almacenamiento en ambiente de virtualización buscamos no únicamente cubrir el espacio a necesitar, sino más que todo brindar la misma o mayor velocidad en el sistema de almacenamiento, ya en este punto la solución podría ser ya sea utilizando una infraestructura tradicional (Server – Switches – Storage) o una infraestructura hiperconvergente (HCI) (Servers – Switches)

Solución de Virtualización – Arquitectura Tradicional

Solución de Virtualización – Arquitectura Hiperconvergente (HCI)
Lee cómo funcionan en este link – Soluciones de Hyperconvergencia

Finalmente recordemos que el almacenamiento podría ser tambien utilizando discos SSD, con esta alternativa elevamos drásticamente los IOPS ya que en promedio un disco SSD nos brinda más de 3,500 IOPS!!… con los discos SSD el único detalle es saber seleccionar el tipo de disco SSD, si serán Read Intensive (RI), Write Intensive (WI) o Mixed Used (MU) en dependencia del tipo de disco así será el rendimiento en dichas operaciones.

LA RED 

Por último no debemos de dejar de lado la velocidad con la cual la solución virtual va a estar trabajando, lo típoco es que los servidores virtuales no requieran mucho ancho de banda, salvo algunas excepciones … sin embargo, en este punto es importante garantizar la conectividad, es decir, tal como puedes apreciar en las imagenes anteriores, debemos de tener una conectividad redundante hacia la red corporativa y hacia el sistema de almacenamiento.

Para finalizar ... el Hipervisor

Todo proyecto de virtualización descansa sobre un Hypervisor, entre estas alternativas tenemos muchas opciones sobre las cuales podemos selecionar, para mencionar algunas:

  •  VMWare vSphere
  • Microsoft Hyper-v
  • Acrópolis (Nutanix)
  • Linux KVM
  • Oracle VM
  • Proxmox
  • XCP-ng 
 
¿Cuál utilizar? … bueno dependerá de qué funcionalidades puedas requerir, ahí si es un tema más específico el que te hará orientar tu decision por un producto en particular, claro también está la parte económica pero acá solo quiero dejarte la idea, alternativas hay muchas! pero deberás de evaluar algunas funcionalidades que tu entorno o empresa pueda requerir para sobre eso buscar cuál solución se adecúa más y poder evaluar su implementación.

 

Espero que esta información sea de utilidad..!! gracias…

Lo mejor es cuando compartimos

Facebook
Twitter
LinkedIn