martes, 22 de septiembre de 2015

Vmware para principiantes: Redes Virtuales en vSphere

Vamos a ver una breve explicación de las definiciones de redes que se deben hacer a nivel vSphere. Primero, hay dos tipos de redes, switches virtuales estándar y switches virtuales distribuidos.
Los estándares proporcionan Red a los host físicos similar a como lo haría un switch común. Cada máquina virtual tendrá un puerto en este switch virtual para poder salir al exterior. cada adaptador virtual es llamado vNIC. Cada una de ellas va a tener una MAC y va a responder exactamente igual que si fuera física.

En un mismo Host ESXi puede crearse varios switches virtuales, estos pueden ser administrativos o para tráfico de las virtuales. A su vez, cada switch virtual posee grupo de puertos, este concepto es propio del ambiente virtual en donde por ejemplo podríamos agrupar determinada segmentación o política de red para un grupo de máquinas virtuales específicas.
Los administrativos pueden ser utilizados para gestión del Host, para tráfico de VMotion, Fault Tolerance y otros como por ejemplo, podríamos crear uno para Replicación de datos utilizando vSphere Replication (esta opción es necesaria para que el Host pueda tener otro default gateway). Tener las redes separadas, al igual que el ambiente físico, contribuye a tener más seguridad y separación de tráfico. Por ejemplo, el tráfico de iSCSI o Vmotion no está codificado por lo cual es una muy buena práctica tener ese tráfico en una red aparte.
Para tener más ancho de banda para todas las virtuales es necesario conectar más conectores físicos al switch virtual, placas físicas o también llamados uplinks. Cuanto más tengamos más ancho de banda disponible vamos a tener. 
Ustedes podrían instalar un Host ESXi en servidores standalone o utilizar blades. Los servidores blades pueden obtener un mayor ancho de banda de red desde el cajón donde estén almacenados. 

Los switches distribuidos nos permiten tener una sola configuración para varios Hosts ESXi. En vez de configurar cada uno por separado tendremos una sola ubicación y configuraciones consistentes. Para utilizar vswitches distribuidos es necesario por lo menos tener una licencia Enterprise +. Estos no van a poder ser administrados si el vCenter no esta online, si bien los host conservarán sus conexiones estas no podrán ser modificadas. Se pueden hacer backups y rollback de configuraciones muy fácilmente al igual que el ambiente físico. Ya posee filtrado de tráfico, LACP y varias herramientas más del ambiente físico pero de switches de alta gama, con lo cual, no quedan dudas de la potencia y las posibilidades que esta herramienta nos puede brindar.


Los Switches Distribuidos guardan mucha información en la base de datos del vCenter con lo cual al moverse una máquina virtual de un host a otro esta puede conservar todas sus estadísticas más allá de que este saliendo por otro puerto físico.


Si tuviésemos un ambiente con 5 hosts ESXi ya configurados dentro del mismo Cluster en donde todos deberían tener una consistencia en la cantidad de vlans que se ven, en la cantidad de grupo de puertos.... y quisiéramos cambiar algo, deberíamos hacerlo en los 5 hosts por separado replicando la operatoria en cada caso. Otra desventaja es que al migrar una máquina con VMotion el estado de red de esa máquina se reestablece, con lo cual perdemos la historia y la posibilidad de realizar un troubleshooting apropiado en caso de tener algún inconveniente. 
Los switches distribuidos simplifican la administración, permiten estadísticas y políticas.
Con un switch distribuido podríamos tener un mayor alcance de segmentación utilizando Private Vlans donde por ejemplo, podríamos hacer que las máquinas entre si, dentro de una misma vlan no puedan mantener conexiones. Al igual que si estuviesen en vlans separadas pero sin agotar las vlans disponibles.





domingo, 28 de julio de 2013

VCenter Log Insight con vCops

Log Insight es una nueva herramienta de VMware recientemente liberada de forma oficial. Es una gran herramienta de análisis de Log a alto nivel. Es uno de los sistemas de monitoreo y análisis de 3ra genración la cual trabaja con datos estadisticos. Recolecta logs desde el vCenter y desde los host esxi. Funciona como Syslog. Arma una gran base de datos con todos esos logs y se pueden logran muy buenos Dashboard de información de performance, errores, seguridad, alarmas, etc. Una herramienta muy parecidad con la cual he trabajado es Splunk, esactamente la misma forma de mostrar la información y de generar un lenguaje para las queries. El lincensamiento, sin embargo, vMware lo plantea distinto a Splunk. Splunk te da una licencia gratis en principio y que despues se va pagando por cantidad de logs recolectados. VMware plantea una licencia por máquina virtual al igual que hace con vCops.
Les dejo un video de VMwareTv en donde dan una breve introducción.
https://www.youtube.com/watch?v=RP-5A2ztShs&feature=youtube_gdata_player

miércoles, 10 de abril de 2013

Instalación de Vmware Infrastructure Navigator de Operations Manager

Infrastructure Navigator es una herramienta de VMware. Forma parte de la solución de Operations Manager. Esta aplicación nos permite realizar un mapeo de nuestras aplicaciones sobre la infrastructura virtual. Muchas veces una aplicación depende de varios servidores y no de uno sólo. Para no perder de vista esta situación es que podemos realizar un mapeo de todas las interconexiones de servidores que pertenecen a cierta aplicación. Por ejemplo podemos Crear un ambiente Intranet en donde figurarán mapeados el SQL Server, el Application Server y quizás un Balancer o Proxy.


Esta visión de la aplicación como conjunto de servidores nos permite saber por ejemplo cuando nos falta proteger alguna máquina al aplicar SRM, el software de Disaster Recovery de Vmware. Es muy útil para conocer el impacto real de una modificación en algún componente.
Para implementarlo en nuestro Datacenter Virtual sólo tenemos que bajar el OVF desde el sitio oficial de VMware. Se puede bajar un trial por unos días. Desplegamos el OVF en vCenter y luego agregamos la licencia. Si no aparece el producto en el listado para colocarle la licencia vamos a tener que hacer un Refresh hasta que aparezca. Luego de colocarle las licencias vamos a poder acceder a él mediante el Web Client solamente. Desde el cliente de desktop no se va a ver nada.

Espero poder hacer una nota más amplia al realizar las primeras configuraciones. Estén atentos!!

martes, 2 de octubre de 2012

VSI.net. El nuevo plugin para vCenter Web Client


Proximamente la nueva version de EMC VSI (Virtual Storage Integrator) reescrita y mejorada para el
cliente web de vCenter.



Demo: 
http://virtualgeek.typepad.com/virtual_geek/2012/08/vmworld-2012-emc-vsinext-flex.html


Gabriel Nunes
@Vnunesgab

domingo, 24 de junio de 2012

Diferencias entre particiones AIX y Máquinas Virtuales

Hay muchos casos dentro de las empresas donde algunas tecnologías se confunden y se cree que son iguales. Cuando hoy se habla de utilizar un servidor físico o utilizar un servidor virtual, como a nivel usuario es exactamente lo mismo, cuando se habla de virtualizar un servidor parece no haber casi diferencia entre usarlo en forma física o virtual salvo los ahorros de dinero correspondiente, debajo de la capota es toda una reingeniería del servidor. Hoy voy a explicarles en simples conceptos las diferencias entre la virtualización AIX y la virtualización de un Hypervisor conceptos que son verdaderamente muy diferentes pero a veces son tomados como iguales. 
Primero y principal, las LPAR de AIX son particionamientos del hardware subyacente. Es como agarrar el microprocesador y partirlo en pedazos para distintos sistemas operativos. El sistema operativo que instalemos seguirá corriendo arriba del hardware físico pero no podrá utilizar el total del hardware sino la parte de éste que le corresponda. Es por eso que son tan escalables y performantes los sistemas que corren con esta tecnología, casi al igual que en forma nativa. Ahora, el consumo de los recursos se podrá limitar a este porcentaje asignado y si no se utiliza estará allí desperdiciándose (mal gastando los activos de la empresa). El hardware en cuestión tiene que ser diseñado para apoyar el particionamiento, un aspecto verdaderamente negativo ya que le saca toda la Flexibilidad que puede llegar a tener. Es una disociación insuficiente del hardware subyacente. Se necesita aún tener todos los controladores del hardware físico y el sistema operativo no correrá en otro hardware si no cumple con la matriz de compatibilidad. 
Todo esto es muy diferente en el mundo de los Hypervisores en donde un sistema operativo es el que habla directamente con el hardware físico y lo distribuye según su utilización. Si bien  hay limitaciones para asignar es muchísimo mejor utilizado que en el caso de las LPAR. Si hay ciclos de CPU que no se utilicen en alguna máquina virtual y hay otra que los requiera, si se puede, el Hypervisor va a ofrecer esos recursos a la máquina que lo solicita. En caso de que dos máquinas virtuales utilizen los mismos sistemas operativos existe la posibilidad de utilizar los mismos bloques de memoria para controladores por ejemplo, lo que ahorra significativamente el uso total de los sistemas. Cuando se acaba la memoria para utilizar el Hypervisor se encarga de comenzar a comprimir páginas de memoria para poder seguir ofreciendo memoria para que no se caigan las máquinas virtuales que contienen. También podemos nombrar como diferencia existencial la gran flexibilidad con la cual podemos mover las máquinas virtuales entre distintos hardware sin ningún tipo de problemas, siendo estos fabricados por distintas empresas, con distintas capacidades y disponibilidades. El gráfico inicial pone en relieve las diferencias de las dos ingenierías donde en una predomina la ramificación y la otra la ingeniería del uso de los recursos.

miércoles, 13 de junio de 2012

Generaciones de herramientas de monitoreo para Cloud


Los monitoreos fueron evolucionando a través de los años y vamos a analizar esta evolución hasta los sistemas de virtualización y Cloud Computing. Con mi experiencia voy a establecer algunos conceptos que demarcan las generaciones de los sistemas de monitoreo. La primer generación de monitoreo aparece cuando tenemos un simple comando ping para ver si el servidor vive. Luego, cuando pasamos a aplicaciones que comienzan a controlar los servicios de los sistemas operativos estamos ante la segunda generación. Hay una tercera generación de monitoreo que permite no solo controlar el hardware y los servicios sino que también permite aprender de toda la información disponible y pronosticar comportamientos. La cuarta generación, no encierra solo esa gran característica de la tercera, sino que también nos permiten emular escenarios. Esta última generación comienza a transformar los datos que se van recaudando las 24 horas del día, 7 días a la semana, los 365 días al año en información muy valiosa, información cada vez más útil y extraordinariamente eficaz que nos permite tener una noción mucho más amplia y certera de la infraestructura que mantiene vivos los procedimientos de nuestro negocio. Es una mezcla de conceptos de monitoreo, analitycs, datawarehouse, y capacity.
vCenter Operations pertenece a la cuarta generación pero ya estamos viendo indicios de una quinta generación la cual pasaría a consumirse como un servicio en la nube. Las compañías contratarían otra empresa tercera para que le brinde el servicio de monitoreo de servidores. Estos servicios se volverían tan expertos que permitirían recuperar una infraestructura virtual muy fácilmente. Podrían estar en línea con agencias generadoras de soluciones para poder entender los problemas que se presenten y darles una solución acorde, una solución automática que se pediría mediante una alarma a la empresa externa. Si hoy en día ya están a nuestro alcance los sistemas de antivirus que funcionan de esta forma los sistemas de monitoreo podrían seguir el mismo camino. Los servidores de la empresa privada se conectan a la nube para consumir un servicio de antivirus, centralizado y de alta seguridad mundial. ¿Quien de nosotros no quisiera aparte de recibir una alarma con un inconveniente recibir un adjunto con la solución? El monitoreo sigue evolucionando hacía la centralización y especialización de los sistemas virtuales. Si bien también está evolucionando la IaaS hay muchas empresas que aún mantienen sus equipos en la red interna y están creando sus nubes privadas por protección de la información en donde las nubes públicas aún no cumplen con las expectativas de seguridad requeridas. Para todas aquellas nubes privadas que utilicen a VMware vSphere como motor de virtualización, VMware Operations es la mejor opción. Hay otras herramientas que compiten con VMware Operations pero no son tan eficaces como esta última según los análisis realizados por distintas empresas por su alta integración con todas las herramientas de VMware. Algunas de las herramientas que pretenden competir son vFoglight de la empresa Quest, Nimsoft Monitor for VMware, Zenoss, Veeam One, Nagios 6, Orion, Splunk, Logic Monitor, OpManager y otros. 

martes, 5 de junio de 2012

Crear un Cloud Computing Privado




  
  



 vCloud es el gran caballito de batalla de VMware. Sin embargo sigue siendo software. Por lo que he visto este último tiempo hay varias herramientas aparte de vCloud que buscan el mismo fin, algunas bien logradas y otras no tanto. Algunos conceptos ya los conocemos como la autoaprovisionamiento, automatización de la capa de virtualización, administración de activos, workflow de vida de los servidores virtuales, separación de SLA para los equipos, etc.
Microsoft está prometiendo una revolución con System Center 2012 (actualmente solo una promesa, está muy acotado lo poco que vimos funcionando). Están vendiendo mucho el Portal de autoaprovisionamiento como si fuese que con eso ya tenes una nube privada y le falta madurar bastantes cosas.
IBM tiene una solución llamada IBM SmartCloud que, por lo poco que vi, es muy engorrosa con la máxima cantidad de productos comparado con las otras soluciones, y todos bien enlatados de IBM.
RedHat tiene su solución llamada CloudForms que parece simple de implementar pero no me cerraron algunos conceptos. Nace de una empresa que adquiere recientemente.
Después tenemos a HP Cloud Services que solo pude ver una presentación, nada funcionando. Aunque se supone que tiene que ser un gran producto al final del camino porque se basa en OpenStack, que dejare los detalles para casi lo último.
La más simple ofrecida hasta ahora en el mercado argentino es la solución de Cisco la cual también adquiere en este caso dos empresas especializadas en Cloud Computing y unifica las soluciones en un único producto Cisco Intelligent Automation for Cloud (CIAC). Cisco parece haber estudiado gran cantidad de datos y pruebas para llegar a este producto.





Más allá del mercado local podemos ver afuera soluciones como OpenStack que se basan en una solución Open Source que viene un poco a formar y trabajar bajo estándares. Por lo que pude investigar, esta solución sale de dos empresas llamadas NASA y RackSpace (bastantes conocidas). Lo que le ocurrió a la NASA en su momento es que probaron algunos proveedores como Amazon y otros menos conocidos, hicieron sus propias incursiones con su sitema Nebula pero necesitaban portabilidad, migrar su infraestructura de un lugar a otro y no depender de un tercero. Lo de RackSpace fue un poco distinto porque venían utilizando un sistema llamado Eucalyptus pero que tenía varios problemas y querían salir a competir contra Amazon. Así nace OpenStack y luego liberan el código para que otras empresas y el público en general comience a estudiar como encontrar la mejor solución, así nacen por ejemplo StackopsCloudStack y otras. Un detalle importante es que se basa en el lenguaje Phyton, conocido en el ambiente de desarrollo como un lenguaje muy flexible, rápido y potente (una empresita que basa sus sistemas en este lenguaje es Google).



Por último y la que le pongo todas las fichas por ver las cabezas que están detrás de este proyecto es Nimbula que nace de las raices del EC2 de Amazon. Esta empresa nace para brindar una herramienta para crear nubes privadas basándose en los conocimientos adquiridos en la creación del servicio de Amazon (EC2). Las personas detrás de este proyecto son Chris Pinkham (co - fundador) (ex VP Engineering en Amazon, fundador de EC2), Willem van Biljon (co – fundador) (líder del team de desarrollo de EC2), Martin Buhr (VP de ventas) ( Director de Desarrollo de Negocios de Amazon AWS) y extrañamente alguien de VMware Reza Malekzadeh (VP de Marketing) (Director de Marketing de VMware hasta el año 2009). No parece tan raro que alguien de Marketing pase de empresa sin embargo cuando vemos los principales inversores tenemos a Sequoia Capital y a Diane Green, co-fundadora y ex – CEO de VMware.......
El sistema parece prometedor, lo he probado personalmente y es fenomenal. Es gratis hasta el despliegue de 40 cores, instalación rápida en 20 minutos. Autoaprovisionamiento e instalación de nodos físicos, portal de autoaprovisionamiento.....
Lo interesante sería saber si alguien implemento alguna solución de estas... 

martes, 25 de octubre de 2011

Sistemas de virtualización: Hypervisores


Vamos a nombrar a continuación algunas de las empresas que se dedican a la creación y perfeccionamiento de los Hypervisores del mercado. Pero antes.... ¿Qué son los Hypervisores? Los Hypervisores son los sistemas que nos permiten crear e implementar la virtualización. Estos sistemas colocan una capa de abstracción sobre el hardware para que pueda ser utilizado por varios sistemas operativos al mismo tiempo. Esta tecnología data desde los años 70 en donde se comenzó a utilizar con los viejos sistemas Mainframe. La primera en implementarlo fue la empresa IBM con su Computador S/360 Modelo 67. Más tarde, alrededor de 1999, se comenzó a utilizar en arquitecturas x86, en donde uno de los pioneros fue la empresa VMware. Casi imitando el mismo concepto lo traslado a una arquitectura que utilizaba la mayoría de las empresas actuales. Los sistemas mainframes aún son muy costosos comparados con los sistemas x86. VMware actualmente ofrece al mercado uno de los mejores Hypervisores llamado vSphere ESXi. Pero rápidamente otros sistemas aparecieron para competir. Al principio la competencia era bastante dura y nadie entendía muy bien para que servía la virtualización. Había mucho miedo en las empresas y solo se comenzó a utilizar en sistemas de escritorio. En estos últimos años la carrera fue mucho más fácil pues los principales creadores de procesadores del mercado colocaron instrucciones embebidas para potenciar el uso de los Hypervisores. Tanto Intel como AMD siguen incrementando este potencial para cada uno de sus servidores nuevos. Aparece en escena XEN como otra solución de virtualización por los tiempos de VMware. Era un proyecto de la Universidad de Cambridge, el cual adquiere luego la empresa Citrix en el año 2007 por unos 500 millones de dólares. Citrix crea entonces Xen Server, sistema que le ha hecho un poco más difícil el camino a su predecesora VMware pero especializándose en sistemas de escritorio virtuales. Luego aparecieron más empresas en el camino como Microsoft, un poco retrasada pero con una buena solución llamada Hyper-V. Le lleva 10 años de investigación a VMware pero presentaron una buena competencia según el cuadro de Gartner de la aceptación de los sistemas de virtualización por parte de los grandes CEOs de las compañías en el año 2010. 

Tenemos otros tantos Hipervisores en el mercado que están revolucionando todas las expectativas como ser Oracle VM, RedHat KVM, Parallels y otras menos conocidos que no tuvieron mucha repercusión como Basilisk, BOCHS, Virtuozzo, vMac, SheepShaver, etc. Continuando un poco con la explicación sobre los Hypervisores, en este punto, quiero hacer una diferenciación de dos tipos de Hipervisores, los de tipo 1 y los de tipo 2. Tanto ESXi, como Xen Server, KVM, Oracle VM o Hyper-V son sistemas del tipo 1, los cuales se instalan directamente en el hardware, son sistemas operativos puros. En el tipo 2 de Hypervisores podemos encontrar tanto a Virtual Server de Microsoft como a otras soluciones las cuales se instalan arriba de otro sistema operativo como Windows o Linux. Algunos competidores en este rango son VMware Server, VMware Workstation, VMware Player, Virtual Box, QEMU, Virtual PC y otros.

Hypervisor Tipo1
Hypervisor Tipo2
Existen otros tipos de sistemas de virtualización como por ejemplo las LPAR en los sistemas UNIX pero estos no son precisamente Hypervisores. Lo veremos más adelante en otro post de este Blog que te ayudará a entender un poco más de este mundo de virtualización. No dudes en recomendarnos si esta información te ha sido útil.

martes, 18 de octubre de 2011

¿Qué es KVM?

En esta ocasión vamos a presentar KVM (Kernel based Virtual Machine), una de las tantas herramientas de virtualización. Basada en GNU/Linux y desarrollada por la empresa Qumranet, esta herramienta de software libre permite la virtualización sobre hardware X86 y viene incluido por default a partir del Kernel 2.6.20 de Linux, permitiendo una rapida implementación.
KVM realiza una virtualización completa, a diferencia de otras alternativas que hacen emulación del procesador (Virtual Box, VMWare), lo cual da muchísima usabilidad y flexibilidad, pero no aprovecha bien los recursos del servidor, lo cual hace un poco mas lenta la ejecución del SO huésped. Estos son algunas cualidades de KVM:

  1. Es un módulo del kernel, luego no hace falta arrancar kernels especiales ni aplicar parches.
  2. No es necesario modificar el kernel del sistema operativo que vas a ejecutar dentro de la máquina virtual.
  3. Soporta tecnología NUMA, por lo que permite una escalabilidad muy amplia.
  4. Tiene muy pocas líneas de código.
  5. Usa el scheduler y gestor de memoria propio del kernel.
  6. Fácil instalacion, ya que necesitas instalar solo 3 paquetes (qemu, kvm y kvm-kmp).
Estos son algunos puntos en contra de KVM:
  1. Necesitas tener un procesador con soporte para virtualización por hardware, como son los procesadores con tecnología AMD-V e Intel-VT.
  2. No tiene interfaces gráficas bonitas y sencillas de usar para configurar y administrarlo.
  3. No es una herramienta multiplataforma, ya que se ejecuta solo en Linux.
La interfaz de escritorio para administrar las maquinas virtual se llama Virtual Machine Manager (virt-manager es el nombre del paquete). Esta permite tener una visión del funcionamiento y utilizacion de los recursos en tiempo real, actualizaciones y estadísticas de la utilización de recursos. Permite ver los gráficos detallados de rendimiento y utilización en el tiempo. Permite la creación de nuevos dominios, la configuración y el ajuste de la asignación de recursos de un dominio y hardware virtual. Trae incorporado un cliente de VNC, la cual presenta una consola gráfica completa del dominio huésped.

No podemos omitir el gran cambio que realizo Red Hat al migrar de Xen a KVM, brindandole un apoyo mas que importante. Red Hat decidio llevar su solucion de virtualizacion RHEV (Red Hat Enterprise Virtualization) a KVM, produciendo un impacto alto en el mercado y lanzandose como un competidor a tener en cuenta.

La empresa del sombrero rojo lanzo RHEV 2.2, el cual presenta las siguientes cualidades:

  1. Alta disponibilidad (cuando una servidor físico presenta una falla de hardware, los servidores virtuales que se estaban ejecutando en dicho hardware, se reinician y levantan en otro servidor físico)
  2. Migración en caliente (permite migrar una maquina virtual de servidor fisico sin la necesidad de apagarla o reiniciarla y sin afectar la performance)
  3. Baja los costos de licenciamiento ente un 60% y 80% con respecto a sus competidores.
  4. Las aplicaciones certificadas para RH, Oracle y SAP por ejemplo, pueden ser utilizadas con RHEV.
  5. Modelo híbrido ya que RHEV tiene la capacidad de ejecutar maquinas virtuales como fisicas en la misma plataforma.
  6. Ahorro de energía al concentrar las maquinas virtuales en pocos servidores durante las horas de baja demanda.
  7. Snapshot
  8. Virtualización tanto para servidores como para desktop.
  9. Balanceo de carga.
  10. Soporte para múltiples arquitecturas de hardware (x86, POWER, SystemZ, Itanium)
  11. Amplia variedad de ofertas para pilas de middleware (Java EE Application Platform, ESB, Portal Server)
  12. Capacidad de transferir una aplicacion entre servidores fisicos y virtuales.
Al tener una interfaz grafica sencilla y no ser muy intuitivo, no es un sistema recomendado para usuarios que se inicializan en la virtualización. Red Hat lo presenta con el Virtualization Manager, el cual esta basado en el Virtual Machine Manager y permite administrar el entorno virtual.

sábado, 8 de octubre de 2011

¿Qué es Cloud Computing o computación en la nube?

Hay muchos mitos sobre este tema, mucho marketing y muchos conceptos mezclados. Hay quienes dicen que el Cloud Computing ya existía hace mucho tiempo, hay quienes dicen que es toda una tecnología nueva. Las empresas lo venden como una revolución tecnológica. Todos ellos tienen un poco de razón y muchos tienen un poco de exageración. Según un estándar que busca seguir EEUU, en una nota publicada por el MIT, este mes, el Cloud Computing es:

"a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

Para mi, algo más simple sería:

"Cloud Computing es una forma de brindar servicios bajo demanda sobre Internet"

¿Es cierto que es una tecnología nueva? No tanto, en realidad la tecnología que soporta que el servicio este online 99,9% del tiempo está muy desarrollada y automatizada cada día más.
En parte, el motor que hace mover los servicios de Cloud es la virtualización y la computación distribuida al estilo GRID. Tecnologías bastante desarrolladas desde el siglo pasado, sin embrago no alcanza porque también, estos servicios, tienen un alto grado de automatización que no es muy fácil de desarrollar en cualquier entorno de virtualización.
¿Es cierto que es un término nuevo? En realidad el término si es nuevo, pero por una cuestión de marketing. Este tipo de servicios ya se venían dando. Tenemos por ejemplo el correo web, los repositorios de fotografías, los repositorios de código fuente, de música, etc, todos pueden considerarse un servicio de Cloud.
¿Es cierto que el Cloud Computing no está offline nunca? Bueno, esto no es del todo cierto, salvo que los servicios que dicen llamarse servicios Cloud estén bajo un sistema de virtualización, en Cluster, que soporte el HA (High Availability - Alta Disponibilidad), DRS (Distributed Resourced Scheduling - o también distribución de carga). Estas características permiten que los equipos físicos puedan romperse sin necesidad de que el servicio deje de ofrecerse, pueden apagarse equipos para mantenimiento, pueden migrarse Datacenters enteros a otra región física, pueden soporta grandes cargas de trabajo y también son muy fácil de escalar y actualizar. Más allá de que el sistema sea virtualizado o no debe contener estas características antes nombradas. Google, por ejemplo, da servicios que podrían categorizarse como servicios Cloud pero un poco diferente a los demás. Utiliza computación distribuida o grid computing con un lenguaje de programación interpretado. Es el rey de la computación distribuida, sus servidores son enjambres de máquinas chicas, sin carcasa y casi atadas con cinta, de bajo costo, pero de un gran potencial  (....no me cabe duda que si juntamos un par de celulares tengamos el mismo o mejor potencial que un servidor actual..... la Nasa por ejemplo, recopiló varios Play Station para hacer una super computadora de alta resolución gráfica para mapas de navegación satelital.....).




Existen tres tipos básicos de servicios Cloud:

  • Los que se refieren a servicios de Infraestructura correspondiente a la entrega de servidores virtuales, capacidades de storage, capacidades de memoria ram, de red, se llaman IaaS
  • los servicios basados en software como por ejemplo un Correo Web, aplicaciones de escritorio web como Google Docs, Office Online, Sales Force, Facebook y otros, que se llaman SaaS
  • y también los que entregan una plataforma de desarrollo bajo demanda, por ejemplo Google App Engine, SourceForge, GemFire, y varios más, llamados PaaS.

A su vez, si hablamos de IaaS podemos encontrar tres tipos de Cloud Computing, dependiendo de si el servicio es dentro de una empresa, en ese caso es privado, sino el servicio es público y por último tenemos una combinación de estos dos llamado mixto. La gran incógnita de todos cuando se habla de Cloud Computing es:

¿Como se hacen los servicios de Cloud Computing privados o para el público?

Bueno, es bastante largo de contar y es muy oscuro el camino detrás del Cloud Computing, veremos muchos obstáculos para llegar a la verdad.... Me ha tocado ver las soluciones propuestas por varios vendors de la mano de grandes gerentes de venta y casi todos están muy verdes. Lo que se vende hoy como Cloud computing es una especie de automatización del sistema de virtualización que corre abajo pero falta mucho. Amazon lo logro, después de un montón de desarrollo y utilizando KVM como motor, pero esto funciona muy bien en EEUU donde las redes son otras, por nuestra región, en Argentina, esos servicios de Amazon sufren de mucho delay. VMware vende el Cloud Director pero su solución de Cloud Privado es mucho más visionaria, tiene software en desarrollo, aún le falta un poco. Microsoft tiene todo por hacer, todo es teórico y empresas como IBM o EMC también tienen sus soluciones pero todas muy complejas, sin nada de documentación ni clientes que se puedan visitar para asegurar su funcionamiento, hay que instalar 1000 aplicaciones y coordinarlas entre ellas. Por mi parte estoy estudiando una solución que me pareció bastante original que viene a un ritmo firme llamada OpenStack (originariamente un proyecto libre de la empresa Rackspace y la Nasa). Más adelante hablaremos de esta extraordinaria opción.
Si tendríamos que definir los pasos para construir un Cloud Privado, se nos podría ocurrir algo como los siguientes pasos según la lógica nos deja ver:
......primero y principal, podemos utilizar virtualización o grid computing. En nosotros queda la decisión de asegurar que contemos con los servicios antes nombrados. Luego de definir la base del hardware,  vamos a necesitar un sistema de automatización, de creación de equipos virtuales, normalización de templates, medidores de costos, facturación, asignaciones de disco según templates, autocrecimiento y decrecimiento de la granja virtual, monitoreos, alarmas que provoquen acciones, control de inventario y capacity planning, por último, un sistema web que tome todas esas cuestiones y las resuelva en una linda interfaz para cada nivel de usuario, con workflows de aprobaciones, controles, disparadores de emails y confirmaciones, etc. Sin duda, no es soplar y hacer botellas como se nos está vendiendo en el mercado pero tarde o temprano estas soluciones van a ver la luz y se van a ir simplificando.

Empresas:
http://www.openstack.org
http://www.google.com/apps
http://www.emc.com/leadership/programs/cloud_computing.htm
http://www.ibm.com/ar/services/cloud.phtml
http://hpcloud.com/

Estándares y definiciones:
MIT definition (2011): Cloud Computing Defined
NIST Cloud Computing Reference Architecture: Recommendations of the National Institute of Standards and Technology

domingo, 25 de septiembre de 2011

¿Qué es la virtualización?

Vamos a empezar el blog por el principio: ¿Qué es la Virtualización? Si investigamos un poco por la web vamos a encontrar un montón de definiciones. La más escuchadas es la siguiente:

"Es la forma de re-aprovechar los recursos físicos de una computadora, donde ayer funcionaba solamente una hoy funcionan dos, tres o más "

Hoy no es la más acertada porque tenemos distintos tipos de virtualización como veremos más adelante. Pero vamos a ejemplificar para que vayamos entendiendo más a fondo este concepto. Imaginen tener una laptop en la mano, tienen un gran poder de procesamiento y cómputo que no siempre está siendo utilizado todo el tiempo. Hoy en una misma laptop podemos tener funcionando dos por el mismo precio, para el fin que nosotros queramos e imaginemos, pero hoy es posible. 


Lleven esta imagen hoy a los servidores (las grandes PCs de los centros de cómputos), es el mismo concepto: donde ayer corría un servidor hoy podemos correr dos, tres o más servidores con el mismo hardware. Entonces, no solo se re-aprovechan los recursos de una máquina sino que se re-aprovechan los recursos de la empresa también.
Con esta primera impresión podemos comenzar a entender que la virtualización genera grandes cantidades de ahorros y genera el máximo uso de recursos posible. También se ve una continua independencia del hardware y software donde ambos conceptos se comienzan a abstraer.
Cómo dijimos antes, hoy aparecen virtualizaciones de distintas cosas, hay distintos tipos de virtualización, no solo de servidores o máquinas de escritorio, sino que hoy hablamos también de virtualización de aplicaciones, virtualización de storage (discos, dispositivos de almacenamientos) y hasta virtualización de celulares. Pero todos persiguen el mismo fin.
La virtualización de aplicaciones busca re-aprovechar el poder de cálculo de los servidores centralizando el uso de las aplicaciones dentro de una empresa, re-aprovecha el poder del software de la empresa. Un ejemplo sería instalar un Word en un servidor y darle acceso a utilizarlo a las distintas laptops de la empresa. Estás máquinas de escritorio no tendrían que instalarse localmente la aplicación, la verían como local pero la utilizarían desde el servidor.
La virtualización del storage plantea un concepto mucho más dificil de entender pero a grandes razgos significa que no importaría que tantos tipos de storage utilicemos sino que lo podemos utilizar en cualquier lugar cuando lo necesitemos. Podemos tener en la empresa 3 o 4 tipos de cajas de storage y verlas como un solo sistema de disparador de recursos de almacenamiento. Otra vez, se busca re-aprovechar los recursos de storage de una empresa o grupo económico.
La virtualización de celulares es un concepto mucho más humano, se busca que las personas no tengan que llevar dos o tres dispositivos en sus bolsillos, uno para el trabajo, uno personal, otro para guardias, etc. La virtualización de celulares unifica todos en un sólo equipo. Este concepto, más que re-aprovechar hardware, re-aprovecha comodidad y estilo de vida. En sintesis gastamos menos vida llevando un dispositivo que cargando con 3. Nos baja el peso que llevamos encima todo el día, nos baja los niveles de radiación probocados por estos dispositivos y también por supuesto nos baja el nivel de stress y nos brinda comodidad. En síntesis, podemos definir la Virtualización como:

Aprovechar al máximo los recursos disponibles.

Yo creo que esta es una simple y concreta definición que podemos asociar con cualquier tipo de virtualización. No queda duda que la virtualización está cambiando los conceptos de la vieja computación, está cambiando los negocios y modelos de empresa, está cambiando las comunicaciones y hasta el estilo de vida de las personas. Los invito a que sigan aprendiendo más sobre esta tecnología ;)

Datos iniciales

Datos avanzados
White Paper de VMware: Patente de la tecnología de virtualización para plataformas x86