lunes, 23 de mayo de 2011

Arquitectura Cloud básica

Es irónico pero, despúes de empezar a hablar de las bondades del Cloud y definir los elementos de su arquitectura básica, a blooger le dio por fastidiarse. También se fastidió mi último post y algunos de mis borradores.

Eso me pasa por no tomar la medidas que hay que tomar en cualquier entorno:
  • Copias de seguridad
  • Plan de contingencia
Y es que en el Cloud no existe la magia y hay que tener en cuenta que las ventajas exponenciales que se pueden experimentar y pueden ofrecer a usuarios y desarrolladores crecen de igual forma en la complejidad de su gestión y mantenimiento.

Así que para enmendar mi torpeza haré un breve resumen de lo que presentaba en la última entrada.

Arquitectura Cloud básica

Los elementos fundamentales de la arquitectura cloud no difieren mucho de aquellos que tradicionalmente conocemos. Antes de desplegar ningún tipo de servicio o desarrollo, es preciso disponer de una plataforma que nos ofrezca los recursos necesarios para el ciclo de vida completo de nuestra aplicación: Un contenedor de ejecución, una fuente de acceso a datos, ... Y esta plataforma, a su vez, ha de descansar en alguna infraestructura que le ofrezca los recursos de cómputo, memoria, red...

Un ejemplo concreto tradicional
Servicio: Una página web
Plataforma: Un servidor web, Una base de datos
Infraestructura: Un PC o servidor

Evidentemente la evolución de la tecnología y de la mano de la virtualización ha provocado la revolución de las arquitecturas tradicionales. Escalabilidad, Disponibilidad, Redundancia, Balanceo de Carga, ... vuelven a ser conceptos conocidos que están subiendo de escalafón constantemente.


SaaS

Se trata de la capa más externa, destinada al usuario final, principalmente. Es el Software como Service (Software as a Service). En esta capa se dan servicios de lo más vario pinto. Desde servicios de correo electrónico, álbumes de fotos, gestión de contactos, gestión de proyectos... hasta servicios que nos ofrecen almacenamiento. En este plano nos encontramos con gmail, flickr, salesforce, teambox y dropbox, por poner algunos ejemplos.

PaaS

Se trata de la capa intermedia y que cada vez está adquiriendo más importancia. Fundamentalmente desde el punto de vista de los desarrolladores. Es la Plataforma como Service (Platform as a Service). En esta capa encontramos los recursos necesarios para poder desplegar nuestras aplicaciones (nuestros servicios). Algunas referencias tenemos en Google App Engine, Azure, Heroku, ...

El pasado mes de Abril entró en juego una solución promovida por VMWare de la que hablé en CloudFoundry: Nueva PaaS (Platform as a Service)

Ya hablaba del vértigo que estaba despertando la plataforma y las numerosas aportaciones para soportar PHP y Erlang. Otra muestra es un fork reciente para dar soporte a aplicaciones Python y Perl, llamado Stackato. Esto es una muestra más del incentivo que supone disponer de soluciones abiertas y la garantía de calidad y competitividad en el mercado.

IaaS

Se trata de la capa que gestiona la infraestructura como un servicio (Infrastructure as a Service). Es aquí donde se realiza la provisión de los recursos de bajo nivel, número de procesadores, cantidad de memoria, almacenamiento, ancho de banda... incluso el sistema operativo que será el último estrato de recubrimiento del servicio. Servicios de infraestructura encontramos en Amazon, RackSpace, GoGrid, ...

De la mano de RackSpace disponemos de una solución libre, OpenStack. Una solución que está adquiriendo un protagonismo importante. Muestra de ello es la elección de Ubuntu como plataforma Cloud para su paquetería de la nube en lugar de Eucalyptus, como venía haciendo en versiones anteriores.

Como se puede apreciar, cada vez son más las soluciones y opciones en este nuevo reto. Medios de difusión, estrategias de mercado y apuestas innovadoras por parte de organizaciones grandes y pequeñas están despejando un camino que deja de estar tan en el aire como cabría pensar.

Esta vorágine aumenta el desafío constante de los usuarios, responsable e ingenieros de TI que vuelven a ver cómo se pone patas arriba los procedimientos y protocolos tradicionales de desarrollo, despliegue y aprovisionamiento. Uno experimenta la sensación de que... después de todo lo aprendido, volvemos a estar como al principio... aprendiendo.

Por esta razón trataré de hacercarme a las distintas capas con alguna prueba de concepto para conocer algo más de este nuevo mundo (si no pierdo más posts :D )

Siguiente parada... OpenStack.

No hay comentarios:

Publicar un comentario