Escoger una plataforma de despliegue (parte II)

enero 17, 2012 | In: Arquitectura, Cloud Computing, Despliegue, Servicios web

Si en la publicación anterior desarrollamos las ventajas y desventajas de los Servidores Privados y Virtuales como alternativas de plataforma de despliegue para trazaME, hoy vamos a centrarnos en las plataformas de Cloud Computing, descubriendo sus características particulares.

Concluíamos en la Parte I de esta publicación que los Servidores Virtuales eran una alternativa eficiente y económica, que nos abstrae de las características del hardware, pero presentaban desventajas, como que esta abstracción no era suficiente en algunas circunstancias, las dificultades del mantenimiento no desaparecían por completo y era posible alcanzar rápidamente el límite tecnológico del servidor físico.

Es en este contexto donde aparece el concepto de Cloud Computing (Computación en la Nube), que maneja las siguientes ideas clave:

  • Las aplicaciones informáticas se sitúan y gestionan en grandes Data Centers remotos que prestan servicio a múltiples clientes a través de Internet.
  • Las empresas clientes de estos servicios simplemente pagan por el uso que hacen de los mismos, y no se preocupan del hardware o el software implicado, ni se ocupan de su gestión o mantenimiento.

Si bien el concepto no es nuevo, aparece ahora debido al aumento de la popularidad de Internet, que ha generado un brutal crecimiento de la cobertura geográfica y la mejora de la calidad del servicio en general. Estos cambios favorecen la aceptación de las tecnologías basadas en sistemas remotos, y las empresas de cualquier tamaño empiezan a situar parte de su capacidad de proceso en la red.

La oferta de proveedores de Cloud Computing se vuelve cada día más fiable, madura y atractiva, debido a varias razones:

  • Las tecnologías y estándares esenciales para su funcionamiento (la virtualización, gestión de grandes servidores, web services, web 2.0, etc.) han madurado lo suficiente y la industria ha adquirido experiencia en el mantenimiento de grandes Data Centers, hasta el punto de que actualmente resultan más rentables de gestionar a medida que aumenta su tamaño.
  • Actores importantes como Google, Microsoft, Amazon, Salesforce, IBM, ATT, etc. han comenzado a ofrecer servicios de Cloud Computing y conceden gran importancia a su posicionamiento, generando competencia e innovación en el campo.
En general, el modelo de Cloud Computing presenta grandes beneficios:
  • Prestación de servicios a nivel mundial a través de Internet, permitiendo acercar físicamente los datos a los usuarios gracias a la replicación en DataCenters de distintas regiones.
  • Simplicidad (no es necesario instalar hardware o software)
  • Menor inversión inicial
  • Implementación más rápida y con menos riesgos (redundancia).
  • Mantenimiento automatizado
  • Uso eficiente de energía y recursos
  • Capacidad de crecimiento virtualmente infinita.
  • Etc.
Por otro lado, tambien conlleva ciertas desventajas:
  • Computación y almacenamiento dependiente del proveedor (genera dependencia y cautividad).
  • La disponibilidad de las aplicaciones está ligada a la conectividad a Internet.
  • Los datos “sensibles” residen en instalaciones ajenas a la empresa (por lo general incluso se desconoce la ubicación geográfica de los datos).
  • La confianza en el servicio depende de la salud tecnológica y financiera del proveedor.
  • La seguridad de la información, que debe recorrer distintos nodos para llegar a su destino, y que se procesa en máquinas que comparte con otras aplicaciones.
  • El proveedor podría limitar la libertad de los usuarios al determinar este que aplicaciones y servicios está dispuesto a ofrecer.
Cloud Computing

Cloud Computing

Categorías

Debido a la innovación realizada en este campo, la oferta de plataformas de Cloud Computing es de lo más diversa, y puede clasificarse según distintos criterios.

En función de la privacidad de la nube:

  • Nubes privadas: Una nube privada representa un conjunto de máquinas físicas que pertenecen a la empresa cliente, en lugar de al proveedor, por lo que no comparte su capacidad de proceso con otras aplicaciones. Dependiendo del proveedor del servicio, se encargará éste de su mantenimiento o no (hardware o software), y podrá situarse en las instalaciones del cliente. Este tipo de solución es notablemente más cara y debe realizarse bajo demanda, pero admite un control total sobre el entorno y los procesos ejecutados, por lo que suelen adquirirla entidades gubernamentales y empresas que vayan a alojar aplicaciones de importancia crítica.
  • Nubes públicas: Es el concepto más puro de Cloud Computing. Las máquinas empleadas para la computación de las aplicaciones están fisicamente deslocalizadas, el hardware y el software está mantenido por el proveedor del servicio y se realiza la contratación de los servicios en un modo auto-servicio cuando se desee, o incluso automaticamente en función de las necesidades de las aplicaciones alojadas (on-demand). Se paga únicamente por el uso contratado.
  • Nubes híbridas:  Es una combinación de los modelos anteriores, donde la empresa cliente es propietaria de una de las partes, conectada a una nube pública donde se alojan los servicios que no se consideran críticos. Escala fácilmente pero debido a la diversidad de entornos, la integración puede ser complicada.
Tipos de nube
En función del nivel de abstracción ofrecido:
  • SaaS (Software como Servicio): se encuentra en la capa más alta de abstracción, puesto que lo que ofrece es una aplicación completa como servicio bajo demanda y multi-tenencia. El cliente despliega la aplicación desentendiendose del hardware y el software subyacente y el proveedor asegura la escalabilidad de la misma.
  • PaaS (Plataforma como Servicio): Es una capa intermedia donde la abstracción nos sitúa en el nivel del desarrollo. Las ofertas PaaS proporcionan el sistema operativo en la nube, capaz de ejecutar aplicaciones y desplegar bases de datos. Admite todas las fases del ciclo de desarrollo pero no proporciona control sobre el sistema operativo y el hardware que lo sustenta, que es mantenido por el proveedor.
  • IaaS (Infraestructura como Servicio): Es la capa más baja de abstracción, proporciona almacenamiento básico y capacidad de cómputo de manera estándar. Sobre una plataforma de este tipo se despliegan tradicionalmente máquinas virtuales que la empresa cliente debe gestionar y mantener, pero en las que puede instalar drivers y aplicaciones libremente.
Abstracción Cloud Computing

Abstracción Cloud Computing

En cuanto al nivel de abstracción, hay que hacer notar que a medida que se aumenta el nivel, se disminuye el control sobre la plataforma. Por ejemplo, si elegimos una plataforma de tipo PaaS, podremos arrancar varias instancias de la aplicación y la plataforma proporcionará el sistema de balanceo de carga necesario para equilibrar la carga de los distintos frontales de forma automática, pero por el contrario no podremos realizar modificaciones en el SO, instalar drivers, etc.

Confusiones típicas y diferencias con otros entornos

Con frecuencia los profesionales TI, acostumbrados a trabajar con máquinas virtuales, confunden un gran servidor que aloja múltiples máquinas virtuales con un entorno Cloud. Esta confusión es comprensible debido a que las tecnologías implicadas son fundamentalmente las mismas (de hecho, sin virtualización no seria posible implementar el Cloud), y la diferencia reside en la escala y la percepción del cliente.

Así, cuando hablamos de un entorno Cloud, la escala a la que el cliente tiene acceso es virtualmente infinita. Esto es que la infraestructura subyacente está preparada para adaptarse rápidamente a las necesidades crecientes casi de forma inmediata, sea cual sea la magnitud de los cambios. El tamaño y número de máquinas, por su parte, puede aumentarse o disminuirse bajo demanda sin necesidad de la participación de un departamento técnico especializado, sino a través de un intuitivo panel de control. Finalmente, el mantenimiento se delega en un proveedor especializado y no recae sobre el usuario final del servicio.
Otra confusión que tradicionalmente precede a la profundización en el concepto de Cloud Computing es describir un entorno Cloud como un entorno centralizado tradicional, donde multiples dispositivos con capacidad de proceso limitada se conectan a un supercomputador que ejecuta las aplicaciones. Nuevamente esta confusión puede ser natural en un primer momento, mas es evidente que no se trata del mismo entorno una vez se adquiere el conocimiento. Un entorno Cloud no centraliza las aplicaciones en un único servidor, sino que los servicios aparecen deslocalizados y distribuidos en múltiples sistemas de alta redundancia, dando forma a ese elemento abstracto conocido como nube.
Por último pero no menos importante, una de las principales preocupaciones que evitan la aceptación completa de los entornos Cloud es la duda que plantea la deslocalización de los datos frente a leyes de protección de los mismos como la LOPD. Este es un escabroso tema cuya decisión dependerá en última instancia de la confianza depositada en el proveedor, y generalmente alcanzada a traves de un contrato de servicio. Por lo general, los grandes proveedores se adhieren a leyes y estándares gracias a los que podemos reconocer que cumplen con las leyes vigentes en cada pais.
Ya que la responsabilidad final recae sobre la empresa y no sobre el proveedor, es importante asegurarse de que este cumple los acuerdos necesarios, que en el caso de la LOPD Española serán el acuerdo Safe Harbor para la transmisión de datos entre Europa y Estados Unidos, las EU Model Clauses y el estándar ISO27001.

Conclusión

Una vez evaluadas las alternativas, podemos afirmar que, dado el crecimiento previsto para la plataforma trazaME y los beneficios de concentrarse en la lógica de negocio frente a las preocupaciones de mantenimiento y gestión de la plataforma de despliegue, el entorno escogido será de tipo Cloud Computing.

En futuras publicaciones estudiaremos proveedores concretos y sus diferencias.

Comments are closed.

Latest comments

  • None found