Nuevos paradigmas para aplicaciones cloud

Aplicaciones Cloud

Rubén Ruiz Sánchez

Una de las cosas que más me gustan del cloud computing es que permite a las organizaciones centrarse en aportar valor construyendo o utilizando el software, y dar por sentada una infraestructura que tradicionalmente había condicionado, en mi opinión en exceso, las aplicaciones que se desarrollaban en la empresa.

Parece que el fenómeno del cloud, sobre todo en el caso de cloud pública, ha simplificado todos los conceptos de infraestructura. A día de hoy, cualquiera que tenga una tarjeta de crédito tiene la opción de tener el mejor datacenter a su disposición y en modo pago por uso. El hecho de que se hayan simplificado determinados conceptos relativos a la infraestructura no quiere decir que podamos olvidar por completo las tareas que antes incorporábamos a nuestro gantt de proyecto relativas a las tareas más físicas, sino que estas tareas han cambiado en dos vertientes. Por un lado, antes estas tareas eran cuellos de botella en el proyecto, y en caso de retrasarse la provisión de la infraestructura en algún entorno implicaba, muy probablemente, un retraso del proyecto global; hoy con la agilidad de provisión en la nube estas tareas no deberían ser más cuellos de botella. Por otro lado, las tareas han subido un nivel de abstracción, donde antes había una preocupación por lo más físico y el rendimiento, ahora las preguntas van dirigidas a la selección del proveedor cloud adecuado, disponibilidad de APIs para acceder a los servicios necesarios, latencia en las llamadas a servicios del proveedor y de terceros, uso de tráfico de red, CPU y almacenamiento, e incluso tareas dedicadas a la automatización y optimización del uso de la plataforma que permitan una mayor rentabilidad que ya comentábamos en otro artículo.

El nuevo paradigma de desarrollo de aplicaciones en la nube parece estar más orientado a componer diferentes servicios para conformar una aplicación, más que en el desarrollo de bajo nivel de las funcionalidades. Siguiendo esta filosofía de “apilar” funcionalidades o frameworks, sin olvidar la importancia de la automatización, han surgido soluciones de mercado muy interesantes como la de ElasticBox.

ElasticBox es una compañía con sede en Mountain View (California), que está teniendo muy buena acogida en el mercado cloud. ElasticBox está orientada a las devops y permite coordinar los equipos de desarrollo y devops en nuestro proyecto, simplificando y securizando el acceso a los recursos de nuestro proveedor cloud y fomentando la reutilización de componentes, aquí llamados “boxes”. Además, se dispone de herramientas y escenarios de colaboración entre los diferentes equipos/proyectos, como compartir boxes, compartir instancias, etc. La idea es ir construyendo un catálogo con las diferentes piezas necesarias para componer nuestras aplicaciones, como pueden ser componentes de middleware, frameworks de desarrollo, servicios como servidores web, de aplicación, etc. Para una aplicación en concreto, se seleccionan los “box” a apilar, se apilan adecuadamente y se selecciona un proveedor cloud de los disponibles. Por último, se realiza el despliegue de la infraestructura cloud necesaria en el proveedor seleccionado a través de su API y se despliega la aplicación sobre la misma. Con un solo botón podemos desplegar infraestructura y aplicación o eliminarla del proveedor seleccionado en cuestión de minutos. Dado que ElasticBox soporta los proveedores cloud más comunes del mercado (AWS, Google Compute, Azure, CloudStack, OpenStack, vSphere), para desplegar nuestra solución en otra nube sólo necesitamos cambiar el proveedor cloud y realizar el despliegue. Otra gran ventaja de ElasticBox es la posibilidad de usar el servicio en modo appliance para nubes privadas o entornos locales (desarrollo, test, etc.), además de la versión SaaS accesible públicamente, y como no podía ser de otra manera, toda esta funcionalidad se encuentra expuesta mediante un API REST.

Como comentábamos al inicio, la manera en la que se desarrollan y explotan las aplicaciones de nueva generación ha cambiado por completo y herramientas como ElasticBox nos pueden ayudar a mejorar el rendimiento y controlar lo que hacen nuestros equipos de desarrollo y devops, a la vez que nos independizan del proveedor cloud.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s