cloud computing, Opinión, Paas, plataform as a service, Plataforma como service

Como acertar en la elección de una paas

nube-paasCon la ruptura de servicio de Coghead ha habido multitud de reacciones en la blogosfera tanto de habla hispana como inglesa. El caso es que es una verdadera jugarreta que pongas  todas tus cartas en una plataforma como servicio y ahora te quedes con el único consuelo de gastarte la pasta para poder migrar a otra paas o ver si alguna de la plataformas que se ofrecen a echar una mano, cuadren con tus requerimientos en cuanto a pasta,  funcionalidad, seguridad, etc…

Si nos fijamos en el desarrollo tradicional, es decir, desarrollo de aplicaciones con lenguajes de programación propietarios o propietarios pero abiertos como Java y ejecutores de aplicación instalados o utilizados en tu infraestructura, este problema no lo hubieras tenido. Tienes el código en tu mano, tienes el compilador del código y si el compilador no genera código máquina que directamente ejecute la máquina (por ejemplo, un .exe) tienes el ejecutor de aplicaciones. En el peor de los casos, puede ocurrir que por ejemplo en el caso de Java,  Sun deje de actualizar su compilador y ejecutor (java runtime enviroment) y no incorpore nuevos mejoras o standares que aparezcan en el mercado o simplemente no arregle bugs, pero siempre podrás ejecutar tus aplicaciones y modificarlas.

¿Qué ocurre en el caso de las paas con lenguaje de programación propietario, sin acceso a su herramienta de compilación y/o ejecutor de aplicaciones? El caso de CogHead es claro, el proveedor tiene el código de tus aplicaciones y los datos , y solo tienes la opción de descargarte los datos.

Entonces, ¿Que paas debo elegir? Yo veo tres opciones:  

  • La opción de Zoho  Creator. Zoho ofrece la posibilidad de migrar las aplicaciones que se desarrollan en su plataforma a la plataforma Google App Engine y en el caso de que ocurra lo que a CogHead, siempre puedes llevarte el código a Google App Engine e incluso como el lenguaje utilizado por App Engine es Python (lenguaje bajo la licencia de codigo abierto) sería posible descargártelo a local y ejecutarlo en tu infraestructura si lo que deseas es huir de la paas (platform as a service). El único «pero» de esta solución es que cuando Zoho ofreció  esta solución, había limitaciones sobre ciertos componentes y siempre te quedará la duda del grado de compatibilidad entre el lenguaje Zoho y Python.
  • Paas que ejecute código abierto como Java, Python, Ruby.- De hecho son muchas las paas que utilizan este tipos de lenguajes, puedes consultarlo en el  directorio cloud computing. Son todo ventajas porque puedes optar por ejecutarlo en la paas o en tu infraestructura y la compatibilidad será casí absoluta. Quizás su desventaja ante plataformas como Zoho sea la dificultad para desarrollar aplicaciones y por tanto el alto grado de conocimientos del desarrollador. 
  • Paas que ejecute código propietario con opción de ejecución en tu infraestructura.- Hay algunas paas como BungeeConnect y Velneo que ofrecen la posibilidad de utilizar su paas o tienes la posibilidad de utilizar el ejecutor de aplicaciones en tu infraestructura.  

Otra tema que debe influir en la elección de la paas es la BBDD. Para mi una paas es  completa cuando incorpora en su infraestructura una BBDD y aunque siempre tienes la posibilidad de descargar los datos y por tanto no caeriamos en el problema de perder la aplicación, es importante saber de que tipo y qué  caracteristicas tendrá la BBDD que soportorá tus datos. Básicamente hay dos tipos de BBDD que las paas están ofertando, las orientadas a contenidos y las orientadas a transacciones de negocio.  Por ejemplo, Coogle App Engine utiliza como BBDD BigTable de Google y que está orientada al almacenamiento de contenidos y Apprenda Saasgrid utiliza como Sql Server que como todo el mundo sabe es la BBDD de Microsoft y es de tipo relacional. 

Por último y para cerrar este tema sobre la elección de la paas y considerando cualquiera de las opciones arriba descritas, ahora debes ver qué conjunto de servicios te enganchan más: su precio, el  SLA, la rapidez de desarrollo, su  lenguaje de 3ª o 4ª generación , facilidad de escalado de las aplicaciones, etc.

Entradas relacionadas: