lunes, 7 de marzo de 2011

TIG's 2011 - Computación en la Nube


“En 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 conocimientos (o, al menos sin ser expertos) en la gestión de los recursos que usan. “[1]

“La Computación en la nube se apoya sobre una infraestructura tecnológica dinámica que se caracteriza, entre otros factores, por un alto grado de automatización, una rápida movilización de los recursos, una elevada capacidad de adaptación para atender a una demanda variable, un precio flexible en función del consumo realizado evitando.” [1] Los recursos que consume el sistema pueden ser modificados en tiempo real, sin la necesidad de detener el servicio.

“Las infraestructuras de "Cloud Computing" proporcionan mayor capacidad de adaptación, recuperación de desastres completa y reducción al mínimo de los tiempos de inactividad.”[1] Esto sucede debido a que si en algún momento un nodo se cae, el trafico es redirigido y balanceado a los restantes.

Tomando informacion de las definiciones podemos denominar al “Cloud Computing” como una plataforma altamente escalable que elimina limitantes actuales a nivel de recursos de hardware y software, permitiendo el diseño de estrategias didácticas que utilizan recursos en Internet y que contribuyen a los procesos de enseñanza y aprendizaje por medio de herramientas de fácil manejo; La nube potencia la igualdad de acceso a recursos, fomenta el trabajo colaborativo y estimula la innovación por medio de robustas aplicaciones web fáciles de utilizar.

Estructuración

Estos sistemas están compuestos de 3 capas. A medida que uno se aleja del centro, la cantidad de soluciones, proveedores, tecnologías, etc. aumenta de forma considerable.

La primera capa esta compuesta por las aplicaciones, llamadas en este caso servicios. Debido a este ultimo renombre, surge el Software as a Service (SaaS). “Este es un modelo de distribución de software donde el software y los datos que maneja se alojan en servidores de la compañía y se accede con un navegador web a través de Internet. ”1[1]

Las aplicaciones utilizan las plataformas para acceder de forma distribuida, segura y balanceada a los recursos.

“El software como servicio (en inglés software as a service, SaaS) caracteriza una aplicación completa ofrecida como un servicio, en-demanda, vía multitenencia —que significa una sola instancia del software que corre en la infraestructura del proveedor y sirve a múltiples organizaciones de clientes.” [2]

La segunda capa esta compuesta por las plataformas (PaaS, Platform as a Service), disponibles bajo una misma infraestructura, que, trabajando en conjunto, permiten que el servicio funcione.

“Básicamente su objetivo se centra en un modelo en el que se proporciona un servicio de plataforma con todo lo necesario para dar soporte al ciclo de planteamiento, desarrollo y puesta en marcha de aplicaciones y servicios web a través de la misma. El proveedor es el encargado de escalar los recursos en caso de que la aplicacion lo requiera, de que la plataforma tenga un rendimiento óptimo, etc.”[3]

La tercera capa, el núcleo de estos sistemas, consiste en el software y el hardware especialmente diseñado para estos medios.

“IaaS (Infrastructure as a Service) corresponde a la capa mas baja. La idea básica es la de hacer uso externo de servidores evitando de esta manera tener un servidor local y toda la infraestructura necesaria para la conectividad y mantenimiento dentro de un mismo nodo Con una IaaS lo que se tiene es una solución en la que se paga por consumo de recursos solamente usados: espacio en disco utilizado, tiempo de CPU, espacio para base de datos, transferencia de datos, etc.

Las IaaS permiten desplazar al proveedor la mayor parte de los factores relacionados con la gestión de las maquinas con el ahorro de costos al pagar solo por lo consumido y olvidarse de tratar con maquinas y su mantenimiento. Por otro lado, IaaS puede permitir una escalabilidad automática o semiautomática, de forma que se puedan contratar m´as recursos según los se requieran.” [4]

[5]

Beneficios[[6]]

Integración probada de servicios Red. Por su naturaleza, la tecnología de "Cloud Computing" se puede integrar con mucha mayor facilidad y rapidez con el resto de sus aplicaciones empresariales (tanto software tradicional como Cloud Computing basado en infraestructuras), ya sean desarrolladas de manera interna o externa.5

Prestación de servicios a nivel mundial. Las infraestructuras de "Cloud Computing" proporcionan mayor capacidad de adaptación, recuperación de desastres completa y reducción al mínimo de los tiempos de inactividad.

Una infraestructura 100% de "Cloud Computing" no necesita instalar ningún tipo de hardware. La belleza de la tecnología de "Cloud Computing" es su simplicidad… y el hecho de que requiera mucha menor inversión para empezar a trabajar.

Implementación más rápida y con menos riesgos. Podrá empezar a trabajar muy rápidamente gracias a una infraestructura de "Cloud Computing". No tendrá que volver a esperar meses o años e invertir grandes cantidades de dinero antes de que un usuario inicie sesión en su nueva solución. Sus aplicaciones en tecnología de "Cloud Computing" estarán disponibles en cuestión de semanas o meses, incluso con un nivel considerable de personalización o integración.

Actualizaciones automáticas que no afectan negativamente a los recursos de TI. Si actualizamos a la última versión de la aplicación, nos veremos obligados a dedicar tiempo y recursos (que no tenemos) a volver a crear nuestras personalizaciones e integraciones. La tecnología de "Cloud Computing" no le obliga a decidir entre actualizar y conservar su trabajo, porque esas personalizaciones e integraciones se conservan automáticamente durante la actualización.

Contribuye al uso eficiente de la energía. En este caso, a la energía requerida para el funcionamiento de la infraestructura. En los datacenters tradicionales, los servidores consumen mucha más energía de la requerida realmente. En cambio, en las nubes, la energía consumida es sólo la necesaria, reduciendo notablemente el desperdicio.

Desventajas [7]

La centralización de las aplicaciones y el almacenamiento de los datos origina una interdependencia de los proveedores de servicios.

La disponibilidad de las aplicaciones están desatadas a la disponibilidad de acceso a Internet.

Los datos "sensibles" del negocio no residen en las instalaciones de las empresas por lo que podría generar un contexto de alta vulnerabilidad para la sustracción o robo de información.

La confiabilidad de los servicios depende de la "salud" tecnológica y financiera de los proveedores de servicios en nube. Empresas emergentes o alianzas entre empresas podrían crear un ambiente propicio para el monopolio y el crecimiento exagerado en los servicios.

La disponibilidad de servicios altamente especializados podría tardar meses o incluso años para que sean factibles de ser desplegados en la red.

La madurez funcional de las aplicaciones hace que continuamente estén modificando sus interfaces, por lo cual la curva de aprendizaje en empresas de orientación no tecnológica tenga unas pendientes significativas, así como su consumo automático por aplicaciones.

Seguridad. La información de la empresa debe recorrer diferentes nodos para llegar a su destino, cada uno de ellos (y sus canales) son un foco de inseguridad. Si se utilizan protocolos seguros, HTTPS por ejemplo, la velocidad total disminuye debido a la sobrecarga que estos requieren.

Escalabilidad a largo plazo. A medida que más usuarios empiecen a compartir la infraestructura de la nube, la sobrecarga en los servidores de los proveedores aumentará, si la empresa no posee un esquema de crecimiento óptimo puede llevar a degradaciones en el servicio o jitter altos.

Los diferentes tipos de nubes:

Las nubes públicas se manejan por terceras partes, y los trabajos de muchos clientes diferentes pueden estar mezclados en los servidores, los sistemas de almacenamiento y otras infraestructuras de la nube. Los usuarios finales no conocen qué trabajos de otros clientes pueden estar corriendo en el mismo servidor, red, discos como los suyos propios. [8]

Las nubes privadas son una buena opción para las compañías que necesitan alta protección de datos y ediciones a nivel de servicio. Las nubes privadas están en una infraestructura en-demanda manejada por un solo cliente que controla qué aplicaciones debe correr y dónde. Son propietarios del servidor, red, y disco y pueden decidir qué usuarios están autorizados a utilizar la infraestructura.

Las nubes híbridas combinan los modelos de nubes públicas y privadas. Usted es propietario de unas partes y comparte otras, aunque de una manera controlada. Las nubes híbridas ofrecen la promesa del escalado aprovisionada externamente, en-demanda, pero añaden la complejidad de determinar cómo distribuir las aplicaciones a través de estos ambientes diferentes. Las empresas pueden sentir cierta atracción por la promesa de una nube híbrida, pero esta opción, al menos inicialmente, estará probablemente reservada a aplicaciones simples sin condicionantes, que no requieran de ninguna sincronización o necesiten bases de datos complejas.

Controversias con el cloud computing:

La computación en nube ha sido criticada por limitar la libertad de los usuarios y hacerlos dependientes del proveedor de servicios.Algunos críticos afirman que sólo es posible usar las aplicaciones y servicios que el proveedor esté dispuesto a ofrecer.[9] Así, el London Times compara la computación en nube con los sistemas centralizados de los años 50 y 60, en los que los usuarios se conectaban a través de terminales "gregarios" con ordenadores centrales. Generalmente, los usuarios no tenían libertad para instalar nuevas aplicaciones, y necesitaban la aprobación de administradores para desempeñar determinadas tareas. En suma, se limitaba tanto la libertad como la creatividad. El Times argumenta que la computación en nube es un retorno a esa época y numerosos expertos respaldan la teoría.

De forma similar, Richard Stallman, fundador de la Free Software Foundation, cree que la computación en nube pone en peligro las libertades de los usuarios, porque éstos dejan su privacidad y datos personales en manos de terceros. Ha afirmado que la computación en nube es "simplemente una trampa destinada a obligar a más gente a adquirir sistemas propietarios, bloqueados, que les costarán más y más conforme pase el tiempo.¨[10]

Ventajas al utilizar Computación en la nube por sobre los nodos dedicados:

Rápido: Los servicios más básicos de la nube funcionan por sí solos. Para servicios de software y base de datos más complejos, la computación en nube permite saltarse la fase de adquisición de hardware y el consiguiente gasto, por lo cual es perfecta para la creación de empresas.

Actual: La mayoría de los proveedores actualizan constantemente su software, agregando nuevas funciones tan pronto como están disponibles.

Elástico: Adaptable rápidamente a negocios en crecimiento o de picos estacionales, ya que el sistema en nube está diseñado para hacer frente a fuertes aumentos en la carga de trabajo. Esto incrementa la agilidad de respuesta, disminuye los riesgos y los costos operacionales, porque sólo escala lo que crece y paga sólo lo que usa.

Móvil: El sistema en nube está diseñado para ser utilizado a distancia, así que el personal de la empresa tendrá acceso a la mayoría de los sistemas en cualquier lugar donde se encuentre.

Mínima inversión en infraestructura: El proveedor ofrece servicios a varias empresas, las cuales se benefician de compartir una infraestructura compleja y pagan solamente por lo que realmente utilizan.[11]

La computación en nube se puede aplicar en casi cualquier entorno, desde el pequeño comerciante que necesita un sitio web seguro de comercio electrónico de forma rápida y barata, hasta el operario de ferry que alcanza altos picos en su sistema informático en mayo y junio, mientras que el resto del año se encuentra prácticamente inactivo.

[12] Su aplicación puede ser muy útil por ejemplo, para el servicio de bomberos cuando repentinamente necesitan más poder computacional para predecir movimientos de incendios forestales durante el verano.

Los servicios de la computación en nube cubren desde aplicaciones individuales de negocios, como el cálculo de impuestos, rentas o contribuciones, hasta la externalización informática de alto rendimiento para complejos diseños en 3D, películas de cine o investigación científica.

El cliente puede en todo momento decidir qué aplicaciones usar y elegir entre aquellas que son gratuitas y las que no lo son. En el caso de las aplicaciones de pago, el coste irá en función de diversas variables, como el servicio contratado, el tiempo que se ha usado ese servicio, el volumen de tráfico de datos utilizado, etc.

Video informativo: http://www.youtube.com/watch?v=VOn6tg3e1t4&feature=player_embedded

Fragmentos extraidos de la entrevista a Steve Ballmer de Microsoft.

Con la nube, la capacidad para procesar datos se vuelve más accesible. ¿Bastará eso para que la próxima Microsoft o Google pueda nacer en un país como Argentina?

­ - La computación en la nube ayuda a tener una presencia global, pero a las empresas no les basta con desarrollar y distribuir productos, también tienen que vender. Para eso, hay que tener presencia en EE.UU., el mayor mercado mundial, y en China, el que crece más rápidamente. La nube ayuda, pero no soluciona todo.

El modelo de negocio del software también parece estar cambiando con aplicaciones online que se financian con publicidad, ¿cómo lo ven en Microsoft?

­ - Lo más importante para vender software es el hardware que ya viene con aplicaciones incorporadas. Los avisos son la segunda entrada, y la tercera son las cuotas de los clientes por servicios. Las tres seguirán siendo importantes, pero el negocio crecerá más por avisos y ventas ligadas al hardware. [13]

Virtualizacion[14]

La nube interactiva en la red, no funcionaria sin la virtualizacion. La virtuailzacion esta principalmente dirigida a la plataforma. Antes de empezar a relacionar la virtualizacion con la denominada “nube”, es primordial saber que es. La virtualización es una técnica que posibilita la ejecución de una o más máquinas virtuales sobre una única máquina física. Cada máquina virtual tiene asignados, de forma independiente al resto, un conjunto de recursos hardware (procesador, memoria, almacenamiento, dispositivos de E/S) y ejecuta su propia copia del sistema operativo.

[15]

Además de la virtualización de servidores existen otros modelos de virtualización:

Virtualización en la red

Virtualización del almacenamiento principal

Virtualización del almacenamiento secundario[16]

El lugar que ocupa la virtualizacion dentro de la nube, forma parte del IaaS, la implementacion de la estructura, que es la capa mas baja dentro de la nube. Dentro de la nube, la virtualizacion es una parte escencial de esta. Ya que, la posibilidad de ingresar a un documento, archivo, u otros similares desde diferentes computadores, se debe exclusivamente a la existencia de esta. La nube funciona fisicamente en un lugar, pero virtualmente en millones. Para que funcione de tal manera, la virtualizacion de los sistemas es la clave.

Ventajas de la virtualizacion[17] [18]

La virtualizacion de los sistemas hace innecesaria una gran cantidad de recursos, como computadoras. Pudiendo ahorrar en recursos, ante las crisis economicas actuales.

Reduccion de costos como consecuencia de la reduccion de recursos.

Continuidad de negocio y recuperación ante desastres. En caso de fallo de un sistema físico, los sistemas lógicos allí contenidos pueden distribuirse dinámicamente a otros sistemas.

Virtual appliance: máquinas virtuales preconfiguradas, cargar y funcionar. Máquinas paquetizadas y preconfiguradas para desempeñar una función determinada (servidores de correo, bases de datos, centralitas VoIP, aplicaciones cerradas).

Compatibilidad de programas: Cuando se utilizan diferentes programas, que son compatibles solo con un determinado Sistema Operativo, puede usarse para tener 1 o mas OS.

Las máquinas virtuales son totalmente independientes, entre sí y con el hypervisor. Por tanto un fallo en una aplicación o en una máquina virtual afectará únicamente a esa máquina virtual. El resto de máquinas virtuales y el hypervisor seguirán funcionando normalmente.

Cada máquina tiene un acceso privilegiado independiente. Por tanto, un ataque de seguridad en una máquina virtual sólo afectará a esa máquina.[19]

Agilidad en la creación de una máquina virtual, que es un proceso muy rápido, básicamente la ejecución de un comando. Por tanto, si necesitamos un nuevo servidor lo podremos tener casi al instante, sin pasar por el proceso de compra, configuración.

Aumento en la disponibilidad, ya que reduce tiempo

La Portabilidad de toda la configuración de una máquina virtual reside en uno o varios ficheros. Esto hace que sea muy fácil clonar o transportar la máquina virtual a otro servidor físico, simplemente copiando y moviendo dichos ficheros que encapsulan la máquina virtual.

Desventajas de la virtualizacion: [20][21]

La proliferación descontrolada de máquinas que están fuera del control de seguimiento, inventariado, contratación de licencias y otros aspectos obligados de gestión de activos y de la diversidad de plataformas.

No es posible utilizar hardware que no esté gestionado o soportado por el hipervisor. Este tiene el poder de bloquear, desbloquear, permitir u no utilizar funciones del sistema.

Desaprovechamiento de recursos. Crear máquinas virtuales innecesarias tiene un coste en ocupación de recursos, principalmente en espacio en disco, RAM y capacidad de proceso.

Disminuye el número de ventas de hardware. Aunque el hardware adquirido para alojar máquinas virtuales es más potente, el número de máquinas vendidas será inferior.

Necesidad de reforzar la seguridad y la estabilidad, ya que el ingreso y egreso de datos es muchisimo mayor y se corren riesgos muchos mayores.

La avería o fallo de un servidor anfitrión de virtualización afecta a todos los servidores virtuales que aloja, por lo que es importante la realizacion de copias de seguridad de los sistemas.

Historia de la Computación en la nube

Texto traducido:

En la era del pc, los ganadoers eran las companias que dominaban el microcosmos del chip de silicona.La nueva era de la petacomputacion sera gobernada por los maestros de los centros de datos remotos -aquellos que logrn administrar de la manera mas optima posible el poder, la electricidad, el ancho de banda, la capacidad y la localizacion. Ellos actuaran de palanca hacia lo que sera una migracion de la internet, que no solo proveera del servicio de busqueda, sino tambien del panel de aplicaciones comumente disponibles en una PC de escritorio.

Texto original:

“In the PC era, the winners were companies that dominated the microcosm of the silicon chip. The new age of petacomputing will be ruled by the masters of the remote data center – those who optimally manage processing power, electricity, bandwidth, storage, and location. They will leverage the Net to provide not only search, but also the panoply of applications formerly housed on the desktop.” 27

El termino “nube” es utilizado como una metáfora para Internet, basado en el dibujo de la nube que se usaba para representar la red telefónica [22]y después para representar Internet el diagrama de red de computadora como algo abstracto en la infraestructura que representa[23].

Computación en la nube es la evolucion natural de la adopcion global de la virtualizacion, arquitectura servicio-orientado, autónoma y utilitaria computación. Los detalles son abstraído de los usuarios finales, que ya no tienen la necesidad de tener experiencia o control sobre la infraestructura tecnológica en la “nube” que los mantiene.[24]

el concepto de computación en la nube data de los años 60, “la computación algún día necesite ser organizado como una utilidad publica”[25].

Casi todos las caracteristicas modernas de la computacion en la nube ( provision elastica, proveida como una utilidad, conectada, ilusion de suministro infinito), la comparacion con la industria electrica y el uso del publico, privado, gubernamental y de las comunidades fueron exploradas en el libro de Douglas Parkhill “” la dificultad de la utilidad de la computadora”.

El termino actual “nube” sacado de un termino de las compañias de telecomunicacon que hasta loss años 90 ofrecieron principalmente data de circuitos punto-a-punto, empezaron a ofrecer servicio de “redes privadas virtuales” (VPN) con una calidad parecida pero a un costo mucho mas bajo. Al cambiar el trafico para balancear la utilizacion como ellos veian necesario, Las compañias fueron capaces de utilizar toda su banda ancha de su red mas efectivamente. El simbolo de nube fue usado para denotar el punto de demarcacion entre lo que era la resposabilidad del proveedor y lo que era la responsabilidad del usuario. Computacion en la nube extiende sus fronteras paa cubrir tanbto servidores como la infraestructura de la red[26].

Despues de la burbuja “.com”, la empreza Amazon jugo un rol clave en el desarrollo de la computacion en la nube al modernizar sus centros de datos, que, como la mayoria de las redes estaban usando solamente el 10% de su capacidad en cualquier momento, solo para dejar lugar para los picos de trafico. Habiendo encontrado que la nueva arquitectura de la nube resulto una significiante mejoramiento de la eficiencia interna. Amazon inicio un nuevo esfuerzo de desarrollo de producto para proveer computacion en la nube a los clientes externos y lanzo Amazon Web Service (AWS) en una base de utilidad computacional en el 2006.[27][28]

A principios del 2008, Eucalyptus se convirtio en la primera plataforma Open Source, AWS API-compatible para desplegar nubes privadas. A principios del 2008 OpenNebula, se convirtio en el primer software en desplegar nubes hibridas y privadas y por [1] su federacion de nubes.[29]

Bibliografia:

http://tecnologia.iprofesional.com/notas/69966-Qu-es-la-cloud-computing-la-nueva-forma-de-usar-a-la-PC

http://www.dreig.eu/caparazon/2008/10/30/%C2%BFque-es-el-cloud-computing-definicion-tendencias-y-precauciones/

http://www.maestrosdelweb.com/editorial/cloud-computing-nueva-era-de-desarrollo/

http://www.europapress.es/portaltic/sector/noticia-arsys-advierte-riesgo-perdida-competitividad-tic-espanolas-20110907160947.html

http://www.kriptopolis.org/sobre-las-ventajas-de-la-virtualizacion

http://www.itcio.es/virtualizacion-centro-datos/informes/1005208011402/ventajas-inconvenientes-virtualizacion.1.html

http://www.techweek.es/virtualizacion/tech-labs/1003109005901/ventajas-desventajas-virtualizacion.1.html

Virtualización - Wikipedia, la enciclopedia libre

Virtualización con VMware: optimice los recursos de TI con la tecnología virtual

Virtualización, cloud computing e informática unificada, el trío de ases del CIO

VMware: ventajas de la virtualización, aumento de la eficien

http://www.itcio.es/virtualizacion-centro-datos/informes/1005208011402/ventajas-inconvenientes-virtualizacion.1.html

http://www.thestandard.com/article/0,1902,5466,00.html

http://www.sellsbrothers.com/writing/intro2tapi/default.aspx?content=pstn.htm

http://www.ebizq.net/blogs/saasweek/2008/03/distinguishing_cloud_computing/.

http://mirror.switch.ch/ftp/doc/ietf/ipatm/atm-minutes-93jul.txt.

http://www.businessweek.com/magazine/content/06_46/b4009001.htms' Risky Bet.

http://itknowledgeexchange.techtarget.com/cloud-computing/2010/06/17/amazons-early-efforts-at-cloud-computing-partly-accidental/

http://www.wired.com/wired/archive/14.10/cloudware.html

http://www.apetigu.es/upload/Computacion_en_Nube-AnyHelp.pdf



[29] B. Rochwerger, J. Caceres, R.S. Montero, D. Breitgand, E. Elmroth, A. Galis, E. Levy, I.M. Llorente, K. Nagin, Y. Wolfsthal, E. Elmroth, J. Caceres, M. Ben-Yehuda, W. Emmerich, F. Galan. "The RESERVOIR Model and Architecture for Open Federated Cloud Computing", IBM Journal of Research and Development, Vol. 53, No. 4. (2009)