Universidad Nueva Esparta Escuela de Computación Cátedra: Software de Micro. Cloud Computing Alumno: Xavier Urdaneta Manuel Colorado Caracas, Julio de 2012 Introducción En los últimos años la computación ha estado envuelta en un gran cambio, pasando a un modelo se servicios de consumo masivo, ofreciendo una tecnología bajo el esquema de pago-bajo-demanda. En este nuevo esquema, se están desarrollando millones de aplicaciones a las cuales los usuarios pueden acceder a través de Internet y no aplicaciones para correr en máquinas de manera individual. Cloud Computing es una extensión del paradigma en donde las aplicaciones son expuestas en Internet como servicios a los cuales cualquier persona con autorización puede consumirlos. Cloud Computing El termino Cloud, o en la nube, ha sido usado metafóricamente en la historia para connotar una infraestructura por la cual los usuarios tienen acceso a aplicaciones desde cualquier lugar del mundo bajo demanda, lo que conocemos más comúnmente como Internet. Muchos diagramas de ingeniería muestran la nube como una infraestructura abstracta en donde la información fluye de un lado a otro sin importar lo que existe en medio. Aún cuando existe una estrecha relación entre esta metáfora bien conocida por todos y el verdadero significado del término computación en la nube, es importante hacer énfasis en una definición precisa. El término Cloud implica dos conceptos claves: Abstracción y virtualización. La abstracción corresponde a olvidar los detalles de la implementación por parte de los usuarios y los desarrolladores, tomando este concepto desde un enfoque en donde las aplicaciones se ejecutan sobre una maquina física que no está especificada, los datos son almacenados en ubicaciones desconocidas, la administración de los sistemas está bajo responsabilidad de un tercero y finalmente los usuarios tienen exceso a esta infraestructura desde cualquier lugar con acceso la red. En cuanto a la virtualización se refiere a la habilidad del sistema para crear sistemas que parezcan independientes ante los usuarios a través de mecanismos de compartir y asignar periodos de uso a los recursos que cada unidad necesita. Cloud Computing es la abstracción de la noción de compartir recursos físicos y presentarlos ante el usuario final como recursos independientes a través de la virtualización. Cuando hablamos de Cloud Computing hacemos referencia a todas las aplicaciones y servicios que se ejecutan en una red distribuida usando recursos virtualizados y que pueden ser accedidos a través de protocolos comunes de Internet y estándares de comunicación en redes. Lo importante es que como usuarios nos olvidamos de la infraestructura física que hay detrás y suponemos que los recursos con los que podemos contar en la nube son ilimitados. Para entrar en una descripción más detallada tenemos dos modelos que definen Cloud Computing: a partir del lugar donde está ubicada y la manera en cómo se administra la infraestructura (Modelo de Despliegue) y a partir del tipo de servicios a los que se puede acceder en la plataforma (Modelo de Servicio). A partir de estos dos modelos es que NIST (National Institute of Standars and Technology) da una definición formal y que puede ser resumida en la siguiente figura, teniendo en cuenta que esta definición se está moviendo hacia una interacción de componentes basados en estándares como SOA (Service Oriented Architecture) por lo que en un futuro incluirá nuevos componentes. Antecedentes: El concepto de la computación en la nube empezó en proveedores de servicio de Internet a gran escala, como Google, Amazon AWS, Microsoft y otros que construyeron su propia infraestructura. De entre todos ellos emergió una arquitectura: un sistema de recursos distribuidos horizontalmente, introducidos como servicios virtuales de TI escalados masivamente y manejados como recursos configurados y mancomunados de manera continua. Este modelo de arquitectura fue inmortalizado por George Gilder en su artículo de octubre 2006 en la revista Wired titulado “Las fábricas de información”. Las granjas de servidores, sobre las que escribió Gilder, eran similares en su arquitectura al procesamiento “grid” (red, parrilla), pero mientras que las redes se utilizan para aplicaciones de procesamiento técnico débilmente acoplados (loosely coupled), un sistema compuesto de subsistemas con cierta autonomía de acción, que mantienen una interrelación continua entre ellos, este nuevo modelo de nube se estaba aplicando a los servicios de Internet. Requerimientos Tenicos: Hay tres requerimientos claves y fundamentales que un proveedor debe cumplir si desea migrar sus operaciones al cloud computing. Éstas son las siguientes: Términos y condiciones para la disponibilidad/uptime del servicio. Entrega de un servicio de alta calidad que sea una verdadera experiencia para el cliente. El servicio debe ser considerablemente mejor en calidad, precio, mantenimiento, flexibilidad, tiempos de respuesta e innovación, a lo que actualmente se está ofreciendo. El Cloud Computing debe darle a las organizaciones más velocidad en despliegue a nuevas capacidades y también nuevos presupuestos para inversiones en el negocio. Arquitectura: La arquitectura y terminología del Cloud Computing está claramente definida como, básicamente, un Cloud. Cloud Computing es realmente la culminación del uso conjunto de múltiples tecnologías como grid computing, utility computing, SOA, Web 2.0, así como otras. Cloud computing permite desplegar servicios virtualizados y dinámicamente escalables a diferentes niveles, posibilitando la definición de Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) o Software as a Service (SaaS). Esta arquitectura desarrollada por líderes en soluciones y ecosistemas, simplifica la implementación y la optimización de la infraestructura en nube. Cada arquitectura de Cloud Computing se basa en requisitos informáticos del mundo real y ofrece instrucciones detalladas acerca de cómo instalar y configurar una solución en nube en particular. Objetivo: El objetivo de esta tecnología es que el usuario dependa cada vez menos de una ubicación física para trabajar, es decir, que a medida que pase el tiempo ya no sea necesaria la utilización de distintos elementos de hardware, tales como discos rígidos o procesadores, logrando de este modo liberar a los usuarios comunes, y por supuesto también a las empresas, de las grandes sumas de dinero en inversiones necesarias para la adquisición de hardware. Cabe destacar que el objetivo de este modelo es la capacidad de proporcionar interoperabilidad completa desde cualquier tipo de dispositivo que se utilice, ya sean terminales de telefonía móvil, PC’s de escritorio con cualquier sistema operativo instalado o inclusive PDA’s, entre muchos otros, brindando así la posibilidad de interactuar con la información y los programas desde cualquier lugar del mundo donde el usuario se encuentre, mediante la simple utilización de una conexión a Internet. Ventajas: Desde el punto de vista del negocio: o o o o o o o Reducción de costros. Infraestructura Just-In-Time. Eficiencia en la utilización de recursos. Costo basado en uso. Time to market reducido. Calidad de servicio y fiabilidad. Outsourcing del área de tecnología de información. Desde el punto de vista técnico: o o o o o Automatización. Escalabilidad. Ciclos de desarrollo más eficientes. Mejor capacidad de prueba. Recuperación ante desastres y continuidad de negocio. Desventajas: Así como existe una gran cantidad de ventajas, existe un número también elevado de desventajas que deben ser tomadas en cuenta a la hora de optar por el uso de este nuevo modelo de computación. Servicios poco personalizables. Alta latencia. Sistema sin estado. Privacidad y seguridad. Soluciones: El modelo en la nube ofrece soluciones de muy bajo costo para el mantenimiento de plataformas de recuperación tanto de servidores y sus aplicaciones así como de datos. Además, es posible usar la amplia distribución geográfica de la infraestructura del proveedor para la replicación de ambientes en varias locaciones alrededor del mundo en minutos. Conclusión En conclusión el Cloud Computing representa una manera en la cual se puede aprovechar la tecnología de Internet para manipular, conservar y crear información. Esta tipo aplicación invita a ver el software como un servicio externo. Aunque el Cloud computing aún esta en una fase temprana de desarrollo, estamos seguros que muy pronto alcanzara la edad adulta, ya que cuenta con el soporte de empresas como Google y Microsoft. Bibliografía http://manuelvieda.com/2011/07/beneficios-desventajas-del-modelo-de-cloudcomputing/ (Consultado 15/07/2012) http://manuelvieda.com/2011/07/cloud-computing-que-es/ (Consultado 15/07/2012) http://www.inteko.com.ar/productos/networking/cloud-computing/ 16/07/2012) (Consultado