25 de febrero de 2009

Virtualización, la oportunidad de Linux para acabar con Active Directory

(Advertencia: post largo, pequeño rollo introductorio, tomen las precauciones que la legislación de su pais considere necesarias)

Hay gente que piensa que el Active Directory de Microsoft es simplemente un sistema de autenticación que puede suplirse con OpenLDAP o con el servidor de directorio de Red Hat. No es cierto: aunque la autenticación es una de sus funciones primarias, en el mundo AD eso son tan solo los pilares sobre los que Microsoft ha construido un sistema impresionante que integra muy bien los servidores y escritorios Windows.

Ninguna otra empresa o SO ha llegado a implementar algo tan completo como AD, por la simple razón de que nadie ha llegado a dominar a la vez escritorios y servidores como lo ha hecho Microsoft. Nadie más ha tenido la oportunidad de extender los tentáculos de un servidor de directorio como Microsoft ha podido hacerlo en sus productos. Existen magníficos servidores de directorio, pero las empresas que los crearon no poseen un imperio Windows, un imperio Mobile (bueno, éste último no tanto), un imperio IE, un imperio Office, un imperio Exchange, a los que añadir una integración con sus directorios tan completa como la que Microsoft ha creado en el mundo Windows. Solo Apple ha tenido oportunidad de imitarles, e históricamente los servidores no han sido su centro de atención. Ultimamente si que le está prestando más atención, pero Microsoft lleva mucha ventaja.

Linux, por su parte, está terminando de cazar a Windows en el escritorio de consumo, pero aun no ha tenido tiempo de centrarse en el escritorio empresarial. Samba 4.0 podrá, cuando salga de la fase de desarrollo, actuar como un verdadero reemplazo de un servidor AD (en gran parte gracias a la magnífica labor de la Comisión Europea en este aspecto, que obligó a Microsoft a proporcionar documentación sobre como funcionaba AD). Pero Samba y AD sirven primordialmente para actuar como servidor de máquinas Windows, no Linux. Gran parte del software de los escritorios Linux -Gnome y KDE, para empezar- ignoran casi completamente la existencia de servidores de directorio. El tema está verde. Progresará, pero le quedan muchos obstáculos que vencer, y no es precisamente el menor de ellos el que KDE y Gnome sean capaces de ponerse de acuerdo en ciertos aspectos comunes que están obligados a compartir (¿qué ocurre en una red donde hay equipos con escritorios Gnome y KDE?).

Por todo esto -y perdonen el rollo introductorio- AD es una de las mejores cartas del imperio Microsoft. Es un terreno donde dominan y donde nadie les hace sombra. Gracias a AD, Microsoft vende muchos Windows Server, y Exchange, y Sharepoint. Gracias a AD, Microsoft vende a muchas empresas muchas licencias de Windows XP/Vista, Office y la madre que les parió. Gracias a AD, Microsoft vende muchas CALs. En otras palabras, que todo lo que representa AD vale su peso en oro, muchos miles de minolles. Sin exagerar: es una parte vital de los ingresos de Microsoft, una empresa que cobra a sus clientes 60.000 minolles al año. ¿En cuanto se valoraría si se pusiera la venta? Dificil de calcular.

Y el mundo Linux está lejos, tan lejos de poder competir con todo eso. ¿O no?

En el anterior post contaba que Red Hat se está centrando en KVM como solución de virtualización Linuxera. De lo que no hable tanto fue de Qumranet, la empresa creadora de KVM, y que Red Hat adquirió hace un tiempo. Además de desarrollar KVM, esta empresa tenía en mente planes empresariales, porque la verdad es que desarrollar KVM por si solo sería estúpido porque no da ni duro (por cierto, aprovecho para reivindicar que a las monedas de cinco céntimos de euro se las llame duros). Y su plan empresarial se llamaba "Solid ICE": Clientes ligeros que se conectan a un SO que funciona en una máquina virtual KVM de un servidor.

Los "clientes ligeros" no son nada nuevo, se dirá. Y es cierto, cosas como TCOS, o Terminal Server en Windows, no son para nada nuevas: Un ordenador barato y cutre se conecta a un servidor remoto potente y maneja su cuenta de usuario como si estuviera operando en su mismo ordenador. Nada que no sepamos. Sin embargo, no se puede decir que los clientes ligeros sean los predominantes, de hecho son algo minoritario (un 1% de las ventas totales de PCs, según IDC). Lo que se lleva ahora son ordenadores moderadamente potentes: clientes pesados, no ligeros. En estos equipos no se accede a un servidor remoto para usar el software allí instalado, se instala el software localmente, y todo el equipo es administrado desde un servidor a través de cosas como AD. De hecho, se diría que el imperio AD se basa, fundamentalmente, en clientes "pesados", y no ligeros.

¿Que ocurriría entonces si la virtualización proporcionara al cliente ligero ventajas que lo hicieran más atractivo frente a la opción de los clientes pesados, hasta el punto de que éstos últimos pasaran a ser la rara excepción y los primeros la regla? En un mundo de clientes ligeros AD se volvería irrelevante, o al menos perdería gran parte de su importancia. Nadie necesita todos los servicios que proporciona AD para organizar clientes y servidores si los clientes están alojados, en realidad, en el propio servidor. Y he aquí donde Red Hat tiene puesto el ojo. Además, ¿por qué creen, además, que Citrix -que se dedica en parte a los clientes ligeros- compró Xen? Al igual que Red Hat, y que Vmware, saben que los clientes ligeros van a basarse a partir de ahora sobre sistemas de virtualización. Curiosamente, mientras escribía este artículo encontré en la wikipedia este artículo del New York Times, donde precisamente tratan del tema del regreso de los clientes ligeros. Es reconfortante estar escribiendo un post defendiendo un punto de vista, y de repente encontrarte un artículo donde algunos pesos pesados de la industria tambien lo defienden, y startups que se están jugando su dinero y su futuro en ello. Asi que parece que es un secreto a voces: Los clientes ligeros han vuelto, y pueden arrasar en los próximos años. (De hecho, llevando la discusión más lejos, la "Web 2.0" es tambien otra tendencia que está yendo contra los clientes pesados: se trata de un "cliente tonto" que con un simple navegador puede acceder a todo tipo de, *ejem*, "aplicaciones", pero eso es otro tema).

De repente, Linux ya tiene facilitado el acceso al mundo del escritorio empresarial. Sigue sin tener una integración mediante servicios de directorio capaz de vencer a AD, pero gracias a la virtualización y a los clientes ligeros, tampoco lo necesita. De repente, aparece para Linux un resquicio trasero por el cual colarse y atacar al imperio del AD, conseguir que miles y miles de empresas adopten escritorios Linux -lo cual es imprescindible para que las distribuciones Linux quieran y puedan gastarse mucho dinerito en mejorar Gnome y KDE- y conseguir que parte de esos 60.000 millones de ventas que anualmente tiene Microsoft pasen a ser ventas de productos basados en Linux. AD y todos los servicios relacionados tienen unas licencias TAN caras, que a poco que aparezca una alternativa barata y verdaderamente competitiva

la gente tirará por esa opción en masa. Y Microsoft se verá obligado, para empezar, a bajar precios de las licencias y por tanto reducir márgenes.

Las ventajas que aporta la virtualización a los clientes ligeros son numerosas. En primer lugar, con la virtualización cada cliente tiene su propio SO independiente, su propia máquina. Esto permite separar completamente la administración y gestión del servidor y la de los clientes. Puedes actualizar el servidor sin afectar para nada a los clientes. El servidor no tiene que tener instalado ninguna pijadita para sus usuarios, tan solo tiene que gestionar VMs virtualizadas. Puedes actualizar unos clientes y otros no. Puedes, de hecho, soportar fácilmente entornos mixtos: Unos clientes pueden usar Ubuntu y otros Windows, lo cual es facilita el migrar redes windows a Linux gradualmente. No hay problemas, la virtualización puede con cualquier SO, incluso Haiku, si usted está tan mal de la cabeza como para querer usarlo. Este esquema tambien permita isolar fallos o virus. Comparen esto con los clientes ligeros tradicionales, donde los clientes acceden, en realidad, a una cuenta del SO que del servidor, donde una actualización de software puede afectar no solo al servidor sino a todos los clientes, donde una reinstalación del servidor es tambien una reinstalación del SO de los clientes, donde un virus en un cliente puede llegar a afectar a todo el sistema si encuentra alguna vulnerabilidad que le permita conseguir permisos de administrador...

Tambien hay otras ventajas: Migración -¡en vivo!- de unas VMs de unos servidores a otros servidores según lo aconseje la utilización racional de los recursos (como, por ejemplo, gasto de energía). Si el número de clientes se dispara y los servidores se quedan cortos, tan solo hay que añadir servidores, y se migrarán VMs a él automáticamente cuando se necesite. La gestión de hardware se simplifica enormemente. Snapshots, etc...

A esto le tenemos que sumar las ventajas de los clientes ligeros. Mayor seguridad, si te roban un ordenador te solamente roban el equipo, todos los datos están en el servidor (en el mundo cada vez más móvil que vivimos hoy en día este aspecto es como para tenerle muy en cuenta). Hardware de los clientes más duraderos, en el enlace del NY Times que he puesto antes menciona un admin de una administración pública estadounidense menciona que con los clientes ligeros solo tendrán que actualizar el hardware cada nueve años en vez de cada tres. Mayor eficiencia energética. Etc etc. Hay desventajas, claro, pero las ventajas pesan mucho.

Red Hat en particular y Linux en general está en una posición privilegiada para aprovecharse de todo esto. Vmware y Xen tienen virtualización, pero no tienen SO de servidor, ni SO cliente, se tienen que conformar con virtualizar SOs de otras compañías, asi que Red Hat puede vender a empresas contratos que cubran todo lo que necesiten, no solo un servicio de "virtualización". Además puede hacer cualquier adaptación en el código que requieran, mientras que vmware y xen lo tienen más dificil. Microsoft si que tiene SOs a mansalva, pero como hemos visto si lo promueve podría tirarse piedras a su propio tejado, y además ellos quieren que la gente siga comprando clientes pesados para chuparles la sangre a base de licencias. Linux tiene aquí una oportunidad de oro.

Aun queda mencionar algo. Qumranet, la creadora de KVM, no se conformó con crear KVM y todo el sistema que permite lo anteriormente mencionado. Creó tambien un protocolo diseñado especificamente para conectarse a estos escritorios remotos residentes en una VM virtualizada en un servidor: SPICE. Se trata de un protocolo, análogo a RDP -que tambien está soportado- pero por lo visto, mucho mejor: aparentemente tiene un rendimiento gráfico excelente (30 fps), que permite ver videos y aplicaciones flash sin problemas. Además, soporta video y audio bidirecional, puedes hacer videoconferencia desde un cliente ligero. En realidad, esto último muestra otra de las ventajas que el devenir de los tiempos ha puesto a favor de los clientes ligeros: el ancho de banda de hoy en día y el wifi, hace unos años hubiera sido imposible hacer estas cosas.

En fin, ya he hablado mucho del tema, pero es que habría mucho de que hablar: es todo un mundo que parece que va a dispararse en los próximos años -ya saben: estamos en crisis, qué prefiere, ¿comprar PCs nuevos con sus correspondientes licencias, o utilizar los que ya tiene como clientes tontos?- y en el cual Linux tiene mucho que ganar. Durante el próximo año parece que empezaremos a ver los primeros productos Linux que faciliten estas cosas, mientras tanto Vmware sigue manejando el cotarro. Este blog no perderá la oportunidad de hacerse eco, mientras tanto echen de nuevo un ojo a los planes de Red Hat, que son quienes están liderando todo este mundillo y además cuentan cosas interesantes sobre el futuro de la virtualización linuxera.

16 comentarios:

  1. sólo decir que ha sido una entrada cojonuda, la verdad es que da gusto leerte, y no soy de los que va por ahí soltando piropos.
    También añadir a la frase de que "Vmware no tiene su propio SO servidor", que no sé hasta que grado es eso cierto con su ESX y ESXi, creo que básicamente es un kernel de linux customizado en gran medida para la ejecución de su hypervisor.

    ResponderEliminar
  2. @funky: estás en lo cierto, vmware tira de un sistema linux modificado para su servidor empresarial.

    De todas formas, el tema de que se requiera un sistema operativo host es ya casi cuestión del pasado con las tarjetas que implementan virtualización en su propio hardware y tan solo enchufandolas al servidor, arrancas desde ellas y tienes la solución de virtualización corriendo sin más.

    ResponderEliminar
  3. Muy bueno el artículo. También es de mencionar el caso de Sun, que compró VirtualBox y además dispone de OpenSolaris. Además, en este aspecto, OpenSolaris dispone de Zonas, lo cuál incluso aventaja a servidores Linux.

    Un saludo,
    Vicente Ruiz.

    ResponderEliminar
  4. Una explicación bastante interesante del futuro inmediato. Sobre todo de la estrategia de Red Hat.

    ResponderEliminar
  5. Ateniéndonos al tipo de cambio que se estableció en su día, "duro" debería llamarse a las inexistentes monedas de tres céntimos. Lo siento pero no puedo estar de acuerdo contigo, ya que sería admitir una inflación del 66,386% ;)

    ResponderEliminar
  6. Anónimo1:24 p. m.

    A mi tambien me gustaria recalcar las Zones de Sun, que si bien no conozco sus ventajas, me parece que van a pisar fuerte.

    ResponderEliminar
  7. Anónimo3:39 p. m.

    tambien existen clientes para AD en Linux, concretamente en mi empersa estamos usando LikeWise, tienes que instalarlo en el cliente y en el servidor, entonces se integra en el AD y puedes controlar las máquinas Linux.

    ResponderEliminar
  8. @Anónimo: Si, he oido hablar de esos programas, son muy interesantes (pero como no dejan de ser productos "extra" y propietarios, el mundo Linux tienen tendencia natural a buscar o crear algo opensource que pueda suplirlo)

    En cuanto a las zones tipo solaris, yo no creo que vayan a pisar fuerte. La virtualización completa tipo KVM puede hacer todo lo que hacen esas zones y aun más, asi que parece más lógico que se tienda a unificar el uso de la virtualización en ese lado. De hecho, cosas así existen desde hace muchos años (las jails de freebsd que parece que existen desde el 2000, el openvz de linux), y aunque han tenido mucho uso ha sido la virtualización completa la que ha iniciado y está liderando todo el campo de la virtualización.

    ResponderEliminar
  9. Anónimo4:58 p. m.

    por cierto, cinco centimos no valen ni un duro.

    ResponderEliminar
  10. Te felicito por el artículo, coincido con vos en un 100% en que es una excelente oportunidad; esperemos que sea un "golpe de efecto" a Microsoft para que se equipare un poco el mercado y se estimule la competencia al menos.

    Breves observaciones:

    - Repites "Tambien soporta RDP, como opción cutre pero compatible" en el anteúltimo párrafo.
    - Me gustaría extender y aclarar un poco esto: "Este esquema tambien permita isolar fallos o virus. Comparen esto con los clientes ligeros tradicionales, donde los clientes acceden, en realidad, a una cuenta del SO que del servidor, donde una actualización de software puede afectar no solo al servidor sino a todos los clientes".
    En realidad, el uso de VMs como cliente no es agnóstico al malware del todo, se han descubierto vulnerabilidades en unos cuantos productos de virtualización [1][2][3], que corriendo en un guest determinado pueden llegar a modo administrador del mismo o quién sabe si hasta el host... pero en general, utilizando KVM (que es evidentemente un software mucho más simple que Xen y VMWare), los problemas de seguridad bajarían rotundamente de todas formas.

    [1] http://www.vmware.com/security/advisories/
    [2] http://it.slashdot.org/article.pl?sid=07/10/04/1520258
    [3] http://secunia.com/advisories/product/17812/?task=advisories_2008

    Saludos,
    Marcelo

    ResponderEliminar
  11. @Marcelo: Gracias, no había notado. Cierto es que se han encontrado fallos de seguridad a los sistemas de virtualización completa, como les hay en java, pero al igual que en java son pocos y se solucionan rapidamente...

    @Anónimo: No digo que valgan lo mismo, digo que habría que llamar a las monedas de cinco céntimos "duros", al margen de lo que valgan.

    ResponderEliminar
  12. Da gusto cuando algo que te parece tan evidente y claro y que pruebas y repruebas en casa (por no poderlo hacer en el trabajo) lo ves reflejado en un artículo de manera tan meridiana.

    Efectivamente te sientes reconfortado y reforzado en tu idea.

    Si añadimos que el punto de vista y los intereses son similares se puede intuir mi satisfacción con esta lectura.

    Un placer.

    ResponderEliminar
  13. Anónimo3:22 a. m.

    Diego, felicitaciones por el post.

    Salu2.

    ResponderEliminar
  14. Anónimo5:57 p. m.

    Hablan de zones de Sun, y se olvidan de Jails de FreeBSD...

    ResponderEliminar
  15. felicitaciones! una entrada perfecta, dentro de un tiempo publicaré algo parecido en mi blog xD

    ResponderEliminar
  16. Estoy investigando el tema de los clientes delgados para ser utilizados en las escuelas que han entregado netbooks a los alumnos (programa Conectar Igualdad en Argentina): la "idea" sería utilizar las netbooks como cliente delgado mientras estén en la escuela, y fuera usen el SO local (win o linux); de esta forma gestionar mejor lo que los alumnos tienen, y no tienen, ejecutándose.

    De lo que no encuentro información, es sobre si es posible un "cliente delgado" que pueda acceder a archivos locales (en la netbook) y no guarde nada en el servidor, ¿sabes de alguna implementación de esta idea o algo similar?

    ResponderEliminar