Evolución de la informática en la nube
- 12 minutos
El concepto de la informática en la nube apareció por primera vez durante los primeros años de la década de 1950, cuando varios académicos, como Herb Grosch, John McCarthy y Douglas Parkhill[1] , imaginaron la informática como un servicio público similar a la energía eléctrica. En las décadas siguientes, varias tecnologías emergentes sentaron las bases para la informática en la nube (figura 1.3). En años más recientes, el crecimiento rápido de la World Wide Web y el surgimiento de los gigantes de Internet, como Microsoft, Google y Amazon, finalmente llevaron a la creación de un entorno económico y empresarial que permitió el desarrollo del modelo de informática en la nube.
Figura 1.3: evolución de la informática en la nube.
Evolución de la informática
Desde la década de 1960, algunas de las primeras formas de equipos que usaban las organizaciones eran sistemas centrales. Varios usuarios podían compartir y conectarse a los sistemas centrales a través de conexiones en serie básicas mediante terminales. El sistema central era responsable de toda la lógica, el almacenamiento y el procesamiento de los datos, y los terminales conectados tenían una capacidad de cálculo casi nula. El uso de estos sistemas fue generalizado durante más de 30 años y, hasta cierto punto, siguen existiendo en la actualidad.
Con el surgimiento de la informática personal, los procesadores y la memoria más baratos, más pequeños y más eficaces produjeron un cambio en la dirección opuesta, en el que los usuarios ejecutaban su propio software y datos almacenados localmente. A su vez, esta situación generó problemas de uso compartido de datos y reglas ineficaces para mantener el orden dentro del entorno de TI de una organización.
Gradualmente, a través del desarrollo de tecnologías de red de alta velocidad, aparecieron las redes de área local (LAN) que permitieron que los equipos pudieran conectarse y comunicarse entre sí. Los proveedores diseñaron sistemas que podían encapsular las ventajas de los equipos personales y los sistemas centrales, lo que dio lugar a aplicaciones cliente-servidor que se popularizaron a través de redes LAN. Por lo general, los clientes ejecutaban software cliente (y procesan algunos datos) o un terminal (para aplicaciones heredadas) que se conectaban a un servidor. En el modelo cliente-servidor, el servidor proporcionaba la lógica de datos, almacenamiento y aplicación.
A la larga, en la década de 1990, la era de la información global surgió con la adopción rápida de Internet. El ancho de banda de red mejoró en muchos órdenes de magnitud, desde el acceso telefónico normal a la conectividad de fibra dedicada de la actualidad. Además, apareció hardware más económico y más eficaz. Asimismo, la evolución de los sitios web dinámicos y la World Wide Web necesitaban arquitecturas de varios niveles.
Las arquitecturas de varios niveles habilitaron la modularización del software mediante la separación de las capas de presentación, lógica y almacenamiento de la aplicación como entidades individuales. Con esta modularización y desacoplamiento, no pasó mucho tiempo antes de que las entidades de software individuales se ejecutaran en servidores físicos distintos (por lo general, debido a diferencias en los requisitos de hardware y software). Esto provocó un aumento de los servidores individuales en las organizaciones; sin embargo, también llevó a una utilización promedio deficiente del hardware del servidor. En 2009, International Data Corporation (IDC) estimó que el servidor x86 promedio tenía una tasa de utilización aproximada entre 5 % y 10 % [2].
En la década de 2000, la tecnología de máquinas virtuales maduró lo suficiente para estar disponible como software comercial. La virtualización permite encapsular todo un servidor como una imagen, la que se puede ejecutar sin problemas en el hardware y permite que varios servidores virtuales se ejecuten de manera simultánea en un solo servidor físico y compartan recursos de hardware. De este modo, la virtualización permite consolidar los servidores lo que, en consecuencia, mejora el uso del sistema.
De manera simultánea, la computación en malla cobró fuerza en la comunidad científica en un esfuerzo por solucionar problemas a gran escala de manera distribuida. Con la computación en malla, los recursos informáticos de varios dominios administrativos trabajan al unísono para un objetivo común. La computación en malla incorporó muchas herramientas de administración de recursos (por ejemplo, programadores y equilibradores de carga) para administrar recursos informáticos a gran escala.
A medida que avanzaban las distintas tecnologías informáticas, también lo hacía la economía de la informática. Incluso durante los primeros días de la informática basada en los sistemas centrales, empresas como IBM ofrecían hospedar y ejecutar equipos y software para varias organizaciones, como bancos y líneas aéreas. En la era de Internet, el hospedaje web de terceros también se popularizó. Sin embargo, con la virtualización, los proveedores tienen una flexibilidad incomparable en lo que respecta a alojar varios clientes en un solo servidor, compartiendo el hardware y los recursos entre ellos.
El desarrollo de estas tecnologías, junto con el modelo económico de la informática de utilidad, es lo que finalmente evolucionó en la informática en la nube.
Tecnologías de habilitación
La informática en la nube tiene varias tecnologías de habilitación (figura 1.4), entre las que se incluyen redes, virtualización y administración de recursos, informática de utilidad, modelos de programación, computación paralela y distribuida y tecnologías de almacenamiento.
Figura 1.4: las tecnologías de habilitación de la informática en la nube.
La aparición de tecnologías de redes omnipresentes de alta velocidad ha contribuido en gran medida a la informática en la nube como un paradigma viable. Las redes modernas permiten que los equipos se comuniquen de una manera rápida y confiable, lo que es importante si se usan servicios de un proveedor de nube. Esto permitió que la experiencia del usuario con el software que se ejecuta en un centro de datos remoto sea comparable con la experiencia del software que se ejecuta en un equipo. El correo web es un ejemplo popular, como el software de productividad Office. Además, la virtualización es clave para habilitar la informática en la nube. La virtualización permite administrar la complejidad de la nube a través de la abstracción y el uso compartido de sus recursos entre los usuarios a través de varias máquinas virtuales. Cada máquina virtual puede ejecutar su propio sistema operativo y los programas de aplicaciones asociados.
Tecnologías como los sistemas de almacenamiento a gran escala, los sistemas de archivos distribuidos y las arquitecturas de bases de datos novedosas son cruciales para administrar y almacenar datos en la nube. La informática de utilidad ofrece numerosas estructuras de carga para la concesión de recursos de proceso. Entre los ejemplos se incluyen el pago por hora de recurso, el pago por rendimiento garantizado y el pago por datos almacenados al mes, etc.
La informática paralela y distribuida permite que las entidades distribuidas ubicadas en equipos conectados en red puedan comunicarse y coordinar sus acciones para resolver determinados problemas, representados como programas paralelos. La escritura de programas paralelos para clústeres distribuidos es intrínsecamente complicada. Para lograr una gran eficiencia y flexibilidad de programación en la nube, se requiere un modelo de programación.
Los modelos de programación para nubes proporcionan a los usuarios la flexibilidad de expresar programas paralelos como unidades de cálculo secuenciales (por ejemplo, funciones como en MapReduce y vértices como en GraphLab). Los sistemas en tiempo de ejecución de estos modelos de programación suelen paralelizar, distribuir y programar las unidades computacionales, administrar la comunicación entre ellas y tolerar los errores.
Referencias
Simson L. Garfinkel (1999). Architects of the Information Society: Thirty-Five Years of the Laboratory for Computer Science at MIT (Arquitectos de la sociedad de la información: treinta y cinco años del laboratorio de informática en MIT). MIT Press.
Michelle Bailey (2009). The Economics of Virtualization: Moving Toward an Application-Based Cost Model (La economía de la virtualización: el paso a un modelo de costos basado en las aplicaciones). Documento técnico de IDC patrocinado por VMware.
Comprobación de conocimientos
Comentarios
¿Le ha resultado útil esta página?
No
¿Necesita ayuda con este tema?
¿Desea intentar usar Ask Learn para aclarar o guiarle a través de este tema?