Saturday, June 16, 2012

La Nube de Mentira y la Nube de Verdad


Este artículo es una queja personal sobre todas las propuestas de "cloud" en el mercado. Y creo que un poco de historia es conveniente.

Durante los fines de los 90s, un grupo de compañías lideradas por Oracle (incluidas Netscape, Sun, IBM e includo un Apple de la era pre-Jobs) propusieron el Network Computing Architecture (Arquitectura de Cómputo en Red), o NCA. Algunos de nosotros nos enamoramos de la idea inmediatamente. En ese entonces, nadie hablaba de "la nube".

La idea detrás del NCA era tener grandes servidores de aplicaciones atendiendo las necesidades de los clientes, moviendo el poder de cómputo hacia la red y utilizando Thin Clientes ("clientes ligeros") sin unidades de almacenamiento. Incluso algunos modelos incluían una tarjeta de identificación como credencial de uso.

El modelo era atractivo, más barato que el modelo cliente/servidor vigente, fácil de mantener, actualizar, resguardar y soportar. La computadora (llamada una "NetWork Computer") iba a ser un electrodoméstico, casi desechable.

El NCA fue ridiculizado por un gran sector de la prensa tecnológica de la época. Decían que "nadie quería regresar al terminal tonto de nuevo" (lo cual no era del todo cierto, ya que las Network Computers tenía un nivel interesante de potencia), y muchos fueron tal lejos de decir que la web estaba bien para un carrito de compras, pero que jamás se iba a poder colocar un proceso completo de negocios.

En aquella época, durante el amanecer del Internet público (o la era de la web, o el boom del .com, o como quieran llamarlo), los términos disponibles para los servicios existentes eran:


  • Hosting: Una compañía rentaba espacio dentro de sus servidores para colocar código en HTML (una página de web), archivos (vía FTP) y correo electrónico. Más tarde, los servicios se expandieron a acceso a bases de datos, código de programación y algunos servicios adicionales.
  • Proveedores de Servicios de Aplicaciones (ASP):  Eran empresas que desarrollaban aplicaciones basadas en web (en muchos casos no eran estrictamente "basadas en web", sino en plug-ins o applets) y que los clientes podían pagar y utilizar.
  • Housing: Podía configurar mi propio servidor y colocarlo en el data center de un proveedor. La empresas de housing proveían de todos los servicios de redes para que mi servidor estuviera diponible en Internet. Algunas personal le llamaba "caging" ("enjaulado") por las jaulas donde se colocaban los servidores.


Todos esos servicios aún existen, con algunas modificaciones menores. Pero se les ha cambiado el nombre a "cloud computing".

Para mí, la "nube de mentira" es simplemente un servicio antiguo con nueva envoltura. Y para mí, la "nube de mentira" no merece ser llama "un nuevo paradigma" ni "un modelo innovador". Simplemente no es justo.

Veamos algunos modelos. Especemos con el Elastic Cloud de Amazon. Es un excelente servicio. Ayuda a muchas empresas pequeñas. Pero, aún así, no es nada más que housing. La única diferencia es que el servidor es virtual en lugar de ser físico. Pero el núcleo del servicio es el mismo: Colocar mi servidor en el datacenter de otro. Una vez colocado, el nivel de conocimiento para echar las cosas a andar el el mismo que requiero para echar a andar un servidor en mi escritorio.

Google Apps es otro ejemplo. Me gusta Google Apps. A pesar de sus limitaciones, es un excelente servicio para quienes no desean gastar en software de productividad tradicional y desean poder compartir documentos. Pero, una vez más, eso es ASP para mí. Nada más que aplicaciones ofrecidas vía la web. No es un modelo nuevo ni innovador. Es una excelente implementación de un modelo ya existente. Para mí, tampoco merece la medalla de "cloud".

Microsoft Azure permite a programadores crear sus aplicaciones en Visual Studio y SQL Server y colocarla en los servidores de Microsoft. Si eres un desarrollador en Microsoft, pienso que es una forma excelente de implementar aplicaciones. Aún así, sigue siendo "hosting" para mí. Me da una base de datos, espacio en web y almacenamiento de código. Por qué no se llama simplemente "hosting"?

Y en ese sentido, las propuestas de Oracle, IBM, HP y la mayoría de líderes del mercado no es muy diferente.

Quiero insistir: Dichos servicios NO SON servicios sin valor. Creo que es excelente que dichos servicios existan y se desarrollen. Creo que es excelente tenerlos disponibles. Pero, para mí, si "la nube" supone definir un nuevo paradigma, no podemos simplemente "recalentar un plato frío".

Qué esperaría yo de algo llamado la "Nube Real"? Primero, trataría de heredar lo más posible del NCA. La estación de trabajo debe ser lo más magra posible. En cierto sentido, el sistema operativo debería ser irrelevante. Las aplicaciones de la Nube Real deberían ser 100% agnósticas (tecnológicamente hablando).

Una plataforma de Nube Real debería incluir herramientas de desarrollo. Y dichas herramientas TAMBIEN deberían estar en la nube! No deberíamos dejar nada en el cliente. Así como prometemos el poder de usar aplicaciones en la nube, sin ningún tipo de software cliente instalado, deberíamos ser capaces de prometer la capacidad de CONSTRUIR aplicaciones en la nube. Aplicaciones reales, que podemos hacer disponibles en PCs, laptops, tablets y teléfonos sin esfuerzo y de un solo paso.

La Nube Real debería poder conversar con sistemas tradicionales. El mundo no es binario, no es "nube o nada". Las aplicaciones en la nube deberían ser capaces de comunicarse con mis sistemas actuales de forma comprensiva y completa.

Para lograr la Nube Real, debemos cambiar la forma cómo entendemos bases de datos y la forma cómo entendemos el desarrollo. Debemos matar los antiguos paradigmas, no porque estén errados, no porque son antiguos, sino porque ellos no nos podrán llevar al sueño de la Nube Real.

La Nube Real tiene el potencial de cambiar la computación tal como la conocemos. Y para mí, cambiar la computación como la conocemos tiene un nombre: Revolución.

Saturday, May 19, 2012

El Futuro de Microsoft

No es un secreto que Microsoft está en declive. Steve Ballmer es reconocido como el peor CEO de la industria. Han perdido tracción. Pasaron de ser la compañía de tecnología #1 a valer la mitad de una antes morbunda Apple. Y no ha significado ganancias a sus accionistas en los últimos 10 años.

Microsoft está condenado. Al menos, eso es lo que muchos analistas dicen. Sin embargo, yo creo que hay una salida para Microsoft.

La gente que me conoce sabe que no le tengo simpatía a los productos de Microsoft. Tampoco le tengo simpatía a muchas de sus prácticas de negocios. Pero no soy un pensador destructivo. Me gusta pensar positivamente, y en ese sentido, prefiero ver a un nuevo Microsoft vivo a un viejo Microsoft muerto.

Qué se necesita para resucitar Microsoft?

1. Aprender de Apple.

Si recordamos los principios de los 80s, Apple era el principal protagonista en el mundo de la computación personal. Microsoft tenía un rol importante, pero su negocio era construir software para otras plataformas. Apple tenía una visión, de la que se desvió a la salida de Steve Jobs. No quiero discutir las circunstancias de su salida ni culpar a nadie de lo que pasó. La historia es suficientemente compleja como para encender pasiones. Pero lo que puedo resaltar es que cuando Steve Jobs regresó, trajo consigo las cosas que hicieron de Apple grandiosa. Volvió a sus orígenes, a la misión de Apple: Productos para las masas, increíblemente buenos, hacerle una abolladura al universo. Y traerle de vuelta su alma a Apple hizo que suceda una de las recuperaciones de empresa más impresionantes de la historia.

Creo que Microsoft está pasando por lo mismo. Su visión ha sido distorsionada. Recuerdan "una computadora en cada mesa, y software de Microsoft en ella"? Bueno, las compuatdoreas no sólo están en los escritorios. Están tambien en nuestros bolsillos, maletines y bajo nuestros brazos, moviéndose con nosotros. Empezaría cambiando la visión, acorde a nuestro tiempos y diciendo: "Un dispositivo en cada mano, y software de Microsoft en ellos".

2. Aceptar que los días de Windows han terminado.

Microsoft empezó construyendo software para otras plataforma. De hecho, hizo su fortuna de esa forma. Incluso hoy, hacen producto para la plataforma Wintel, construida por otros fabricantes. En los 90s, Steve Jobs dijo "La batalla del escritorio ha terminado. Windows ganó". En efecto, Windows está en la mayoría de escritorios. Pero apenar tienen presencia en otros escenarios. En los servidores, Linux es cada día más popular. En los dispositivos móviles, iOS y Android han capturado a la mayoría del mercado. Pero, esas son OTRAS plataformas también! Sin embargo, Microsoft es demasiado terco como para fabricar software para ellas, amarrando sus productos a Windows, Windows Server, Windows Mobile, y Windows loquesea. Ese no el el Microsoft que fundó Bill Gates. Microsoft ha pasado de ser un desarrollador de software a un integrador de plataformas cerradas. Y eso es lo que los está matando.

Es demasiado descabellado pensar en Microsoft Office para iOS o Android? O SQL Server y Visual Studio para Linux? Y no versiones castradas. Me refiero a competir pico a pico con el software de Apple para iOS. Microsoft tiene el talento y el dinero para hacer esto. Estoy seguro de que estos productos se venderían como pan caliente. Construir conectores con sus servicios empresariales: SQL Server, Exchange, etc. Hacer que otras plataformas coexistan con sus productos. Es interesante que Apple y Google podrían salvar a Microsoft.

Parafraseando a Steve Jobs: "La guerra móvil ha terminado. Microsoft perdió". Es tiempo de aceptarlo y seguir adelante.

3. Traigan a Bill Gates a la silla del CEO.

Iba a decir simplemente "desháganse de Steve Ballmer", y consigan un nuevo CEO. Pero Bill Gates trae consigo algo que Microsoft necesita desesperadamente: La visión del fundador. No quiero comparar a Bill Gates con Steve Jobs. Pero los paralelismos son muchos. El hecho es que ambos fueron leyendas vivientes. Desafortunadamente, perdimos a Steve Jobs. Pero Bill Gates sigue siendo una leyenda viviente. Y en este momento, eso es lo que necesita Microsoft para recuperarse.

4. Enfoque. Enfoque. Enfoque.

Paren las fotocopiadoras. Eliminen productos que hacen que la compañía pierda dinero. Recuerden el Zune: una copia mediocre del iPod. Un verdadero desastre. No conozco el estado actual del XBox, pero la última vez que lo vi, aún estaban perdiendo dinero. No crean que pueden competir con versiones mediocres de otros productos. Esos días se acabaron. Recluten innovadores. Reten a su propio modelo de negocios. Juegen a futuro. No se duerman en sus laureles. No esperen a que el futuro llegue: Construyan el futuro.

En una palabra, todo lo que Microsof no ha hecho en los últimos 10 años o más.

5. Ser Humilde.

Hecho: Hay mejores productos que los de Microsoft. Hecho: Microsoft no es el mejor, incluso en su propio negocio. Hecho: No han habido innovaciones provenientes de Microsoft en más de 10 años. Hecho: Todo el mundo tecnológico lo sabe.

Y hecho: Cada vez que Steve Ballmer habla de "innovación", y se burla de otros fabricantes (la burla al iPhone en la fecha de su lanzamiento lo hizo ver como un perfecto imbécil, considerando los resultados de venta del iPhone), hace un reflejo de en lo que Microsoft se está convirtiendo: Una broma. Aquí hay otro hecho: Steve Ballmer no ve el futuro. Da la impresión de ser un dinosaurio mental. No digo que lo sea. No lo conozco en persona. Pero eso es lo que proyecta.

Es tiempo de ser honesto, y eso empieza con que Microsoft sea honesto consigo mismo. Y luego que sea honesto con el público. Es tiempo de un "mea culpa". Y es tiempo de redimirse. Y con "redimirse" me refiero a productos extraordinarios, tan extraordinarios que todo el mundo quiera usarlos.

Solo eso podrá salvar a Microsoft. De otra forma, en efecto, están condenados.