viernes, 24 de julio de 2009

"CLOUD COMPUTING"

INTRODUCCION
Desde la aparición en el mundo del término Web 2.0 (término acuñado por Tim O´Reilly en octubre de 2004), se ha experimentado un cambio rotundo para los usuarios de la mayoría de empresas, que empezaron a basar sus aplicaciones en servicios alojados de forma externa en la web. Con este surgimiento todos los Sistemas de Información existentes se están empezando a ofrecer como servicio y permitiendo a los usuarios acceder a estos a través de la gran nube (Internet) olvidando de gestionar los recurso de hardware. Los grandes datacenters bajo este modelo estarán pronto en la gran nube.

Hoy en día se da la posibilidad de alquilar un servidor o millares de estos para la implementar aplicaciones las cuales puedan ser accesibles desde cualquier parte del mundo. Dando la posibilidad de alquilarlos como Servidores Virtuales, en la cual se instalaría el software que maneja información de una persona o empresa. Se puede almacenar y obtener una gran cantidad de datos que sean accesibles únicamente por las aplicaciones y los usuarios autorizados.

DEFINICIONES
Este tipo de computación, 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 ser expertos en la gestión de recursos que usan. (Wikipedia, "Computación en nube," http://es.wikipedia.org/wiki/Cloud_Computing)

“Estilo de computación donde se pueden escalar masivamente las tecnologías de información y brindar como servicio, utilizando tecnologías de Internet para múltiples clientes externos”. (Gartner, "Cloud Computing Will Be As Influential As E-business," http://www.gartner.com/it/page.jsp?id=707508)

Es un término que se define como una tecnología que ofrece servicios a través de la plataforma de Internet. Los usuarios de este servicio tienen acceso de forma gratuita o de pago todo depende del servicio que se necesite usar. (Maestros del Web, "Cloud Computing: nueva era de desarrollo," http://www.maestrosdelweb.com/editorial/cloud-computing-nueva-era-de-desarrollo/)

Es un término usado para describir una plataforma y tipo de aplicación. Suelen incluir recursos informático cómo: redes de área de almacenamiento, cortafuegos, etc. También se describen cómo las aplicaciones que se extienden a ser accesibles a través de Internet. (IBM, "Cloud Computing," http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/Cloud_computing_wp_final_8Oct.pdf)

Es la Quinta Generación de la Computación. (después de Mainframe, Computadoras Personales, Cliente Servidor, Web). (A. Bechtolsheim, "Cloud Computing," http://netseminar.stanford.edu/seminars/Cloud.pdf)

Como su nombre indica, este tipo de plataforma permite a los desarrolladores escribir aplicaciones que se ejecutan en la nube, o utilizar los servicios prestados a partir de la nube, o ambos. Son nombres diferentes utilizados para este tipo de plataforma de hoy, incluidos los controles sobre la demanda de la plataforma y la plataforma como un servicio (FCA). (D. Chappell, "A short introduction to cloud platforms," http://www.davidchappell.com/CloudPlatforms--Chappell.pdf)

SERVICIOS Y APLICACIONES
Infraestructura como Servicios (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 datacenter en la empresa”.

Incluimos en este nivel la computación pura y dura como son los servicios EC2 de Amazon (máquinas virtuales con un diseño especifico) que utilizan la virtualización para ofrecer estas máquinas. E incluimos también lo que serian los servicios de almacenamiento no relacionado, disco, y también los servicios de almacenamiento relacionado, es decir, bases de datos. (
Velneo, "FAQ sobre Cloud Computing," http://www.saasmania.com/faq-sobre-cloud-computing/#Pregunta1-2)

Plataforma como Servicio (PaaS)
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, etc. 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.


Actualmente los actores PaaS más destacados son fundamentalmente: Google App Engine, Microsoft Windows Azure, 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 Pitón y Java y 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 estrella al entorno del Cloud Computing. Lo que hasta ahora era un CRM para 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.
Software cómo 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.

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
BENEFICIOS
  • Económico. Su costo se reduce considerablemente y su capital de trabajo se convierte en gasto operacional. Se generan bajas barreras para entrar, dado que la infraestructura es proveída por un tercero y no necesita ser comprado por única vez o a medida que aumenta su demanda. El precio se fija en base a su uso y no necesita de expertos informáticos para su implementación. Se deja en manos de otro el costo. Y sólo se paga por un servicio, que cuando se utiliza se paga o bien, se suscribe a un bajo costo.

Modelo Tradicional vs. Cloud Computing. Fuente Gartner (Septiembre 2008)
  • Independencia. Existe una independencia del dispositivo y la ubicación, lo que permite que los usuarios puedan acceder a los sistemas usando un navegador de Internet independiente de su ubicación geográfica y del sistema operativo o computador. Dado que su infraestructura es otorgada por un tercero, y se puede acceder vía Internet, los usuarios se pueden conectar de cualquier parte.
  • Multi Usuario. Permite compartir los recursos y costos a través de una larga cantidad de usuarios, permitiendo: Centralización de la infraestructura en áreas de bajo costo (terrenos, electricidad, personas etc.) Capacidad de aumentar recursos en peaks (los usuarios no necesitan de recursos extras para aumentos en sus niveles de demanda). Mejoras en la utilización y en la eficiencia de sistemas que suelen usarse en no más de un 10% a 20%.
  • Flexibilidad. Cuando se compra un servicio, solución o producto, si se quiere más se compra, y ¿si se quiere menos? ¿si ya no lo quiere? Bajo esta modalidad los recursos informáticos se utilizan cuando se necesitan. Si se desea otro servicio, sólo se cambia. Si se desea más o menos servicio, pagas lo que corresponde. Si no deseas el servicio no hay costo inicial.
  • Alta Disponibilidad. La infraestructura y arquitectura de nuestros Data Center esta especialmente diseñada con alta redundancia para asegurar una continuidad ilimitada de su servicio y de sus negocios.
  • Escalabilidad. Escalabilidad vía provisión de recursos on demand de forma instantánea, en tiempo real, vía servicio individual, sin necesidad de ingenieros para los peak de demanda. Su rendimiento esta monitoreado, con una arquitectura construida para usar servicios web como interfaz de sistema.
  • Reduce complejidades de Informática. Nuestras soluciones on demand no incorpora nueva estructuras o fierros a su ambiente informático, sino que por el contrario, es un servicio que se complementa con los sistemas informáticos que ya existen en su empresa. Esta todo entregado como un servicio on demand, asi es que no existe software e infraestructura adicional que mantener.
CONSIDERACIONES
Los inconvenientes se centran esencialmente que nuestros datos están la red y no, en "casa" (es decir, en nuestros servidores o en el disco duro de nuestro PC). Y eso puede significar un riesgo de perder los datos o de que caigan en manos indeseables o que se haga un uso indebido o no autorizado de ellos. 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).

Es obvio, a la vista de la masiva difusión de aplicaciones como: gmail, yahoo y hotmail que para los usuarios, las ventajas superan con mucho a los inconvenientes citados.

Más allá del correo electrónico, Google -a quien pertenece Gmail-, tiene operativo un amplio catálogo de aplicaciones online, empezando por "Documents", un paquete ofimático completo que es una alternativa a Microsoft Office y al Open Office de software libre.

No obstante, lo que nos interesa ahora es imaginar las enormes posibilidades que abre este concepto una vez que empecemos a aplicarlo a usos profesionales sectoriales y no sólo a usos de propósito general. Permitirá dar todo tipo de servicios online a todo el mundo desde cualquier punto del globo terrestre. Facilitará que una ingeniería muy especializada, por pequeña que sea, por ejemplo, en el desarrollo de sistemas de seguridad de frenado en coches, puedan ofrecer sus servicios a todos los fabricantes de automóviles del mundo y a sus proveedores. O bien, que un despacho de abogados especializado en propiedad intelectual internacional pueda desarrollar fácilmente una red global de colaboradores expertos a partir del conocimiento centralizado o que un grupo de micro consultoras de distintos países se asocien para ofrecer servicios globales de alta calidad o seguro que cada uno es capaz de añadir ejemplos según el sector en que se mueva.

Por otro lado 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.

Al respecto Stallman ha manifestado: este concepto es “Una estupidez. Es peor que una estupidez: es una campaña de marketing”. Desde su visión, Cloud Computing es una simple trampa elaborada para que las personas compren sistemas cerrados y propietarios que les costarán cada vez más dinero. La propiedad y seguridad de los datos y la posibilidad de quedar atrapados en servicios de este tipo. Pero ahí la respuesta debe estar en el derecho a la portabilidad de datos y que se adopten los nuevos estándares abiertos que nos permitan migrar entre proveedores. Son las nuevas batallas en las que está en juego la libertad del usuario, porque la de mantener todo el software y los datos en local está, al menos en apariencia, perdida.

Saludos,
Juliozet


5 comentarios:

Carlos A. Castillo Catturini dijo...

Muy interesante el tema, pero todo tiene su pro y su contra; actualmente ya tenemos servicios de Cloud Computing ó Internet en la Nube, con los servicios que cada día son más integrados de google docs, web services, etc. tenemos que analizar que sistemas tendria que ir alojados hacia los servicios de Cloud Computing; porque si no estaríamos peligrando la seguridad de los datos; sin mucha paranoia sabemos que la CIA y el FBI, trata de alguna manera filtrar y analizar la información que circula en la gran nube; como pretexto de prevenir ataques y atentados terroristas.

Paul Gonzales Castro dijo...

La computación en nube, del inglés cloud computing, es una tecnología que permite ofrecer servicios de computación a través de Internet. La nube es una metáfora de Internet.

Como ejemplos de computación en nube destacan Amazon EC2, Google Apps, eyeOS y Microsoft Azure, que proveen aplicaciones comunes de negocios en línea accesibles desde un navegador web, mientras el software y los datos se almacenan en los servidores.

Paul Gonzales Castro

rony dijo...

es bueno tener la torta preparada lista para revanarla con el cuchillo, pero lo mas interesante es tener los ingredientes listos para poder prepararla porque APRENDES, escuche una vez que mientras mas avance la tecnología mas fácil se le hacen las cosas a las personas, pero esto tiene repercusiones del tipo investigación, que no la tenemos en nuestra universidad.
cloudcomputing, permite que accedas a un servicio,que desde mi punto de vista no es seguro, porque existe la posibilidad de que extraños manipulen tu información.
es como cuando un país lanza un satélite y le dice a todo el mundo que solo lo va a utilizar para telecomunicación.
cloudcomputing=espionaje informatico

Csr dijo...

En este tiempo lo que una persona, hasta cierto punto debe decidir es:
A quien o quienes le daré mi información.
Las redes sociales que mas hacen que almacenar nuestra información personal.
El tema de la seguridad para las personas queda ya descartado desde que uno decide colgar su vida en Internet.
Yo apoyo a la computación en la nube.
Actualmente se esta viendo a google como una empresa que quiere hacerse con información de nosotros. Ayer google presento Google Chrome OS y la filosofia que tienen de un sistema operativo totalmente en la nube.

El "Cloud Computing" estamos viviendo sus inicios y estos solo se pone mejor; mas y mas servicios gratuitos van apareciendo que sin necesidad de instalar algo y solo con el navegador podremos usar.

Miguel Angel dijo...

Yo creo que para ser los primeros en algo tenemos que estar de la mano con la tecnología ya que esto nos permite en perder tiempo en lo que no nos concierne.

Ejemplo:

Si se trata de una universidad y tenemos que tener una pagina web para que nos muestre información ya sea de las del usuario y en la cual tiene fotos y en este caso no tenemos que preocuparnos en comprar un servidor ya que con la tecnologia podemos alguilar un host y dedicarnos a lo que realmente nos corresponde cono en dar mas capacitaciones a los profesores o ya sea a los amismos alumnos y tambien en ver la manera de como se lo mantenemos actualizado.

Y ya que por ultimo casi todas la aplicaciones lo vamos a tener en la web.

Pero por otra parte es que la empresa maneja tu información y puede pasar muchas cosas con esa información.