27 sept 2011

Benchmarks, performance, peras y manzanas

Es interesante cómo los fabricantes de hardware gustan de comparar sus juguetes caros e intentar demostrar que son mejores que la competencia de formas muchas veces ridículas.
Es como cuando eramos niños y presumíamos de los autos que tenían nuestros padres para darle envidia a nuestro compañero de primaria. Que importaba si era un auto para pasear a la familia, si lo importante era que podía acelerar a 200 km/h?

Así como en los autos existen los caballos de fuerza o bhp, relación peso-potencia, el torque, la maniobrabilidad, etc., en el mundo de las TI contamos con valores como los SPECs, TPC o tpmc, 9s de disponibilidad, etc.

Pero la tecnología, al igual que los autos, suele tener un propósito específico. No es lo mismo tener que procesar tarjetas de crédito para millones de clientes, que procesar imágenes satelitales para análisis climatológico, o guardar la información de nuestro correo.

La gente de Oracle aparentemente olvida eso y nos trae anuncios fantásticos como este:

Es información pública que se puede obtener de la página de Oracle.

A primera vista suena fantástico! Una relación de 5.7 a 1 en precio, y me van a dar más Cores (volviendo a la analogía de autos: más CC), más performance de I/O (no aclaran de que configuración), igual capacidad y redundancia.

Ahora, que no está diciendo este anuncio?

1) El Exadata es un equipo que sólo procesa base de datos, no procesa aplicaciones como WebSphere, WebLogic, un WebServer o Business Intelligence, sólo la base de datos Oracle.
2) No hay un detalle de la configuración. En otro chart he visto una comparación similar y es el mismo equipo de IBM comparado con una configuración de 8.8 millones, versus este equipo de 3.3 mdd
3) Que los cores de los equipos Exadata son de procesadores Intel vs los procesadores Power7 del 795
4) El nivel de disponibilidad de la solución. Que diga que están en HA no es suficiente, no todas las soluciones de HA funcionan igual.
5) More I/O Performance: La velocidad de entrada salida es algo sumamente relativo en este tipo de ambientes, donde comparamos un dispositivo de IBM con discos externos, versus un equipo Exadata con discos "internos" o integrados en la solución. El I/O puede referirse al rendimiento que entregan los discos, a la velocidad de las comunicaciones, a la velocidad de la memoria...
6) Que necesitaremos más equipos en el ambiente de Oracle para poder correr cualquier tipo de solución, pues no hay servidores para procesar.
7) El costo del software y su mantenimiento.

Siempre he considerado que se debe pensar para qué, o estaríamos usando todos PCs para procesar información delicada. Se imaginan un banco procesando con un cluster de servidores Intel armados de forma casera para procesar nuestras transacciones?

Es cierto que con la tecnología actual, en equipo de cómputo empresarial se hace cada día más difícil el comparar peras con peras, pero evidentemente hay un límite, y siempre existirá una forma de comparar equipos de similares funcionalidades, el punto es que los fabricantes quieran llevarnos a un escenario justo.

19 sept 2011

Virtualización de Almacenamiento (Storage Virtualization)

Esta vez vamos a hablar de la virtualización de almacenamiento o "Storage Virtualization".

Hitachi Data System: Réplica entre diferentes tecnologías usando virtualización


Normalmente cuando hacemos referencia a la palabra "Storage" imaginamos automáticamente un disco o sistema de discos internos o externos. Lo cierto es que almacenamiento de datos comprende desde equipos con disco, cintas, dispositivos WORM (alguien los seguirá usando?), CDs/DVDs, dispositivos de conectividad de SAN (Storage Area Network) y software de administración y operación.

Tratando de ir en orden, existen diferente tipos de almacenamiento y podemos decir que casi todos pueden ser virtualizados, aunque con diferentes mecanismos.

Virtual Tape
Imaginemos una unidad de cinta empresarial de IBM

IBM TS3500 "Anaconda"

Arriba estamos viendo un TS3500 de IBM, también conocido como "Anaconda" pues se pueden concatenar varios cajones (hasta 16) para formar un único dispositivo robot de administración de cintas.
Es un equipo que permite ser conectado a un MainFrame o para consolidar los respaldos de múltiples servidores.
Imaginemos un precio de varios cientos de miles de dólares, quizá de hasta millones de dólares invertidos en esa caja.

Ahora apliquemos el sentido común: Cuantas horas al día podrá estar operando ese equipo? Aunque resulte un poco obvio no lo es tanto: 8 a 12 horas por día. Por qué?  Debido a que los respaldos se hacen en ventanas de tiempo en que los equipos no están operando (no siempre es así, pero la mayoría de las veces), lo cual suele ser fuera de los horarios de oficina.
Entonces parage

Como era de esperarse, existen dispositivos de Disco Virtual o Virtual Storage Devices. En esta categoría también caen algunos productos de virtualización de SAN, dada la funcionalidad que proveen.

IBM SAN Volume Controller


Existen diferentes dispositivos que proveen este tipo con funcionalidades diferentes y precios mconStor o Starwind.
También existen soluciones de respaldo, como CommVault, que incluyen características de VTL en el mismo software.


Virtual Disk Storage

Como era de esperarse, existen dispositivos de Disco Virtual o Virtual Storage Devices. En esta categoría también caen algunos productos de virtualización de SAN, dada la funcionalidad que proveen.

IBM SAN Volume Controller


Existen diferentes dispositivos que proveen este tipo con funcionalidades diferentes y precios muy variados, pero en esencia todos proveen ciertas características comunes:

1) Migración de información entre discos internos o externos sin interrumpir la operación
2) Jerarquización y migración de información de forma automática de acuerdo a su rendimiento o uso, a fin de usar el TIER de almacenamiento con el costo adecuado para el dato correspondiente.
3) Sobre-asignación (over-allocation) de espacio en disco: Permite asignar más espacio del que físicamente tenemos empleando técnicas de "Aprovisionamiento Delgado" (Thin Provisioning). De esta forma podemos hacer creer a nuestros servidores que contamos con más espacio del que físicamente tenemos, mientras el proveedor va surtiendo las partes, y sólo emplearemos el espacio que ocupamos en lugar del espacio asignado.
4) Consolidación de drivers: El contar con un único dispositivo que se comunique con el servidor, a pesar de ser más de uno el que brinde los discos, permite emplear menos drivers y simplificar la administración.
5) Consola de administración centralizada para todos los discos virtualizados
6)Unificación de réplicas de datos: A pesar de ser un tema en sí el de las réplicas de datos, podemos decir que por cuestiones de compatibilidad es prácticamente imposible replicar información entre diferentes equipos de diferentes fabricantes. La virtualización nos permite ver nuestro almacenamiento como una única piscina de discos, pudiendo mover información entre ellos o bien replicar remotamente esa información de manera transparente.

Podemos clasificarlos, a grandes rasgos, de la siguiente manera:

a) Equipos como el VSP de Hitachi Data Systems, NetApp o el IBM Storwize V7000 consisten de dispositivos de disco y que cuentan con funcionalidades de virtualización como un extra para publicar los discos de otros dispositivos como si fueran propios.
Las principales ventajas de estos equipos son el poder agregar mayor capacidad de disco de acuerdo a nuestra conveniencia y en el equipo que nosotros querramos.

b) Equipos de sólo virtualización: Gateways de NetApp, IBM San Volume Controller. Son equipos dedicados, basados en software, con funciones de virtualización. Por ser equipos dedicados muchas veces dan un muy buen desempeño. El IBM SVC actualmente ostenta el record de rendimiento en dispositivos de almacenamiento.

c) Soluciones de Software: Starwind IP SAN, FalconStor NSS, Compellent DataCore, etc. Suelen ser soluciones más económicas y por lo general ofrecen convertir a SAN sobre IP empleando el protocolo iSCSI, para evitar el uso de tarjetas especiales. Algunos son sistemas operativos completos, por lo general basados en Linux, o bien soluciones que corren sobre Servidores Windows.

d) Basados en el sistema operativo. Algunos sistemas operativos como el IBM i (anteriormente llamado OS/400) o Solaris cuentan con características de virtualización de discos y/o de cintas, empleando mecanismos propios del entorno.

Virtualización de respaldos

En realidad más que una solución de hardware o software suelen ser soluciones híbridas, donde el dominante es el servicio. También son llamadas soluciones de Cloud Híbrida de Respaldos.
Un ejemplo de ello es el equipo Secure2Disk de SUNGuard, que emplea un dispositivo para guardar los respaldos del equipo y luego subirlos usando un enlace seguro por Internet a un servidor "en la nube" brindado por el proveedor. La principal ventaja de estas soluciones es el no tener que adquirir equipos costosos, simplemente pagando una renta mensual por el espacio empleado.


Conclusiones

De la misma forma en que muchas veces cuando tenemos un martillo todo nos parece un clavo, si una "solución de virtualización" no está a la altura de nuestras necesidades, en realidad no es una solución.

Se de gente que  adquiere soluciones de virtualización de almacenamiento pensando que podrá reutilizar sus antiguos equipos de disco e intentar darles nueva vida. La realidad es que no siempre conviene mantener un costoso equipo con discos que tienen años y cuyo mantenimiento puede ser más elevado que comprar un dispositivo nuevo con funcionalidad superior.

El principal objetivo de toda solución de virtualización es reducir costos, sean costos directos o indirectos, de operación o de adquisición; o agregar nuevas funcionalidades. Al momento de diseñar nuestra solución deberemos tener esto muy en cuenta, o no agregará valor a nuestro negocio.

11 ago 2011

Que son la Virtualización, el Cloud Computing y para qué sirven?

Hoy quiero tocar un par de temas que para algunos pueden sonar trillados, para otros quizá novedosos y para unos terceros… tal vez no estén de acuerdo conmigo.
Virtualización
Virtualización en una PC

Qué es la virtualización?
La virtualización, desde un punto de vista de IT, es un recurso tecnológico que permite simular el contar con múltiples equipos cuando en realidad tenemos un equipo (o grupo de equipos) que comparte(n) recursos con diferentes sistemas operativos.

La idea original de la virtualización se originó en los años ’60, cuando los equipos de cómputo eran grandes mainframes con costos sumamente altos. Para poder justificar el costo elevado de los equipos era necesario poder emplear al máximo los recursos. Con esta idea en mente aparecen los primeros equipos particionados y años más tarde virtualizados, donde se podían correr múltiples sistemas operativos dentro de un mismo equipo.

Esas características fueron poco a poco permeando hasta llegar a los equipos basados en Unix, lo cual permitió correr múltiples instancias del sistema operativo en un mismo equipo. Fueron años más tarde que aparecieron productos que permitían virtualizar equipos basados en tecnología x86, al punto que podemos correr Windows dentro de una laptop de Apple, intercambiando archivos entre la máquina física y la maquina virtual de forma transparente.

En los últimos años se han incorporado diferentes recursos técnicos en los procesadores para permitir una mayor integración con los productos de virtualización. Hoy ya es posible mover una máquina virtual desde un equipo a otro sin interrumpir la operación, y de forma transparente para los usuarios.
Pero una de las novedades más grandes vienen con el apoyo de las nuevas tecnologías aportadas por Intel y que permiten escalar de forma casi lineal, así como la incorporación de funciones sofisticadas dentro del núcleo de Linux. Todo esto combinado con nuevas estrategias de mercado como el cloud computing, lo cual ha generado el desarrollo de nuevos productos más flexibles.


Pero qué es el Cloud Computing?
La idea de una nube la hemos visto desde hace años cuando nos quieren representar en unos bellos slides la idea de Internet y la relatividad de las distancias y ubicaciones. El cloud computing hace uso de esa idea que nos han forjado durante años, pero aplicado a la infraestructura de cómputo. Un término muy usado es Infraestructura como Servicio o IaaS (por sus siglas en inglés).

El Cloud Computing consiste en una serie de tecnologías combinadas que convierten a la infraestructura en una caja negra, y nos permite rentar equipos, en el caso de una “nube pública” (aquella que es ofrecida a través de Internet) sin tener que movernos de nuestros escritorios.

Como ejemplo, si queremos contar por 15 días con un servidor que corra Linux y DB2 para fines de desarrollo, podemos rentarlo fácilmente desde el portal  llamado IBM SmartCloud Enterprise. Dependiendo del recurso que necesitemos podemos rentar desde 1 mes, 1 día o 1 hora de un servidor con todo lo necesario para correr nuestras aplicaciones. Obviamente, dependerá de que estas no requieran del acceso físico a los equipos, o será prácticamente imposible de usar.


También existe otro concepto muy interesante llamado Cloud Privada. Con una Cloud Privada podemos crear un pool de recursos en nuestro Centro de Datos y brindar servicios de forma automatizada. Esto es de gran utilidad en empresas de gran tamaño, donde el costo de las licencias y el equipamiento se ve opacado por el esfuerzo necesario y la inversión requerida para operarlo.

Imaginemos el siguiente caso: Un programador le lleva una interesante idea de proyecto a su gerente del área para contar con un sistema web que de seguimiento a camiones mediante el uso de celulares. Este debe elevar el proyecto a su director, serán necesarias múltiples juntas para tomar una decisión, y una vez decidido pasarán el proyecto a compras.
En compras llamarán a su pool de proveedores para pedir cotizaciones, se comenzará a negociar el mejor precio, se colocará la orden y se entregará en un promedio de 6 semanas.
Una vez entregado, el equipo debe ser instalado, configurado, y recién será posible hacer uso de él.
Estamos hablando de un proceso que en su totalidad puede llevar de 3 a 6 meses desde que se solicita hacer la prueba de concepto hasta que se cuenta con el equipo listo para su uso.

En una nube pública o privada podemos reducir ese tiempo a unas cuantas horas, a lo sumo un par de días, puesto que los recursos ya existen y hay software especializado que se encarga de "aprovisionar" los recursos, instalar el sistema operativo con el software necesario, configurar la red y crear los usuarios para conectarse.

En estos momentos estamos viviendo una realidad donde el volumen de información y el tamaño de las infraestructuras comienzan a afectar el poder contar con un servicio de calidad. El haber pasado de grandes equipos que concentraban el poder de cómputo a múltiples equipos de diferentes proveedores con distintas tecnologías nos hacen ver como atrapados en una selva de servidores, software, tecnologías y redes cada vez más compleja, y de la cual sabemos que no hay salida, sino que debemos controlar para no perecer en la operación diaria.

Lo mismo ocurre con la virtualización. Las soluciones que permiten virtualizar no siempre son económicas. Muchas de ellas tienen precios súmamente elevados, pero el beneficio muchas veces lo justifica.
Veamos como ejemplo la virtualización de escritorios. Una serie de equipos corriendo un software con un costo bastante elevado para reemplazar a PCs que han sido amortizadas en el tiempo y que sólo reducirán el costo de administración, pero no de adquisición.

Entonces, conviene o no virtualizar?
Cual es mi brake-even que me permitirá comenzar a ahorrar costos?

Realmente la virtualización me aporta algo?
No existe una respuesta única a eso. La pregunta es: necesitamos reducir costos de operación o de adquisición?

Como regla del pulgar podríamos casi afirmar que:
1) si contamos con más de 30 o 40 servidores la virtualización es una excelente alternativa para reducir costos de operación, mejorar los tiempos de entrega de proyectos, consolidar los respaldos y reducir consumo eléctrico
2) contando con más de 100 servidores podemos casi afirmar que la virtualización es una necesidad y una cloud privada para crear un portal de auto-gestión de recursos es una excelente idea
3) con más de 200 servidores una cloud privada es como oro sólido
4) Si pensamos reducir costos de escritorios usando escritorios virtuales (VDI) , no pensemos en un escenario de menos de 200 o 300 puestos de trabajo, o no habrá una amortización suficiente del costo de arranque


Diego E. KESSELMAN

Cómo conectarme a un servidor remoto en una red protegida - Versión actualizada

En un artículo anterior describí cómo conectarse a un equipo remoto en una red protegida http://diego-k.blogspot.mx/2014/12/como-conectarme...