Programacion en La Nube
Programacion en La Nube
Programacion en La Nube
Introducción
En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece
como servicio,[1] de modo que los usuarios puedan acceder a los servicios disponibles
"en la nube de Internet"[2] sin conocimientos (o, al menos sin ser expertos) en la gestión
de los recursos que usan.[3] 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 temporales de cliente, lo que incluye equipos de escritorio, centros de ocio,
portátiles, etc. Esto se debe a que, pese a que las capacidades de los PC han mejorado
sustancialmente, gran parte de su potencia se desaprovecha, al ser máquinas de
propósito general.[cita requerida]
Comienzos
El concepto de la computación en la nube empezó en proveedores de servicio de
Internet a gran escala, como Google, Amazon AWS 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.[4]
Beneficios
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]
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.
Desventajas
La centralización de las aplicaciones y el almacenamiento de los datos origina una
dependencia de los proveedores de servicios.
La disponibilidad de las aplicaciones están atadas 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.
Capas
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, 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. El
ejemplo de SaaS conocido más ampliamente es Salesforce.com, pero ahora ya hay
muchos más, incluyendo las Google Apps que ofrecen servicios básicos de negocio
como el e-mail. Por supuesto, la aplicación multitenencia de Salesforce.com ha
constituido el mejor ejemplo de cómputo en nube durante unos cuantos años. Por otro
lado, como muchos otros jugadores en el negocio del cómputo en nube, Salesforce.com
ahora opera en más de una capa de la nube con su Force.com, que ya está en servicio, y
que consiste en un ambiente de desarrollo de una aplicación compañera (“companion
application”), o plataforma como un servicio.[6]
Los ejemplos comerciales incluyen Google App Engine, que sirve aplicaciones de la
infraestructura Google. Servicios PaaS tales como éstos permiten gran flexibilidad, pero
puede ser restringida por las capacidades que están disponibles a través del proveedor.
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.[7]
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.
Comparaciones
La computación en nube usualmente es confundida 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 ó cluster enlazado de ordenadores débilmente acoplados,
actuando en concierto para realizar tareas muy grandes)[]