Antes de la nube

Completado

Ahora que hemos definido qué es la informática en la nube, echemos un vistazo a ejemplos de cómo se utilizó la informática en diferentes dominios, como la informática empresarial, la informática científica y la informática personal antes de la aparición de la informática en la nube.

Ejemplos de dominios y aplicaciones

Informática empresarial: ejemplos de sistemas de información de administración tradicionales incluyen logística y operaciones, planificación de recursos empresariales (ERP), administración de relaciones con el cliente (CRM), productividad de oficinas e inteligencia empresarial (BI). Tales herramientas permitían procesos más optimizados que llevaban a una mayor productividad y a una reducción de los costos en una gran variedad de empresas.

Por ejemplo, el software de CRM permite a las empresas recopilar, almacenar, administrar e interpretar diversos datos sobre los clientes pasados, presentes y futuros. El software CRM ofrece una vista integrada (en tiempo real o casi en tiempo real) de todas las interacciones organizativas con los clientes. Por ejemplo, para una empresa de fabricación, un equipo de ventas podría usar software CRM para programar reuniones, tareas y seguimientos con clientes. Un equipo de marketing podía dirigirse a los clientes con campañas basadas en patrones específicos. Los equipos de facturación pueden realizar el seguimiento de ofertas y facturas. Como tal, se trata de un repositorio centralizado para almacenar esta información. Para habilitar esta funcionalidad, la organización y los equipos de ventas usan una variedad de tecnologías de hardware y software para recopilar los datos que deben almacenarse y analizarse mediante diversos sistemas de base de datos y análisis.

Computación científica: la computación científica utiliza modelos matemáticos y técnicas de análisis implementadas en equipos para intentar resolver problemas científicos. Un ejemplo popular es la simulación informática de fenómenos físicos. Este campo ha interrumpido los métodos experimentales teóricos y de laboratorio tradicionales al permitir a los científicos e ingenieros reconstruir eventos conocidos o predecir situaciones futuras mediante el desarrollo de programas para simular y estudiar diferentes sistemas en diferentes circunstancias. Estas simulaciones suelen requerir un gran número de cálculos que a menudo se ejecutan en superequipos costosos o plataformas informáticas distribuidas.

Informática personal: en informática personal, un usuario ejecuta varias aplicaciones en un equipo de uso general. Estas aplicaciones pueden ser para la productividad de las oficinas, como el procesamiento de texto y las hojas de cálculo; comunicación, como clientes de correo electrónico; o entretenimiento, como videojuegos o archivos multimedia. Normalmente, un usuario informático personal posee, instala y mantiene el software y el hardware utilizados para llevar a cabo estas tareas.

Abordar el escalado

El aumento de la escala informática ha sido un proceso continuo, ya sea al aumentar el número de clientes y eventos para capturar, supervisar y analizar en CRM, o aumentar la precisión de las simulaciones numéricas en la computación científica o el realismo en las aplicaciones de videojuegos. Además, la necesidad de mayor escala ha sido impulsada por el aumento de la adopción de la tecnología por diversos dominios o la expansión de empresas y mercados, así como el aumento continuo del número de usuarios y sus necesidades. Las organizaciones tienen que tener en cuenta el aumento de la escala a medida que planean y presupuestan para la implementación de sus soluciones.

Las organizaciones suelen planear su infraestructura de TI en un proceso denominado planeamiento de capacidad. Durante el proceso de planeamiento de la capacidad, el crecimiento del uso de distintos servicios de TI se mide y se usa como un criterio de referencia para la expansión futura. Las organizaciones tienen que planear con antelación la adquisición, configuración y mantenimiento de servidores, almacenamiento y equipos de red más recientes y mejores. A veces, las organizaciones están limitadas por software, ya que pueden haber adquirido solo un conjunto limitado de licencias y pueden requerir más para expandir la infraestructura para cubrir un mayor conjunto de usuarios.

La forma más básica de escalado se conoce como escalado vertical, en la que los sistemas antiguos se reemplazan por sistemas más recientes y de mejor rendimiento que pueden proporcionar las actualizaciones necesarias al nivel de servicio. En muchos casos, el escalado vertical consiste en actualizar o reemplazar servidores y sistemas de almacenamiento con servidores más recientes, más rápidos o matrices de almacenamiento con una mayor capacidad. Este proceso puede tardar meses en planear y ejecutarse, junto con una ventana en la que el servicio podría experimentar algún tiempo de inactividad.

En ciertos tipos de sistemas, el escalado también se realiza horizontalmente, aumentando la cantidad de recursos dedicados al sistema. Un ejemplo de esto es la informática de alto rendimiento, donde se pueden agregar servidores y almacenamiento adicionales para mejorar el rendimiento del sistema, lo que conduce a un mayor número de cálculos que se pueden realizar por segundo o un aumento de la capacidad de almacenamiento del sistema. Al igual que el escalado vertical, este proceso puede tardar meses en planearse y ejecutarse, con la posibilidad también de tiempos de inactividad.

Dado que las empresas tienen en propiedad y mantienen su equipamiento de TI, a medida que el costo de abordar el escalado ha seguido creciendo, las empresas han identificado otros métodos de reducir el costo. Las grandes empresas consolidaron las necesidades informáticas de diferentes departamentos en un único centro de datos grande en el que consolidaron bienes raíces, energía, refrigeración y redes con el fin de reducir el costo. Por otro lado, las pequeñas y medianas empresas podrían alquilar bienes raíces, red, energía, refrigeración y seguridad física colocando sus equipos de TI en un centro de datos compartido. Esto se conoce normalmente como un servicio de colocalización, adoptado por pequeñas y medianas empresas que no deseaban construir sus propios centros de datos internos. Los servicios de ubicación compartida se siguen adoptando en varios dominios como un enfoque rentable para reducir los gastos operativos.

La escala ha afectado a todos los aspectos de la informática empresarial. Por ejemplo, la escala ha afectado a los sistemas CRM a través del aumento de clientes o a través de la cantidad de información que se almacena y analiza sobre los clientes. La informática empresarial ha abordado la escala a través del escalado vertical y horizontal, así como la consolidación de recursos de TI en centros de datos y colocalización. En informática científica, se han adoptado sistemas paralelos y distribuidos con el fin de escalar verticalmente el tamaño de los problemas y la precisión de sus simulaciones numéricas. Una definición del procesamiento paralelo es el uso de varios equipos homogéneos que comparten el estado y funcionan como un único equipo grande para ejecutar cálculos a gran escala o de alta precisión. La informática distribuida es el uso de varios sistemas informáticos autónomos conectados por una red para dividir un gran problema en subtareas que se ejecutan simultáneamente y se comunican a través de mensajes a través de la red. La comunidad científica ha seguido innovando en estos ámbitos para abordar el escalado. En la informática personal, la escala lo ha afectado a través de un aumento de las demandas de los usuarios que han provocado contenido más enriquecido y diversas aplicaciones. Por lo tanto, los usuarios amplían sus dispositivos informáticos personales para mantenerse al día con estas demandas.

Aumento de los servicios de Internet

A finales de los años 90 se marcó un aumento constante en la adopción de estas aplicaciones informáticas y plataformas entre dominios. Pronto se esperaba que el software no solo fuera funcional, sino también capaz de generar valor e información para los requisitos empresariales y personales. El uso de estas aplicaciones evolucionó hacia la colaboración; las aplicaciones se combinaron y ajustaron para retroalimentarse. La TI ya no era solo un centro de costo para una empresa, sino un origen de innovación y eficiencia.

Compare la informática tradicional y a escala de Internet.

Figura 2: Comparación de la informática a escala de Internet y tradicional

El siglo XX ha sido marcado por una explosión en el volumen y la capacidad de las comunicaciones inalámbricas, la World Wide Web e Internet. Estos cambios han llevado a una sociedad controlada por la red y controlada por datos, donde se simplifica la producción, difusión y acceso a la información digitalizada. Internet se estima que ha creado un marketplace global de miles de millones de usuarios, desde 25 millones en 1994. 1 Este aumento en los datos y las conexiones es valioso para las empresas. Los datos crean valor de varias maneras, incluida la habilitación de la experimentación, la segmentación de poblaciones y la compatibilidad con la toma de decisiones con automatización. 2 Al adoptar tecnologías digitales, se espera que las 10 economías más importantes del mundo aumenten su producción en más de un billón de dólares en 2020.

El número creciente de conexiones habilitadas por Internet también ha impulsado su valor. Los investigadores han planteado la hipótesis de que el valor de una red varía superlinealmente en función del número de usuarios. Por lo tanto, a escala de Internet, obtener y conservar clientes es una prioridad. Esto se hace mediante la creación de servicios confiables y con capacidad de respuesta, y la realización de cambios en función de los patrones de datos observados.

Aumento del número de usuarios de Internet al año.

Figura 3: Aumento del número de usuarios de Internet al año

Aumento de la cantidad de datos almacenados al año.

Figura 4: Aumento de la cantidad de datos almacenados por año5

Algunos ejemplos de sistemas a gran escala en Internet incluyen:

  • Motores de búsqueda que rastrean, almacenan, indexa y buscan grandes conjuntos de datos (de hasta petabyte) de tamaño. Por ejemplo, Google comenzó como un índice web gigante que rastreaba y analizaba el tráfico web una vez cada pocos días y relacionaba estos índices con palabras clave. Ahora, actualiza sus índices casi en tiempo real y es una de las formas más populares de acceder a la información en Internet. Su índice tiene billones de páginas con un tamaño de miles de terabytes. 4
  • Redes sociales como Facebook y LinkedIn que permiten a los usuarios crear relaciones personales y profesionales y construir comunidades basadas en intereses similares. Facebook, por ejemplo, ahora admite más de mil millones de usuarios activos al mes.
  • Servicios minoristas en línea como Amazon que mantienen un inventario global de millones de productos, que se venden a más de 200 millones de clientes, con volúmenes netos de ventas de casi $90 mil millones anualmente.
  • Aplicaciones multimedia enriquecidas y de streaming que permiten a las personas ver y compartir vídeos y otras formas de contenido enriquecido. Un ejemplo de este tipo, YouTube, controla las cargas de 300 minutos de vídeo por segundo.
  • Sistemas de comunicaciones en tiempo real para audio, video y texto, como Skype, que registran más de 50 mil millones de minutos de llamadas al mes.
  • Conjuntos de productividad y colaboración que sirven millones de documentos a muchos usuarios simultáneos, lo que permite actualizaciones persistentes en tiempo real. Por ejemplo, Microsoft 365 afirma que admite a 50 millones de colaboradores activos mensuales.
  • Aplicaciones crm por proveedores como Salesforce que se implementan en más de cien mil organizaciones. Las CRM de gran tamaño ahora proporcionan paneles intuitivos para realizar un seguimiento del estado, el análisis para encontrar a los clientes que generan la mayoría de las empresas y la previsión de ingresos para predecir el crecimiento futuro.
  • Aplicaciones de minería de datos e inteligencia empresarial que analizan el uso de otros servicios (como los anteriores) para encontrar ineficacias y oportunidades de monetización.

Evidentemente, se espera que estos sistemas se encarguen de un gran volumen de usuarios simultáneos. Esto requiere una infraestructura con capacidad para controlar grandes cantidades de tráfico de red, generar datos y almacenar datos de forma segura, todo ello sin retrasos notables. Estos servicios derivan su valor proporcionando un estándar constante y confiable de calidad. También proporcionan interfaces de usuario enriquecidas para dispositivos móviles y exploradores web, lo que hace que sean fáciles de usar pero más difíciles de compilar y mantener.

Este es un resumen de los requisitos de los sistemas a escala de Internet:

  • Ubiquity: accesible desde cualquier lugar en cualquier momento, desde una multitud de dispositivos. Por ejemplo, un comercial espera que su servicio CRM ofrezca actualizaciones oportunas en un dispositivo móvil para que las visitas a los clientes sean más cortas, más rápidas y eficaces. El servicio debe funcionar sin problemas en diversas conexiones de red.
  • Alta disponibilidad: el servicio debe estar permanentemente activo. Los tiempos de actividad se miden en términos de número de nueves. Tres nueves, o 99,9 %, implica que un servicio no estará disponible durante 9 horas al año. Cinco nueves (aproximadamente 6 minutos al año) es un umbral típico para un servicio de alta disponibilidad. Incluso unos pocos minutos de tiempo de inactividad en las aplicaciones comerciales en línea pueden afectar a millones de dólares de ventas.
  • Baja latencia: tiempos de acceso rápidos y dinámicos. Incluso se han mostrado tiempos de carga de página ligeramente más lentos para reducir significativamente el uso de esa página web. Por ejemplo, el aumento de la latencia de búsqueda de 100 ms a 400 ms reduce el número de búsquedas por usuario de 0,8% a 0,6%y el cambio persiste incluso después de que la latencia se reduzca a los niveles originales.
  • Escalabilidad: la capacidad para gestionar una carga variable, normalmente debido a la estacionalidad y la viralidad, lo que genera picos y valles en el tráfico durante largos y cortos períodos de tiempo. En días como "Black Friday" y "Cyber Monday", minoristas como Amazon deben manejar varias veces más el tráfico de la red que en promedio.
  • Rentabilidad: un servicio a escala de Internet requiere mucho más infraestructura que una aplicación tradicional, así como una mejor administración. Una manera de simplificar los costos es facilitar la administración de los servicios y reducir el número de administradores que controlan un servicio. Los servicios más pequeños pueden permitirse tener una relación servicio-administrador baja (por ejemplo, 2:1, lo que significa que un único administrador debe mantener dos servicios). Para mantener la rentabilidad, los servicios como Microsoft Bing deben tener una relación alta entre servicios y administradores (por ejemplo, 2500:1, lo que significa que un único administrador mantiene 2500 servicios). 6
  • Interoperabilidad: muchos de estos servicios se suelen usar conjuntamente y, por tanto, deben proporcionar una interfaz fácil para su reutilización y deben admitir mecanismos estandarizados para importar y exportar datos. Por ejemplo, muchos otros servicios (como Uber) pueden integrar Google Maps dentro de sus productos para proporcionar información simplificada de ubicación y navegación a los usuarios.

Ahora exploraremos algunas de las primeras soluciones a los distintos problemas anteriores. 7 El primer desafío que se debe abordar fue el gran tiempo de ida y vuelta para los servicios web tempranos que se encontraban principalmente en los Estados Unidos. Los primeros mecanismos para tratar los problemas de baja latencia (debido a servidores distantes) y errores en los servidores simplemente se basaban en la redundancia. Una técnica para lograr esto fue mediante el "reflejo" del contenido, en el que las copias de páginas web populares se almacenarían en diferentes ubicaciones de todo el mundo. Esto minimicó la cantidad de carga en el servidor central, redujo la latencia percibida por los usuarios finales y permitió que el tráfico se cambiara a otro servidor en caso de errores. La desventaja de esto fue un aumento de la complejidad para tratar con incoherencias si incluso se modificara una copia de los datos. Por tanto, esta técnica resulta más útil con cargas de trabajo estáticas con mucha actividad de lectura, como el servicio de imágenes, vídeos o música. Debido a la eficacia de esta técnica, la mayoría de los servicios a escala de Internet usan redes de entrega de contenido (CDN) para almacenar cachés globales distribuidas de contenido popular. Por ejemplo, Cable News Network (CNN) ahora mantiene réplicas de sus vídeos en varios servidores "perimetrales" en diferentes ubicaciones de todo el mundo, con publicidad personalizada por ubicación.

Por supuesto, no siempre tenía sentido que distintas empresas compraran docenas de servidores en todo el mundo. A menudo, las eficiencias de costos se ganaron mediante el uso de servicios de hospedaje compartidos. Aquí, los recursos compartidos de un único servidor web se cederían en concesión a varios inquilinos, lo que amortiza el costo del mantenimiento del servidor. Los servicios de hospedaje compartidos podrían ser muy eficaces para los recursos, ya que los recursos podrían sobreaprovisionarse bajo la suposición de que no todos los servicios funcionarían a una capacidad máxima al mismo tiempo. (Un servidor físico sobreaprovisionado es uno en el que la capacidad agregada de todos los inquilinos es mayor que la capacidad real del servidor). La desventaja era que era casi imposible aislar los servicios de los inquilinos de los de sus vecinos. Por lo tanto, un solo servicio sobrecargado o propenso a errores podría afectar negativamente a todos sus vecinos. Otro problema surgió porque los inquilinos podían ser malintencionados y tratar de aprovechar la ventaja de la colocalización para robar datos o denegar el servicio a otros usuarios.

Para contrarrestar esto, los servidores privados virtuales se desarrollaron como variantes del modelo de hospedaje compartido. Un inquilino se proporcionaría con una máquina virtual (VM) en un servidor físico compartido. (Hablamos más sobre las máquinas virtuales y sus propiedades más adelante). Estas máquinas virtuales a menudo se asignaban estáticamente y estaban vinculadas a una sola máquina física, por lo que eran difíciles de escalar y a menudo necesitaban recuperación manual de los errores. Si bien ya no se podían aprovisionar en exceso, tenían un mejor rendimiento y aislamiento de seguridad entre los servicios de ubicación compartida que el simple uso compartido de recursos.

Otro problema de compartir recursos públicos era que exigía almacenar datos privados en una infraestructura de terceros. Algunos de los servicios a escala de Internet descritos anteriormente no podían permitirse perder el control sobre el almacenamiento de datos, ya que cualquier divulgación de los datos privados de sus clientes tendría consecuencias desastrosas. Por lo tanto, estas empresas tenían que crear su propia infraestructura global. Antes de la llegada de la nube pública, estos servicios solo se podían implementar en grandes corporaciones como Google y Amazon. Cada una de estas empresas crearía grandes centros de datos homogéneos en todo el mundo mediante componentes estándar de mercado, donde un centro de datos podría considerarse como una única computadora a escala de almacén (WSC). Un WSC proporcionaba una abstracción sencilla para distribuir las aplicaciones y los datos de forma global, a la vez que se mantiene la propiedad.

Debido a las economías de escala, el uso de un centro de datos podría optimizarse para reducir los costos. Aunque esto todavía no era tan eficaz como compartir recursos públicamente (la nube), estos ordenadores de escala de almacén tenían muchas propiedades deseables que sirvieron como fundamentos para la creación de servicios a escala de internet. La escala de las aplicaciones informáticas pasó de servir a una base fija de usuarios a servir a una población mundial dinámica. Los WSC estandarizados permitieron que las grandes empresas prestaran servicios a un público tan amplio. Una infraestructura ideal combinaría el rendimiento y la confiabilidad de un WSC con el modelo de hospedaje compartido. Esto permitiría incluso a una pequeña empresa desarrollar e iniciar una aplicación competitiva globalmente, sin la elevada sobrecarga de la creación de grandes centros de datos.

Otro enfoque para compartir recursos era la computación en cuadrícula, que permitía el uso compartido de sistemas informáticos autónomos entre instituciones y ubicaciones geográficas. Varias instituciones académicas y científicas colaborarían y agruparían sus recursos hacia un objetivo común. A continuación, cada institución se uniría a una "organización virtual" dedicando un conjunto específico de recursos a través de reglas de uso compartido bien definidas. Los recursos suelen ser heterogéneos y estar poco relacionados, por lo que se necesitan complejas construcciones de programación para unirlos. Las redes estaban orientadas a apoyar la investigación no comercial y proyectos académicos, y se basaban en tecnologías de código abierto ya existentes.

La nube era una sucesora lógica que combinaba muchas de las características de las soluciones anteriores. Por ejemplo, en lugar de que las universidades contribuyan y compartan el acceso a un conjunto de recursos mediante una rejilla, la nube les permite arrendar infraestructura informática que es administrada de manera centralizada por un proveedor de servicios en la nube (CSP). A medida que el proveedor central mantiene un grupo de recursos grande para satisfacer a todos los clientes, la nube facilita la escala y reducción dinámica de la demanda en un breve período de tiempo. Sin embargo, en lugar de estándares abiertos como la cuadrícula, la informática en la nube se basa en protocolos propietarios y necesita que el usuario coloque un determinado nivel de confianza en el CSP.

Más adelante en este módulo, tratamos cómo evolucionó la nube para convertir la informática en una utilidad pública que se puede medir y usar.


Referencias

  1. Proyecto de estadísticas en tiempo real (2015). Estadísticas en directo de Internet
  2. IBM (2017). ¿Qué son los macrodatos?
  3. Google Inc. (2015). Funcionamiento de la búsqueda
  4. Hilbert, Martin y López, Priscila (2011). La capacidad tecnológica del mundo para almacenar, comunicar y calcular información
  5. Hamilton, James R. y otros (2007). Sobre diseñar e implementar servicios de Internet-Scale
  6. Brewer, Eric y otros (2001). Lecciones de servicios a gran escala