(CEDITEC) Centro de Difusión de Tecnologías ETSIT - UPM
Payday loans

(CEDITEC) Centro de Difusión de Tecnologías ETSIT - UPM

Jueves, 22 Agosto 2019
Cloud Computing PDF Imprimir E-mail

 INTRODUCCIÓN

 A partir de la llegada de la denominada Web 2.0 (término acuñado por Tim O´Reilly en Octubre de 2004), el usuario final (prosumer) ha experimentado una tendencia por parte de los proveedores a basar plataformas y aplicaciones en servicios alojados de forma externa en la propia web. En este tipo de “organización computacional”, todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los servicios disponibles "en la nube de Internet", sin conocimientos  en la gestión de los recursos que usan.
 
Si buscamos una definición técnica para el término Cloud Computing, según la IEEE Computer Society, se trataría de un paradigma en el que la información se almacena de manera permanente en servidores en Internet y se envía a cachés temporales de A
cliente, lo que incluye equipos de sobremesa, centros de ocio, dispositivos móviles, portátiles, etc.


En realidad, el concepto de Cloud Computing se ha impuesto como un agregado de tendencias tecnológicas que pretenden ofrecer recursos virtualizados y dinámicamente escalables, como servicios accesibles al usuario mediante  Internet. La denominación “cloud” hace referencia al modelo metafórico de “la nube”, comúnmente usado para representar el concepto abstracto de Internet.


El punto de arranque de este nuevo modelo se basa fundamentalmente en dos documentos redactados por la comunidad virtual, que pretenden recoger una serie de características y recomendaciones comunes al conjunto de servicios ofrecidos bajo la denominación de Cloud Computing:


- The Cloud Computing Bill of Rights (CCBoR), pretende ser una recopilación de fundamentos consensuados por toda la comunidad de Internet, con el ánimo de definir un marco de trabajo diseñado para proteger los intereses del usuario de Cloud Computing.


- The Cloud Computing Manifesto, documento publicado el 30 de Marzo de 2009 que pretende definir una  "declaración pública de principios e intereses” para los proveedores de servicios de Cloud Computing, bajo la presunción de que dichos servicios “deberían ser abiertos para todos”. La redacción de éste documento nació como respuesta a la propuesta de Microsoft de crear un foro de debate basado en un proceso de consenso y abierto a toda la comunidad virtual. Sin embargo, supuestos intereses particulares y conflictos terminaron dividiendo a la comunidad de desarrolladores y proveedores, de manera que el manifiesto fue finalmente firmado por empresas como: IBM, Cisco, HP, o Sun Microsystemsy rechazado por otras como: Amazon, Google , Microsofto Salesforce.com.


Así, podemos clarificar que Cloud Computing no responde a un nuevo desarrollo tecnológico, si no a un nuevo modelo, una nueva visión, de ofrecer soluciones a empresas y usuarios que incorpora tres tendencias específicas en el mundo de la computación: la infraestructura como servicio (IaaS), la plataforma como servicio (PaaS) y el software como servicio (SaaS).
 

LA INFRAESTRUCTURA COMO SERVICIO (IaaS)

Cuando nos referimos a la Infraestructura como Servicio (IaaS), la idea fundamental que se persigue, es la de externalizar de alguna manera los recursos físicos computacionales. En concreto, se pretende eliminar los servidores (espacio en disco, bases de datos, tiempos de respuesta …) en favor de una solución virtualizada que se paga por consumo de recursos.


Este nuevo modelo computacional propone una ventaja inmediata al usuario, el hecho de poder despreocuparse de todos los aspectos de mantenimiento y gestión de las máquinas; así como de un importante ahorro en costes derivado del máximo aprovechamiento de los recursos,  al pagar sólo por lo consumido y aprovechar la escalabilidad automática de los proveedores, de forma que se puedan contratar más recursos en función de la necesidad de los mismos. Es lo que ha venido a llamarse “el fin del data center en la empresa”.
 


La empresa pionera en este nuevo modelo de transferencia y gestión de datos es Amazon, que con sus Amazon Web Services(AWS) ofrece al usuario/empresa la posibilidad de externalizar algunos de los aspectos más característicos del hosting web. A través de su servicio S3, el proveedor dota al usuario de un sistema de almacenamiento accesible a través de “la nube” y tasado en función de la información almacenada y descargada; y mediante su servicio EC2, Amazon ofrece “capacidad de procesamiento” según el tiempo de ejecución consumido.


Realmente, Amazon pretende convertirse en una Red de Distribución de Contenidos (Content Delivery Network), donde el usuario hace una petición de contenido, el cuál se haya replicado en diferentes servidores de la red del distribuidor; éste localiza el servidor más cercano al usuario y procede a servir el contenido solicitado de manera transparente para él. El concepto tiende a asemejarse a un sistema de “hosting distribuido” que soporta sistemas Linux Red Hat, diferentes productos de Oracle, Windows Server, SQL Server y muchos otros. 
 
 Comparación de ancho de banda consumido entre  la red global de Amazon y  su IaaSS Amazon Web Services (AWS). Fuente Amazon.com


Recientemente, otro de los grandes gigantes de la Red, Sun Microsystems, ha anunciado su entrada en el mundo del Cloud Computing , a través de los productos Sun Cloud Storage Servicey Sun Cloud Compute Service, se trata de una nueva oferta de "infraestructura como servicio", permitiendo al usuario hacer uso del almacenamiento y la capacidad de procesamiento de Sun, pudiendo ejecutar sobre su plataforma cualquier sistema operativo que queramos. 


En definitiva, podemos observar, como éstas soluciones presentan algunos de los fundamentos clave que definen el aspecto IaaS del Cloud Computing:


- Ahorro de Costes

 

- Escalabilidad Automática  (Respuesta a picos de demanda)


- Externalización

 

- Disponibilidad y velocidad de respuesta

 

LA PLATAFORMA COMO SERVICIO (PaaS)

Un paso más allá, la Plataforma como Servicio (PaaS) pretende desarrollar una solución de usuario final completa a nivel de desarrollador. El modelo persigue dotarle de las herramientas adecuadas para hacer posible la construcción de aplicaciones sobre un tercero. No sólo se resuelve el problema de infraestructura hardware (IaaS) sino que también se proporcionan diversas capas de infraestructura software, de manera que el cliente prescinde de instalar, configurar, mantener y gestionar elementos como: sistemas operativos, bases de datos, servidores de aplicaciones... puesto que todos ellos serán presentes por defecto en la plataforma de servicio, y será el proveedor el encargado de mantenerlos.

En cierta manera, se trata de abstraer los elementos hardware con que trabajará el desarrollador, contratando una plataforma software que se adecue a sus intereses. Visto así, una plataforma como servicio realmente es una solución de “desarrollo como servicio” y de ejecución de aplicaciones en “la nube”; incluyendo todas las facilidades para el desarrollador como: prototipar, analizar, desarrollar, testear, documentar y, en definitiva, poner en marcha todo tipo de aplicaciones a través de un único proceso, dando servicio de integración de bases de datos, seguridad, escalabilidad, almacenamiento, backup… y todo ello a través de Internet.
 
 


Nuevamente, la implementación de estos modelos de PaaS, suponen unas ventajas evidentes para el usuario:


- Escalabilidad garantizada


- Inversión progresiva (pago por consumo de recursos)


- Sencillez de desarrollo


- Integración con el resto de la plataforma


- Administración remota


- Despliegue transparente


- Disponibilidad total

 

Pero, sin embargo, la implementación de software sobre un modelo tan rígido también supone acarrear una serie de problemas que básicamente se resumen:

- Limitación de herramientas al sistema, lenguaje de programación, librerías y modelo de base de datos utilizados
 
- Dependencia plena del proveedor PaaS escogido. Es necesario escoger cuidadosamente el proveedor con que trabajaremos

 

Actualmente los actores PaaS más destacados son fundamentalmente: Google App Engine, Microsoft Windows Azurey Force.com.


- Google App Engine: la empresa californiana ha irrumpido en el mercado de los PaaS, presentando un servicio competo de hosting, procesamiento y base de datos orientada a desarrolladores. Con soporte para los lenguajes de programación Pythony Javay bases de datos BigTable. Fiel a su filosofía, ofrece cuentas gratuitas en su modelo básico (hasta 500 MB de almacenamiento, 200 millones de megaciclos de CPU y 10 GB de transferencia diaria), escalabilidad automática e integración con el resto de APIs y productos de la empresa.

 

- Microsoft Windows Azure: en este caso es la empresa de Redmond, la que ofrece su plataforma para el desarrollo de software. Inicialmente, Azure se ha construido como un agregador de las tecnologías .NET de Microsoft (Live Services, .NET Services, SQL Services, SharePoint Services y Dynamics CRM Services), con el compromiso de que la plataforma soportará multitud de diferentes lenguajes de programación, incluirá automatización de la escalabilidad y soporte para servicios REST.
 
 
 - Force.com: de la mano de Salesfroce.com, recientemente la empresa ha decidido incorporar su producto estrellaal entorno del Cloud Computing. Lo que hasta ahora era un CRMpara la construcción de aplicaciones bussiness internas, ha evolucionado hasta convertirse en una plataforma de desarrollo y hosting de “sites” y servicios web dirigidos a usuario externos. Además, el anuncio de que la plataforma será plenamente compatible e integrable en Facebook, y que por tanto los desarrolladores podrán desplegar sus aplicaciones en dicho entorno, aprovechando los datos de usuarios y contactos, sitúa a Force.com como  pionera y cabeza de carrera en un nuevo nicho de mercado que se espera termine de explotar a lo largo de los próximos meses.

 

SOTWARE COMO SERVICIO (SaaS)

En la misma tendencia de externalización de recursos que abandera el Cloud Computing, cuando hablamos de Software como Servicio (SaaS), estamos definiendo un modelo de distribución basado en el cese de adquisición de licencias de software instalable, prefiriendo migrar hacia aplicaciones web equivalentes que normalmente tendrá un coste bajo demanda.


De esta manera, se elimina el concepto de posesión de software físico, a favor de la confianza depositada en un servicio web ajeno, accesible ubicuamente desde cualquier lugar de “la nube”.


En general, la definición de SaaS, está orientada a un marco de usuarios empresariales, donde una empresa proveedora ofrece soluciones CRM alojadas en una infraestructura de servidores propios y otra empresa cliente contrata el acceso a dicho servicio, tarifado según el consumo de recursos que haga del mismo. Una vez más, el usuario cliente obtiene ubicuidad y despreocupación respecto al mantenimiento y configuración de equipo, que recaerán sobre la empresa proveedora.


Realmente, nos encontramos ante un concepto tan generalista (software de uso propio, pero que se ejecuta en una máquina remota) que prácticamente abarca el propio paradigma de Internet, incluyendo cualquier tipo de aplicación web: gestores de webmail, servicios de hosting, clientes de almacenamiento … Sin embargo, en los últimos meses, se ha venido observando un incremento exponencial de servicios en “la nube”, expresamente desarrollados e implementados, con el único fin de sustituir a productos software tradicionales anteriormente basados en una instalación personal en las máquinas del usuario. Es en éste entorno, donde adquiere sentido la definición del Sotware como Servicio.
 
 


Obviamente, existe una situación de desconfianza al carecer de un control total de la información que depositamos en estos servicios en “la nube”. Algunas desventajas claras son la pérdida de control sobre la plataforma que sustenta el servicio, la pérdida de control sobre nuestros datos, que quedan almacenados en máquinas de terceros o la difícil migración de los mismos entre diferentes plataformas Cloud Computing. A pesar de ello, la lista de ventajas sobre el anterior sistema  de software, supera con creces los pequeños defectos del nuevo modelo:


- No es necesaria la instalación ni mantenimiento de los productos software

 

- Las empresas proveedoras garantizan una disponibilidad “full-time” del servicio


- El coste inicial de desarrollo es mínimo (Pago según consumo de recursos)

 

- La transmisión de datos a través de la red es segura y fiable, mediante protocolos de cifrado


- El proceso de “upgrading” del software es inmediato y transparente al usuario cliente

- Permite ubicuidad total y máximo rendimiento colaborativo

- Eliminan la renovación de hardware debido a exigencias software. Únicamente es necesario disponer de una conexión a Internet y un navegador


- Escalabilidad automatizada

 

Resulta complicado llevar a cabo una clasificación exhaustiva de los productos SaaS, dado su elevado número y la amplitud de mercados para los que son desarrollados. A través de la publicación Infoworld, han optado por una división temática de los SaaS más representativos, que bien puede sentar las bases de una primera estructuración. En este caso se considera que los SaaS pueden pertenecer a uno de los siguientes cuatro grandes grupos diferenciados:


- Soluciones de Back Office (aplicaciones ERP, compra, RRHH …)

- Soluciones de mensajería (gestión de correos electrónicos, tratamiento de SPAM, protección frente a virus)
     

- Aplicaciones CRM

- Soluciones de integración

 

Por otra parte, una buena referencia de la situación actual en el mercado español, se puede encontrar a través del siguiente enlace.

 

LA CONTROVERSIA DEL CLOUD COMPUTING. PROBLEMAS Y SOLUCIONES

Como hemos podido comprobar, las tendencias englobadas en el concepto de Cloud Computing se fundamentan en mantener una confianza  sobre el proveedor con el que contratamos nuestros servicios. Esta confianza que depositamos, es considerada por diferentes sectores críticos como un grave problema, puesto que en ningún momento tenemos la absoluta certeza de qué sucede con nuestra información, y asumimos un riesgo “considerable” al no tener un completo control sobre nuestros datos.
 
 
 
Entre los  aspectos del Cloud Computing que de alguna manera comprometen al usuario están:


Seguridad y control sobre la información

Ya hemos comentado que uno de los riesgos que el usuario asume al adoptar la externalización de recursos es la falta de control sobre sus datos, que pasan a almacenarse en “la nube”. Una vez más el usuario se ve obligado a hacer un acto de fe, y depositar su confianza en aquellos proveedores que considera fiables y seguros (empresas ampliamente consolidadas como Microsoft, Google, Amazon …).

Sin embargo, el usuario dispone de herramientas para asegurar mediante redundancia la integridad de su información. Existen soluciones hardware de almacenamiento que permiten realizar copias de seguridad de todos aquellos datos que subimos a “la nube” e incluso algunos de los servicios que ya se ofrecen en los entornos Cloud Computing, cuentan con modelos de sincronización que diversifican nuestros datos para asegurar la integridad de los mismos.


Lockin de Proveedor

Cuando asumimos la idea de convertirnos en desarrolladores sobre una plataforma en “la nube”, tenemos que considerar detenidamente que no existe una estandarización entre diferentes proveedores y que por tanto hay un déficit de herramientas de migración de unas plataformas a otras. A este problema se le denomina “lockin de proveedor” y supone asumir el riego de comprometerse al inicio de un proyecto, y verse obligado a continuar trabajando sobre un mismo proveedor, aún estando insatisfechos, debido a que el coste de migración a otro es inasumible o simplemente inviable. Se plantea igualmente el contexto en el que un posible proveedor de IaaS o PaaS desaparezca del mercado, dejando en el aire a aquellos usuarios que hubieran contratado sus servicios.

La única solución a este problema, descartada una hipotética estandarización global, se basa en la minimización de riesgos mediante el desarrollo modular, de manera que si fuera necesario hacer una migración de plataforma, los costes que ello suponga fueran mínimos.


Tendencias de Monopolio

El modelo de Cloud Computing que hemos analizado, marca una clara tendencia hacia la centralización. Los proveedores se convierten en importantes nodos de la red, preparados para dar servicio a múltiples usuarios. En este escenario, se corre el riesgo de que las grandes compañías que dominan el panorama actual de la red, se conviertan en los nuevos actores del Cloud Computing, absorbiendo la competencia y variedad existente en el actual modelo de Internet.

El único mecanismo que podría regular este aspecto sería una normalización consensuada de de los proveedores de servicios en “la nube”, o confiar en que las reglas del propio mercado, de la oferta y la demanda de los mismos equilibre la balanza en el nuevo modelo de red.

Retorno de Inversión

Supuestamente una de las grandes virtudes del modelo Cloud Computing se basa en la gestión de la inversión inicial en nuevos proyectos (pago según consumo de recursos), sin embargo ha surgido una corriente crítica con este aspecto liderada por McKinsey quien  publicó un informecuestionando el análisis económico de soluciones como los web services de Amazon.

 

 MOBILE CLOUD COMPUTING

En la misma línea en que hemos definido el concepto de Cloud Computing, cuando trasladamos estas tendencias al mundo de la movilidad, estamos manifestando la necesidad de aislar de alguna manera el software y aplicaciones del terminal final en el que haremos uso de ello.


Hasta ahora, el proceso de diseño e implementación de soluciones software para dispositivos móviles consideraba la posibilidad de centrarse en un modelo o familia de modelos de terminales (iPhone/iTouch, Blackberry, Nokia N-Series…) o por el contrario, implicaba la necesidad de asumir costes y tiempo de desarrollo para presentar diferentes versiones para diferentes terminales. Con la llegada del modelo de Cloud Computing, se abre la posibilidad de que los desarrolladores opten por implementar una solución única alojada en “la nube” y accesible mediante cualquier ubicación de la red, con las ventajas que ello conlleva.


Algunos observatorios de tecnologías como Red Herringo ZDNet han venido siguiendo esta correspondencia, y esperamos que a corto plazo disfrutemos de nuevas soluciones móviles alojadas en “la nube”.

 

CONCLUSIÓN

 A lo largo de este breve, hemos podido analizar y conocer más de cerca el conjunto de tendencias que han venido a definir este nuevo concepto de Cloud Computing. Y es que esta nueva “buzzword” se ha convertido sin duda en uno de los temas más comentados en la red durante los últimos meses. La pérdida de control de la información es el riesgo principal, pero también existen claros beneficios como la ubicuidad de las soluciones y la posibilidad de trabajar con recursos remotos de forma eficiente. Desde el punto de vista de las aplicaciones móviles, este concepto puede facilitar el desarrollo de aplicaciones multiplataforma, reduciendo los tiempos de desarrollo y aumentando la diversidad.

 

Autor: Víctor Andradas


Centro de Difusión de Tecnologías ETSIT-UPM