viernes, 8 de diciembre de 2017

SUPERCOMPUTADORES


LOS  SUPERCOMPUTADORES

Una supercomputadora o un superordenador es aquella con capacidades de cálculo muy superiores a las computadoras comunes y de escritorio y que son usadas con fines específicos. Hoy día los términos de supercomputadora y superordenador están siendo reemplazados por computadora de alto rendimiento y ambiente de cómputo de alto rendimiento, ya que las supercomputadoras son un conjunto de poderosos ordenadores unidos entre sí para aumentar su potencia de trabajo y rendimiento. Al año 2011, los superordenadores más rápidos funcionaban en aproximadamente más de 1 petaflops (que en la jerga de la computación significa que realizan más de 1000 billones de operaciones por segundo). La lista de supercomputadoras se encuentra en la lista TOP500.
Historia
Las supercomputadoras fueron introducidas en la década de 1970 y fueron diseñadas principalmente por Seymour Cray en la compañía Control Data Corporation (CDC), la cual dominó el mercado durante esa época, hasta que Cray dejó CDC para formar su propia empresa, Cray Research. Con esta nueva empresa siguió dominando el mercado con sus nuevos diseños, obteniendo el podio más alto en supercómputo durante cinco años consecutivos (1985-1990). En los años ochenta un gran número de empresas competidoras entraron al mercado en paralelo con la creación del mercado de los minicomputadores una década antes, pero muchas de ellas desaparecieron a mediados de los años noventa. El término está en constante flujo. Las supercomputadoras de hoy tienden a convertirse en las computadoras ordinarias del mañana. Las primeras máquinas de CDC fueron simplemente procesadores escalares muy rápidas, y muchos de los nuevos competidores desarrollaron sus propios procesadores escalares a un bajo precio para poder penetrar en el mercado.
De principio a mediados de los años ochenta se vieron máquinas con un modesto número de procesadores vectoriales trabajando en paralelo, lo cual se convirtió en un estándar. El número típico de procesadores estaba en el rango de 4 a 16. En la última parte de los años ochenta y principios de los noventa, la atención cambió de procesadores vectoriales a sistemas de procesadores masivamente paralelos con miles de CPU «ordinarios». En la actualidad, diseños paralelos están basados en microprocesadores de clase servidor que están disponibles actualmente (2011). Ejemplos de tales procesadores son PowerPC, Opteron o Xeon, y la mayoría de los superordenadores modernos son hoy en día clústeres de computadores altamente afinadas usando procesadores comunes combinados con interconexiones especiales.
Hasta ahora el uso y generación de las mismas se ha limitado a organismos militares, gubernamentales, académicos o empresariales.
Estas se usan para tareas de cálculos intensivos, tales como problemas que involucran física cuántica, predicción del clima, investigación de cambio climático, modelado de moléculas, simulaciones físicas tal como la simulación de aviones o automóviles en el viento (también conocido como Computational Fluid Dinamics), simulación de la detonación de armas nucleares e investigación en la fusión nuclear.
Como ejemplo, se encuentra la supercomputadora IBM Roadrunner; científicos de IBM y del laboratorio de Los Álamos trabajaron seis años en la tecnología de la computadora. Algunos elementos de Roadrunner tienen como antecedentes videojuegos populares, de acuerdo con David Turek, vicepresidente del programa de supercomputadoras de IBM. «En cierta forma, se trata de una versión superior de Sony PlayStation 3», indicó. «Tomamos el diseño básico del chip (de PlayStation) y mejoramos su capacidad», informó Turek.
Sin embargo, Roadrunner difícilmente pueda asemejarse a un videojuego. El sistema de interconexión ocupa 557 m² de espacio. Cuenta con 91,7 km de fibra óptica y pesa 226,8 t. La supercomputadora está en el laboratorio de investigaciones de IBM en Poughkeepsie, Nueva York y fue trasladada en julio del 2008 al Laboratorio Nacional Los Álamos, en Nuevo México.[[m{\displaystyle 2}]]
Japón creó la primera supercomputadora petaflops la MDGrape-3, pero solo de propósitos particulares, luego IBM de USA creo la correcaminos, también de 1 petaflops, China la Milky Way One de 1,2 petaflops y Cray de EE.UU. la Jaguar de 1,7 ó 1,8 petaflop, que es al final del año 2009 la más rápida. La supercomputadora más rápida a fines del 2010 era la china Tianhe 1A con máximas de velocidad de 2,5 petaflops.
Sistemas de enfriamiento
Muchas de las CPUs usadas en los supercomputadores de hoy disipan 10 veces más calor que un disco de estufa común . Algunos diseños necesitan enfriar los múltiples CPUs a -85 °C (-185 °F).
Para poder enfriar múltiples CPUs a tales temperaturas requiere de un gran consumo de energía. Por ejemplo, un nuevo supercomputador llamado Aquasar tendrá una velocidad tope de 10 teraflops. Mientras tanto el consumo de energía de un solo rack de este supercomputador consume cerca de 10 kW. Como comparación, un rack del supercomputador Blue Gene L/P consume alrededor de 40 kW.
El consumo promedio de un supercomputador dentro de la lista de los 500 supercomputadores más rápidos del mundo es de alrededor de 257 kW.
Para el supercomputador Aquasar, que será instalado en el Instituto Tecnológico Federal Suizo (ETH), se utilizará un nuevo diseño de enfriamiento líquido. Se necesitarán 10 litros de agua que fluirán a una tasa de 29,5 litros por minuto.
Una de las innovaciones en este diseño es que normalmente los sistemas de enfriamiento aíslan el líquido de la CPU y la transmisión de calor se da a través de convección desde la cubierta metálica de la CPU a través de un adaptador generalmente de cobre u otro material térmicamente conductivo. La innovación consiste en un nuevo diseño en el cual llega el agua directamente a la CPU mediante tubos capilares de manera que la transmisión de calor es más eficiente.
En el caso del ETH en Suiza, el calor extraído del supercomputador será reciclado para calentar habitaciones dentro de la misma universidad.
Características
Las principales son:
·         Velocidad de procesamiento: miles de millones de instrucciones de coma flotante por segundo.
·         Usuarios a la vez: hasta miles, en entorno de redes amplias.
·         Tamaño: requieren instalaciones especiales y aire acondicionado industrial.
·         Dificultad de uso: solo para especialistas.
·         Clientes usuales: grandes centros de investigación.
·         Penetración social: prácticamente nula.
·         Impacto social: muy importante en el ámbito de la investigación, ya que provee cálculos a alta velocidad de procesamiento, permitiendo, por ejemplo, calcular en secuencia el genoma humano, número π, desarrollar cálculos de problemas físicos dejando un margen de error muy bajo, etc.
·         Parques instalados: menos de un millar en todo el mundo.
·         Hardware: Principal funcionamiento operativo
Principales usos
Las supercomputadoras se utilizan para abordar problemas muy complejos o que no pueden realizarse en el mundo físico bien, ya sea porque son peligrosos, involucran cosas increíblemente pequeñas o increíblemente grandes. A continuación, damos algunos ejemplos:
·         Mediante el uso de supercomputadoras, los investigadores modelan el clima pasado y el clima actual y predicen el clima futuro.
·         Los científicos que investigan el espacio exterior y sus propiedades utilizan las supercomputadoras para simular los interiores estelares, simular la evolución estelar de las estrellas (eventos de supernova, colapso de nubes moleculares, etc.), realizar simulaciones cosmológicas y modelar el clima espacial.
·         Los científicos usan supercomputadoras para simular de qué manera un tsunami podría afectar una determinada costa o ciudad.
·         Las supercomputadoras se utilizan para probar la aerodinámica de los más recientes aviones militares.
·         Las supercomputadoras se están utilizando para modelar cómo se doblan las proteínas y cómo ese plegamiento puede afectar a la gente que sufre la enfermedad de Alzheimer, la fibrosis quística y muchos tipos de cáncer.
·         Las supercomputadoras se utilizan para modelar explosiones nucleares, limitando la necesidad de verdaderas pruebas nucleares.
Sistemas operativos
Primeros SO que se utilizaron en los supercomputadores
Las primeras supercomputadoras que hubo en la historia, no disponían de un sistema operativo incorporado, con lo cual cada sede, laboratorio, etc. que utilizaba uno de estos supercomputadores se hacía cargo de tener que desarrollar un SO en concreto y a la medida de su supercomputador. Por ejemplo, el considerado primer supercomputador de la historia, el CDC 6600, utilizó el sistema operativo llamado Chippewa (COS, que también es nombrado como sistema operativo Cray). Este sistema operativo era bastante simple y su característica principal consistía en poder controlar las diferentes tareas del sistema informático, de esta manera se conseguía que las diferentes tareas siempre dispusieran de lo que requerían para llevar a término su fin. A raíz de este sistema operativo surgieron nuevos, como por ejemplo los llamados Kronos, Scope o Nos.
El sistema operativo Kronos fue implantado durante la década de los 70 y su característica principal es que las diferentes tareas puedan acceder al mismo tiempo a algo que requerían varias para llevar a cabo su faena. El sistema operativo Scope (Supervisory Control Of Program Execution) fue utilizado durante la década de los 60, su característica principal es que permite tener controladas todas las tareas del sistema.
El sistema operativo Nos (Network Operating System) se puede decir que fue el que sustituyó a los dos anteriores durante la década de los 70, sus características eran muy similares al de su predecesor Kronos, pero lo que se buscaba concretamente con Nos era tener un sistema operativo común en todas las creaciones de CDC (Control Data Corporation) que había. En la década de los 80, Nos fue sustituido por Nos/Ve (Network Operating System/ Virtual Environment), que a diferencia de su predecesor disponía de una memoria virtual. A finales de la década de los 80 se comenzaron a implantar en los supercomputadoras los llamados sistemas operativos modernos o los que han sido la base de los actuales, los sistemas operativos basados en UNIX. Los primeros fueron los llamados UNICOS, que fueron los que surgieron con fuerza durante esa década.
Evolución del porcentaje de uso de los SO en supercomputadores

Junio 1993
Como se ha mencionado en el punto anterior, los primeros sistemas operativos que tienen incorporados los supercomputadores eran desarrollados a la medida y específicamente para cada uno de ellos, siendo por ejemplo Chippewa, Kronos, Scope o Nos algunos de ellos. Pero a finales de los 80 comienza a haber un cambio significativo y los supercomputadores comienzan a decantarse por los sistemas operativos basados en UNIX como UNICOS. En 1993 se comienzan a hacer la lista de los primeros 500 supercomputadores del mundo y en la que se especifica qué sistemas operativos utilizan cada uno. A partir de esta lista se pudo comenzar a hacer una estimación de la evolución de los sistemas operativos en ellos.
·         Junio 1993
El primer año que se realizó la lista del Top 500, Unix y UNICOS (basado en Unix) eran utilizados por más del 50% de las supercomputadoras, concretamente el 56,4%. Por lo tanto a principios de la década de los 90, se puede decir que los sistemas operativos que predominaban se basan en Unix.
·         Junio 2000
El siguiente año en el que hay un gran cambio es el 2000, porque es cuando Linux, que como veremos más adelante es el SO principal en las supercomputadoras en la actualidad, comienza a hacerse un hueco en el mundo de la supercomputación. En el año 2000 los sistemas basados en Unix siguen dominando, ya que los 5 primeros, AIXSolaris, UNICOS, HP Unix y IRIX se basan en este ocupando simplemente entre ellos el 80,6% del porcentaje total, habiendo aun otros sistemas que en menores porcentajes utilizan también Unix. Como hecho destacable podemos ver que UNICOS que a principios de la década era el dominador ya no lo es y pasa a serlo AIX.
·         Junio 2003
El siguiente año significativo es el 2003, y por un hecho en concreto y es que Linux pasa a colocarse el primero de la lista, aunque los sistemas basados en Unix siguen predominando en el total.
·         Junio 2005




Junio 2015
La siguiente fecha significativa es el año 2005, este año Linux por sí solo ya domina todo el sector de la supercomputación con un 62,4%, con lo cual el cambio de tendencia de sistemas Unix a Linux se ha confirmado. Como información a tener en cuenta, Hans Werner Meuer (profesor de ciencias informáticas en la Universidad de Mannheim, Alemania) encargado de hacer la lista comentó que aunque está seguro del dominio de Linux en el sector de la supercomputación, no se podía asegurar que los datos de la lista fueran 100% fiables y que es más bien una estimación, ya que muchos de los sitios donde se utilizan supercomputadores se negaban a proporcionar la información sobre que SO tenían.
·         Junio 2012
El año 2012 es cuando Linux alcanza su tope hasta el día de hoy con un porcentaje del 83,8%, habiendo además ya otros sistemas que también están basados en Linux.
·         Junio 2015
La última lista hecha del top 500, muestra como los sistemas basados en Linux dominan totalmente el sector de la supercomputación en la actualidad con un 97,2%, concretamente 486 de los 500 supercomputadores lo utilizan. El otro 2,7% restante está conformado básicamente por sistemas UNIX. Como dato interesante, Windows o Mac OStienen un porcentaje prácticamente nulo en el sector de la supercomputación.
Motivo de este cambio, qué SO predomina actualmente y por qué
Ha habido un par de cambios claves en el mundo de los sistemas operativos que se usan en la supercomputación. El primero de ellos fue durante finales de la década de los 80, y fue cuando se pasó de que para cada supercomputadora tuviera que desarrollarse un SO a medida para ella, a aplicar sistemas operativos basados en UNIX. Este cambio fue debido a que llegó un punto en que el coste de desarrollar ese software específico era el mismo que el que se gastaba en hardware, cosa que hacía del todo inviable seguir por ese camino. También gracias a UNIX se podía proporcionar potencia de manera flexible a la supercomputadora, que era muy importante debido a los constantes cambios de las aplicaciones científicas en las que se utilizaban, o el cambio de hardware que había constantemente debido a la evolución de este.
El segundo gran cambio que hubo fue cuando se pasó, aproximadamente sobre el año 2003, de un dominio total de UNIX al dominio total de Linux, que es el SO que predomina en la actualidad. Este cambio fue debido a varios motivos: el primero era la flexibilidad que nos ofrece Linux, ya que este dispone de un kernel abierto con el cual hacer modificaciones y optimizaciones sobre él. Por otra parte, el coste de las licencias de Linux está muy por debajo de otros y en global es más rentable, ya que tiene una comunidad alrededor que ayuda y aporta de forma gratuita.
Linux es el SO predominante en la actualidad debido a varios factores, como por ejemplo que su coste es nulo, que dispone de un kernel genérico, que tiene una gran escalabilidad que le permite adaptarse a grandes cargas fácilmente, que su instalación se basa en pequeños módulos, los cuales cada uno hace una tarea: con esto se consigue que si se modifica uno no afecte a los demás, también su código es abierto lo cual permite que en cualquier momento podamos modificar este ante cualquier cambio que se quiera o surja en la supercomputadora; otro punto es que detrás tiene una gran comunidad que da apoyo, y por último nos permite hacer pruebas de configuración de red sin la necesidad de tener que reiniciar el sistema.


COMPUTO DE NUBE

COMPUTO DE NUBE

La computación en la nube (del inglés cloud computing),1​ conocida también como servicios en la nubeinformática en la nubenube de cómputonube de conceptos o simplemente "la nube", es un paradigma que permite ofrecer servicios de computación a través de una red, que usualmente es Internet.
Introducción
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. Según el IEEE Computer Society, es un paradigma en el que la información se almacena de manera permanente en servidores de Internet y se envía a cachés La computación en la nube son servidores desde Internet encargados de atender las peticiones en cualquier momento. Se puede tener acceso a su información o servicio, mediante una conexión a internet desde cualquier dispositivo móvil o fijo ubicado en cualquier lugar. Sirven a sus usuarios desde varios proveedores de alojamiento repartidos frecuentemente por todo el mundo. Esta medida reduce los costos, garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables a los delincuentes informáticos, a los gobiernos locales y a sus redadas policiales pertenecientes.
Cloud computing es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite incluso al usuario acceder a un catálogo de servicios estandarizados y responder con ellos a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado, o incluso gratuitamente en caso de proveedores que se financian mediante publicidad o de organizaciones sin ánimo de lucro.
El cambio que ofrece la computación desde la nube es que permite aumentar el número de servicios basados en la red. Esto genera beneficios tanto para los proveedores, que pueden ofrecer, de forma más rápida y eficiente, un mayor número de servicios, como para los usuarios que tienen la posibilidad de acceder a ellos, disfrutando de la ‘transparencia’ e inmediatez del sistema y de un modelo de pago por consumo. Así mismo, el consumidor ahorra los costes salariales o los costes en inversión económica (locales, material especializado, etc.).
Computación en nube consigue aportar estas ventajas, apoyándose 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, así como virtualización avanzada y un precio flexible en función del consumo realizado, evitando además el uso fraudulento del software y la piratería.
El concepto de “nube informática” es muy amplio, y abarca casi todos los posibles tipo de servicio en línea, pero cuando las empresas predican ofrecer un utilitario alojado en la Nube , por lo general se refieren a alguna de estas tres modalidades: el software como servicio (por sus siglas en inglés SaaS –Software as a Service-) , Plataforma como Servicio (PaaS) e Infraestructura como Servicio (IaaS).
El software como servicio (SaaS) es un modelo de distribución de software en el que las aplicaciones están alojadas por una compañía o proveedor de servicio y puestas a disposición de los usuarios a través de una red, generalmente la Internet. Plataforma como servicio (PaaS) es un conjunto de utilitarios para abastecer al usuario de sistemas operativos y servicios asociados a través de Internet sin necesidad de descargas o instalación alguna. Infraestructura como Servicio (IaaS) se refiere a la tercerización de los equipos utilizados para apoyar las operaciones, incluido el almacenamiento, hardware, servidores y componentes de red.
El software tiene una desventaja, puede ser hakeado en cualquier momento ya que la información se encuentra en la nube (internet)
Comienzos
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 de 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, rejilla), 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.2
Fundamentos
El concepto fundamental de la entrega de los recursos informáticos a través de una red global tiene sus raíces en los años sesenta. La idea de una "red de computadoras intergaláctica" la introdujo en los años sesenta JCR Licklider, cuya visión era que todo el mundo pudiese estar interconectado y poder acceder a los programas y datos desde cualquier lugar, según Margaret Lewis, directora de mercadotecnia de producto de AMD. "Es una visión que se parece mucho a lo que llamamos cloud computing."
Otros expertos atribuyen el concepto científico de la computación en nube a John McCarthy, quien propuso la idea de la computación como un servicio público, de forma similar a las empresas de servicios que se remontan a los años sesenta. En 1960 dijo: "Algún día la computación podrá ser organizada como un servicio público."3
Desde los años sesenta, la computación en nube se ha desarrollado a lo largo de una serie de líneas. La Web 2.0 es la evolución más reciente. Sin embargo, como Internet no empezó a ofrecer ancho de banda significativo hasta los años noventa, la computación en la nube ha sufrido algo así como un desarrollo tardío. Uno de los primeros hitos de la computación en nube es la llegada de Salesforce.com en 1999, que fue pionero en el concepto de la entrega de aplicaciones empresariales a través de una página web simple. La firma de servicios allanó el camino para que tanto especialistas como empresas tradicionales de software pudiesen publicar sus aplicaciones a través de Internet.
El siguiente desarrollo fue Amazon Web Services en 2002, que prevé un conjunto de servicios basados en la nube, incluyendo almacenamiento, computación e incluso la inteligencia humana a través del Amazon Mechanical Turk. Posteriormente en 2006, Amazon lanzó su Elastic Compute Cloud (EC2) como un servicio comercial que permite a las pequeñas empresas y los particulares alquilar equipos en los que se ejecuten sus propias aplicaciones informáticas.
"Amazon EC2/S3 fue el que ofreció primero servicios de infraestructura en la nube totalmente accesibles”, según Jeremy Allaire, CEO de Brightcove, que proporciona su plataforma SaaS de vídeo en línea a las estaciones de televisión de Reino Unido y periódicos. George Gilder dijo en 2006: "El PC de escritorio está muerto. Bienvenido a la nube de Internet, donde un número enorme de instalaciones en todo el planeta almacenarán todos los datos que usted podrá usar alguna vez en su vida."
Otro hito importante se produjo en 2009, cuando Google y otros empezaron a ofrecer aplicaciones basadas en navegador. "La contribución más importante a la computación en nube ha sido la aparición de 'aplicaciones asesinas' de los gigantes de tecnología como Microsoft y Google. Cuando dichas compañías llevan a cabo sus servicios de una manera que resulta segura y sencilla para el consumidor, el efecto 'pasar la pelota' en sí crea un sentimiento de mayor aceptación de los servicios online”, según Dan Germain, jefe de la oficina de tecnología en IT proveedor de servicios Cobweb Solutions.
Otro de los factores clave que han permitido evolucionar a la computación en la nube han sido, según el pionero en computación en la nube británico Jamie Turner, las tecnologías de virtualización, el desarrollo del universal de alta velocidad de ancho de banda y normas universales de interoperabilidad de software. Turner añadió: "A medida que la computación en nube se extiende, su alcance va más allá de un puñado de usuarios de Google Docs. Solo podemos empezar a imaginar su ámbito de aplicación y alcance. Casi cualquier cosa puede ser utilizado en la nube".
Características
La computación en nube presenta las siguientes características clave:
·         Agilidad: Capacidad de mejora para ofrecer recursos tecnológicos al usuario por parte del proveedor.
·         Costo: los proveedores de computación en la nube afirman que los costos se reducen. Un modelo de prestación pública en la nube convierte los gastos de capital en gastos de funcionamiento. Ello reduce barreras de entrada, ya que la infraestructura se proporciona típicamente por una tercera parte y no tiene que ser adquirida por una sola vez o tareas informáticas intensivas infrecuentes.
·         Escalabilidad y elasticidad: aprovisionamiento de recursos sobre una base de autoservicio casi en tiempo real, sin que los usuarios necesiten cargas de alta duración.
·         Independencia entre el dispositivo y la ubicación: permite a los usuarios acceder a los sistemas utilizando un navegador web, independientemente de su ubicación o del dispositivo que utilice (por ejemplo, PC, teléfono móvil).
·         La tecnología de virtualización permite compartir servidores y dispositivos de almacenamiento y una mayor utilización. Las aplicaciones pueden ser fácilmente migradas de un servidor físico a otro.
·         Rendimiento: Los sistemas en la nube controlan y optimizan el uso de los recursos de manera automática, dicha característica permite un seguimiento, control y notificación del mismo. Esta capacidad aporta transparencia tanto para el consumidor o el proveedor de servicio.
·         Seguridad: puede mejorar debido a la centralización de los datos. La seguridad es a menudo tan buena o mejor que otros sistemas tradicionales, en parte porque los proveedores son capaces de dedicar recursos a la solución de los problemas de seguridad que muchos clientes no pueden permitirse el lujo de abordar. El usuario de la nube es responsable de la seguridad a nivel de aplicación. El proveedor de la nube es responsable de la seguridad física.4
·         Mantenimiento: en el caso de las aplicaciones de computación en la nube, es más sencillo, ya que no necesitan ser instalados en el ordenador de cada usuario y se puede acceder desde diferentes lugares.
Ventajas
Las principales ventajas de la computación en la nube son:
·         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 las 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 completa de pérdida de datos (con copias de seguridad) y reducción al mínimo de los tiempos de inactividad.
·         Una infraestructura 100% de cloud computing permite también al proveedor de contenidos o servicios en la nube prescindir de instalar cualquier tipo de software, ya que este es provisto por el proveedor de la infraestructura o la plataforma en la nube. Un gran beneficio del cloud computing es la 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, ya que se comienza a trabajar más rápido y no es necesaria una gran inversión. Las aplicaciones del cloud computing suelen estar disponibles en cuestión de días u horas en lugar 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. Al actualizar a la última versión de las aplicaciones, el usuario se ve obligado a dedicar tiempo y recursos para volver a personalizar e integrar la aplicación. Con el cloud computing no hay que decidir entre actualizar y conservar el trabajo, dado que 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 solo la necesaria, reduciendo notablemente el desperdicio.
Desventajas
·         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á sujeta a la disponibilidad de acceso a Internet.
·         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.6
·         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 altos niveles de jitter.
Servicios ofrecidos
Software como servicio
El software como servicio (en inglés software as a service, SaaS) se encuentra en la capa más alta y caracteriza una aplicación completa ofrecida como un servicio, por-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. Las aplicaciones que suministran este modelo de servicio son accesibles a través de un navegador web -o de cualquier aplicación diseñada para tal efecto- y el usuario no tiene control sobre ellas, aunque en algunos casos se le permite realizar algunas configuraciones. Esto le elimina la necesidad al cliente de instalar la aplicación en sus propios computadores, evitando asumir los costos de soporte y el mantenimiento de hardware y software.
Plataforma como servicio
La capa del medio, que es la plataforma como servicio (en inglés platform as a service, PaaS), es la encapsulación de una abstracción de un ambiente de desarrollo y el empaquetamiento de una serie de módulos o complementos que proporcionan, normalmente, una funcionalidad horizontal (persistencia de datos, autenticación, mensajería, etc.). De esta forma, un arquetipo de plataforma como servicio podría consistir en un entorno conteniendo una pila básica de sistemas, componentes o APIs preconfiguradas y listas para integrarse sobre una tecnología concreta de desarrollo (por ejemplo, un sistema Linux, un servidor web, y un ambiente de programación como Perl o Ruby). Las ofertas de PaaS pueden dar servicio a todas las fases del ciclo de desarrollo y pruebas del software, o pueden estar especializadas en cualquier área en particular, tal como la administración del contenido.
Ejemplos comerciales son Google App Engine, que sirve aplicaciones de la infraestructura GoogleMicrosoft Azure, una plataforma en la nube que permite el desarrollo y ejecución de aplicaciones codificadas en varios lenguajes y tecnologías como .NETJava y PHP o la Plataforma G, desarrollada en Perl. Servicios PaaS como estos permiten gran flexibilidad, pero puede ser restringida por las capacidades disponibles a través del proveedor.
En este modelo de servicio al usuario se le ofrece la plataforma de desarrollo y las herramientas de programación por lo que puede desarrollar aplicaciones propias y controlar la aplicación, pero no controla la infraestructura.
Ventajas y desventajas
Las ventajas de los PaaS son que permite niveles más altos de programación con una complejidad extremadamente reducida; el desarrollo general de la aplicación puede ser más eficaz, ya que se tiene una infraestructura built-in; y el mantenimiento y mejora de la aplicación es más sencillo7​ También puede ser útil en situaciones en las que varios desarrolladores están trabajando en un mismo proyecto y que implican a partes que no están ubicadas cerca unas de otras.8
Una desventaja de PaaS es que es posible que los desarrolladores no pueden utilizar todas las herramientas convencionales (bases de datos relacionales, con joins irrestrictos, por ejemplo). Otra posible desventaja es estar cerrado en una cierta plataforma. Sin embargo, la mayoría de los PaaS están relativamente libres9
Tipos
Públicos, privados e híbridos[
Existen varios tipos de PaaS, incluyendo públicos, privados e híbridos.10​ Paas fue originalmente pensado para las nubes públicas, antes de expandirse a las privadas e híbridas.10​ Los PaaS públicos son derivados de los Software como servicio (SaaS) y está situado entre SaaS e infraestructura como servicio (IaaS)11
Los PaaS privados son comúnmente descargados e instalados desde una infraestructura local de una empresa, o desde una nube pública. Una vez que el software se instala en una o más máquinas, el PaaS privado organiza la aplicación y los componentes de la base de datos en una sola plataforma para el alojamiento.12​Entre los proveedores de PaaS se encuentran Apprenda, que comenzó en la plataforma Microsoft .NET; OpenShift, de Red Hat y su Cloud Foundry Pivotal.13​ Apprenda y Microsoft eran consideradas las dos únicas PaaS que proveían soporte .NET superior.10​Ahora acompañadas por la anunciada14​ asociación entre Microsoft e IBM15
PaaS híbrido es típicamente un despliegue consistente en una mezcla de despliegues públicos y privados. Un ejemplo aquí es IBM Bluemix16​ que se entrega como una sola plataforma de nube integrada a través de modelos de despliegue público, dedicado y local.
Mobile PaaS
Iniciado en 2012, mobile PaaS (mPaaS) proporciona capacidades de desarrollo para diseñadores y desarrolladores de aplicaciones móviles.17​ El Yankee Group identificó a mPaas como uno de sus temas para 2014, nombrando a varios proveedores incluyendo Kinvey, CloudMine, AnyPresence, FeedHenry, FatFractal y Point.io.1819
PaaS Abierto
PaaS abierto no incluye alojamiento, sino que proporciona software de código abierto que permite a un proveedor PaaS ejecutar aplicaciones en un entorno de código abierto. Por ejemplo, AppScale permite a un usuario desplegar algunas aplicaciones escritas para Google App Engine a sus propios servidores, proporcionando acceso a almacén de datos desde una base de datos SQL o NoSQL estándar. Algunas plataformas abiertas permiten al desarrollador utilizar cualquier lenguaje de programación, base de datos, sistema operativo o servidor para implementar sus aplicaciones.2021
PaaS para el Desarrollo Rápido
En 2014, Forrester Research definió Plataformas empresariales públicas para desarrolladores rápidos como una tendencia emergente, nombrando a varios proveedores incluyendo a Mendix, Salesforce.com, OutSystems y Acquia Acquia.22
Tipos de Sistemas
PaaS se encuentra en los siguientes tipos de sistemas:
Instalaciones de desarrollo complementario
Estas instalaciones permiten la personalización de aplicaciones SaaS existentes, a menudo requieren que los desarrolladores de PaaS y sus usuarios compren suscripciones a la aplicación SaaS complementaria.23
Entornos independientes
Los entornos PaaS independientes no incluyen dependencias técnicas, de licencias o financieras de aplicaciones o servicios web específicos de SaaS, y están diseñados para proporcionar un entorno de desarrollo generalizado.9
Entornos de únicamente entrega de aplicaciones
Los PaaS de únicamente entrega generalmente se enfocan en servicios de hosting, tales como seguridad y escalabilidad bajo demanda. El servicio no incluye capacidades de desarrollo, depuración y prueba, aunque pueden ser suministrados sin conexión (a través de un complemento de Eclipse, por ejemplo).23
Infraestructura como servicio
La infraestructura como servicio (infrastructure as a service, IaaS) -también llamada en algunos casos hardware as a service, HaaS)24​ se encuentra en la capa inferior y es un medio de entregar almacenamiento básico y capacidades de cómputo como servicios estandarizados en la red. Servidores, sistemas de almacenamiento, conexiones, enrutadores, y otros sistemas se concentran (por ejemplo a través de la tecnología de virtualización) para manejar tipos específicos de cargas de trabajo —desde procesamiento en lotes (“batch”) hasta aumento de servidor/almacenamiento durante las cargas pico. El ejemplo comercial mejor conocido es Amazon Web Services, cuyos servicios EC2 y S3 ofrecen cómputo y servicios de almacenamiento esenciales (respectivamente). Otro ejemplo es Joyent, cuyo producto principal es una línea de servidores virtualizados, que proveen una infraestructura en demanda altamente escalable para manejar sitios web, incluidas aplicaciones web complejas escritas en PythonRubyPHP y Java.
Tipos de nubes






Tipos de computación en la nube


·         Una nube pública es una nube computacional mantenida y gestionada por terceras personas no vinculadas con la organización. En este tipo de nubes tanto los datos como los procesos de varios clientes se mezclan en los servidores, sistemas de almacenamiento y otras infraestructuras de la nube. Los usuarios finales de la nube no conocen qué trabajos de otros clientes pueden estar corriendo en el mismo servidor, red, sistemas de almacenamiento, etc.25​ Aplicaciones, almacenamiento y otros recursos están disponibles al público a través del proveedor de servicios, que es propietario de toda la infraestructura en sus centros de datos; el acceso a los servicios solo se ofrece de manera remota, normalmente a través de internet.
Dentro de estas nubes podemos encontrar englobadas las Cloud Privado virtual26​ consideradas como nubes de dominio público pero que mejoran la seguridad de los datos. Estos datos se encriptan a través de la implantación de una VPN. Algunas grandes empresas como Amazon ya permiten aprovisionar una sección de su AWS con esta posibilidad VPC.
·         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 bajo demanda, gestionada para un solo cliente que controla qué aplicaciones debe ejecutarse y dónde. Son propietarios del servidor, red, y disco y pueden decidir qué usuarios están autorizados a utilizar la infraestructura. Al administrar internamente estos servicios, las empresas tienen la ventaja de mantener la privacidad de su información y permitir unificar el acceso a las aplicaciones corporativas de sus usuarios.
·         Las nubes híbridas combinan los modelos de nubes públicas y privadas. Un usuario es propietario de unas partes y comparte otras, aunque de una manera controlada. Las nubes híbridas ofrecen la promesa del escalado, aprovisionada externamente, a 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. Se unen mediante la tecnología, pues permiten enviar datos o aplicaciones entre ellas. Un ejemplo son los sistemas de correo electrónico empresarial.27
·         Nube comunitaria. De acuerdo con Joyanes Aguilar en 2012,28​ el Instituto Nacional de Estándares y Tecnología (NITS, por sus siglas en inglés) define este modelo como aquel que se organiza con la finalidad de servir a una función o propósito común (seguridad, política…), las cuales son administradas por las organizaciones constituyentes o terceras partes.
Comparaciones
La computación en la nube usualmente se confunde con la computación en grid (red) (una forma de computación distribuida por la que "un súper computador virtual" está compuesto de un conjunto o clúster enlazado de ordenadores débilmente acoplados, que funcionan en concierto para realizar tareas muy grandes).29
Controversia
Dado que la computación en nube no permite a los usuarios poseer físicamente los dispositivos de almacenamiento de sus datos (con la excepción de la posibilidad de copiar los datos a un dispositivo de almacenamiento externo, como una unidad flash USB o un disco duro), deja la responsabilidad del almacenamiento de datos y su control en manos del proveedor.
La computación en nube ha sido criticada por limitar la libertad de los usuarios y hacerlos dependientes del proveedor de servicios.30​ Algunos críticos afirman que solo es posible usar las aplicaciones y servicios que el proveedor esté dispuesto a ofrecer. Así, The 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.31
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 estos 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 cada vez más conforme pase el tiempo".32
Aspectos de seguridad
La seguridad en la computación en la nube puede ser tan buena o mejor que la que existía en los sistemas tradicionales, porque los proveedores son capaces de proporcionar recursos que resuelvan problemas de seguridad que muchos clientes no pueden afrontar. Sin embargo, la seguridad todavía sigue siendo un asunto importante, cuando los datos tienen un matiz confidencial. Esto atrasa la adopción de la computación en la nube hasta cierto punto.
Seguridad como servicio
En el entorno de la nube, la seguridad es provista por los proveedores. Se pueden distinguir dos métodos: El primer método, es que cualquiera puede cambiar sus métodos de entrega incluidos en los servicios de la nube. El segundo método es que los proveedores de servicio de la nube proveen seguridad solo como servicio en la nube, con información de seguridad de las compañías.
Seguridad del navegador
En el entorno de la nube, los servidores remotos son usados para la computación. Los nodos del cliente se usan solo para entrada/salida de operaciones, y para la autorización y autenticación de la información en la nube. Un navegador web estándar es una plataforma normalmente utilizada para todos los usuarios del mundo. Esto puede ser catalogado en dos tipos diferentes: Software como servicio (SaaS), Aplicaciones Web, o Web 2.0. Transport Layer Security (TLS), se suele emplear para la encriptación de datos y la autentificación del host.
Autenticación o identificación
En el entorno de la nube, la base para el control de acceso es la autentificación, el control de acceso es más importante que nunca desde que la nube y todos sus datos son accesibles para todo el mundo a través de internet. Trusted Platform Module (TPM) es extensamente utilizado y un sistema de autentificación más fuerte que el nombre de usuario y la contraseña. Trusted Computing Groups (TCG’s) es un estándar sobre la autorización de usuarios y otras herramientas de seguridad de comunicación en tiempo real entre el proveedor y el cliente.
Pérdida de gobernanza
En las infraestructuras de la nube, el cliente necesariamente cede el control al proveedor (cloud provider) en varios asuntos, los cuales influyen negativamente sobre la seguridad. Al mismo tiempo, el acuerdo de nivel de servicio no suele tener el cometido de surtir este tipo de servicios en la parte del proveedor de la nube, lo que deja una brecha en las defensas de seguridad.
Lock-In
Esta es una pequeña oferta en este tipo de herramientas, los procedimientos o estándares de formatos de datos o interfaces de servicios que podrían garantizar los datos, las aplicaciones y el servicio de portabilidad. Esto puede hacer difícil para el cliente migrar de un proveedor a otro, o migrar los datos y servicios de nuevo a otro entorno informático. Esto introduce una particular dependencia en el proveedor de la nube para la provisión del servicio, especialmente a la portabilidad de los datos, el aspecto más fundamental.
Protección de los datos
La computación en la nube pone en riesgo la protección de datos para los usuarios de la nube y sus proveedores. En muchos casos, ocasiona dificultades para el proveedor (en el rol del controlador de la información) para asegurar la efectividad práctica del manejo de los datos del proveedor de la nube y para cerciorar que los datos van por el camino correcto. Este problema se suele agravar en casos de múltiples transferencias de datos, por ejemplo entre sistemas federados. Por otra parte, algunos proveedores de la nube, proporcionan información de sus prácticas de cercenamiento de datos. También hay algunas ofertas de certificaciones en el procesamiento de datos, las actividades de seguridad, y los controles de datos que tienen lugar; ejemplo, la certificación SAS70. Las corrientes de datos de Internet están unidas al malware y de paquetes señuelo para meter al usuario en una desconocida participación en actividades delictivas.
Limitaciones
Algunas limitaciones que están retrasando un poco a la computación en la nube son algunas de las siguientes:
Pérdidas de datos/fuga
Tener datos en la Nube tiene numerosas ventajas pero pueden ser comprometidos de diferentes maneras. Pueden ser modificados o borrados sin un backup, pueden ser desvinculados de su contexto o accedidos por gente no autorizada.
Dificultad de valorar la fiabilidad de los proveedores
Si los proveedores Cloud son parte de nuestra sociedad, visto de manera estadística, alguien de su personal o algún subcontratado podría no ser alguien de fiar. Es por esto que se deben tomar buenos procedimientos de investigación de antecedentes de recursos humanos, políticas y procedimientos de seguridad de la información fuertes.
Fuerza de los mecanismos de autentificación

En la nube, hay muchísimos datos, aplicaciones y recursos almacenados. La computación en la nube es muy débil en los mecanismos de autentificación, por lo tanto el atacante puede fácilmente obtener la cuenta de usuario cliente y acceder a la máquina virtual.33