Llegamos a ustedes gracias a:



Columnas de opinión

El caso contra el Cloud Computing: Primera parte

Por: Bernard Golden, CEO de la consultora HyperStratus

[20/03/2009) En las últimas semanas, he sostenido una serie de interesantes conversaciones con personas relacionadas a la computación en la nube que, paradójicamente, consideran que, al menos por el momento, la computación en la nube es inapropiada para las empresas.

Digo, paradójicamente, porque cada una de ellas trabaja para o representa los esfuerzos de cloud computing de alguna gran empresa de tecnología, y uno pensaría que, por eso mismo, tienen una especial motivación para defender fervorosamente su adopción. ¿A qué se debe entonces esta falta de entusiasmo? Según dos de mis interlocutores, la funcionalidad del cloud computing no está realmente lista para desempeñar un papel protagónico en las empresas. En opinión de otros, la computación en la nube es un término demasiado ambiguo como para que las empresas entiendan realmente qué significa. Para otro grupo, el cloud computing no ofrece -y quizá nunca lo haga- los factores funcionales que la empresa de TI requiere. Pese a la dureza de estas afirmaciones, yo no llego a convencerme de que realmente se trate de problemas inmutables que no pueden abordarse oportunamente.
Por ese motivo, pensé que sería útil resumir estas discusiones para identificar y comentar cada presunto inconveniente. He recopilado las objeciones y las he reunido en este dossier. En cada tema, también he agregado mi propio punto de vista, aportando una interpretación diferente de los temas tratados que, quizá, arroje una luz menos dramática en torno a ellos, y permita definir cómo enfrentar los potenciales problemas.
A partir de mis entrevistas puedo mencionar cinco cuestionamientos principales para la adopción del cloud computing en una empresa (por razones de extensión, los comentaré por separado en cada entrega), y estos son:
- No es posible migrar correctamente las aplicaciones empresariales
- Riesgos: legales, de negocios y de regulaciones
- Dificultad de administrar las aplicaciones en la nube 
- Carencia de SLA
- Pocas facilidades de costo para el cloud computing
 
No es posible migrar correctamente las aplicaciones empresariales
Cada uno de los principales proveedores de la nube (Amazon Web Services, salesforce force, Google App Engine y Microsoft Azure) impone una arquitectura distinta a la arquitectura de las aplicaciones empresariales.
Si bien Amazon Web Services ofrece la mayor flexibilidad en este sentido, gracias a una imagen vacía en la que se puede poner lo que sea, su idiosincrático framework de almacenamiento complica la tarea de mover las aplicaciones, de manera que la migración no resulta sencilla. 
Salesforce.com es una plataforma de desarrollo ligada a una arquitectura propietaria profundamente integrada con salesforce.com y completamente distinta a lo que se suele encontrar en una aplicación empresarial. Google App es un grupo de servicios para aplicaciones basado en python que, justamente, puede funcionar si uno trabaja con aplicaciones escritas en python y adaptadas a los servicios de Google, pero las aplicaciones empresariales, incluso aquellas que han sido escritas en python, definitivamente no tienen una arquitectura adecuada para este framework. Azure es una arquitectura basada en .NET que ofrece servicios basados en el framework de desarrollo de Microsoft pero, puesto que no provee almacenamiento regular SQL RDBMS, requiere una arquitectura de aplicación distinta, lo cual plantea no pocas dificultades para migrar a ese entorno las aplicaciones empresariales ya existentes.
Una de las personas con las que conversé sostiene que el principal atractivo del cloud computing para las empresas, es la posibilidad de migrar las aplicaciones desde los data centers internos hacia la nube y, por lo tanto, una vez que se pone de manifiesto la complejidad de este proceso, el entusiasmo disminuye. 
Yo diría que sin duda se trata de un gran desafío para las empresas, dado que si fuera fácil pasar las aplicaciones a entornos de la nube definitivamente todo resultaría más llevadero. Además, tampoco es sencillo comprender la motivación que guía a algunos proveedores de la nube al elaborar las estrategias para ganar terreno en este mercado. El compromiso de Google con Phyton no deja de ser un tanto extraño, teniendo en cuenta que Python no es el lenguaje de scripting más popular del momento. A veces da la impresión de que Google se aferra a una opción que considera técnicamente superior, pese a las evidencias que demuestran que retarda la adopción. En cuanto a Salesforce, ciertamente puedo comprender que alguien particularmente comprometido con la oferta principal de la compañía decida implementar la arquitectura force para crear add-ons, pero es muy poco probable que se pueda migrar una aplicación existente hacia force.com con un nivel razonable de esfuerzo: sin duda, cualquier compañía interesada en escribir una aplicación nueva para esta plataforma, deberá enfrentar interrogantes sobre temas como el lock-in propietario. Es sorprendente que Microsoft no les facilite a sus usuarios la posibilidad de desplegar la misma aplicación, ya sea localmente o en Azure. Si bien la arquitectura Azure acepta una serie de sofisticadas aplicaciones, muchos usuarios de Microsoft se desanimarán de explorarla debido a su escasa habilidad para migrar fácilmente. 
De otro lado, una arquitectura diferente a la que conocemos como arquitectura de aplicación empresarial (considerando que las actuales arquitecturas empresariales no están amarradas a una sola alternativa, de manera que no resulta difícil elegir entre una arquitectura empresarial universalmente adoptada y un conjunto de arquitecturas diferentes) no necesariamente implica una propuesta deficiente, ni una migración tortuosa de aplicaciones. Sería más apropiado decir que la migración de una aplicación existente siempre representa un cierto grado de fricción, el mismo que varía dependiendo de la alternativa de la nube a la que uno desee migrar.
Definitivamente, considerando las posibilidades técnicas disponibles, no parece tan descabellada la posibilidad de desarrollar una herramienta de migración P2C (física a nube, por sus siglas en inglés) que pueda asumir una parte o todo el esfuerzo necesario para la migración. Por supuesto, esta herramienta tendría que ser capaz de traducir contenidos a varias arquitecturas de nube diferentes. 
Incluso, si no se llegara a contar con una herramienta automatizada, los proveedores de servicios cuentan con el potencial de elevar sus estándares para ejecutar servicios de migración de manera eficiente y poco costosa.
Naturalmente, la ejecución de esta migración no sería gratuita: habría que comprar el software o pagar por los servicios mencionados. El punto es que no se trata de un problema insalvable.
En general, el principal desafío de la nube y su necesidad de una arquitectura diferente radica en el talento de los empleados. No es nada fácil encontrar personal apto para responder a los requerimientos de arquitectura, implementación y operación que plantea el cloud computing: el capital humano es, sin lugar a dudas, lo más difícil de actualizar. Como fuera, la computación de nube representa una nueva plataforma de computación, y las organizaciones de TI ya han pasado anteriormente por numerosas transiciones de plataforma. En estos tiempos en que los desarrolladores de Windows prácticamente crecen en los árboles, es fácil olvidar que hubo una época en que encontrar un experto en Windows NT era como buscar una aguja en un pajar.
En resumen, la falta de una ruta despejada para la migración de las aplicaciones existentes ciertamente va a entorpecer la adopción del cloud computing, pero no representa una barrera permanente. 
Bernard Golden es CEO de la consultora HyperStratus, que se especializa en virtualización, cloud computing y temas afines. También es autor del libro "Virtualization for Dummies," best seller sobre ese tema.
CIO.com