Computación en la nube
Computación en la nube es un término general para cualquier cosa que implique la prestación de servicios alojados a través de internet. Estos servicios se dividen en tres categorías principales: infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y software como servicio (SaaS).
Una nube puede ser privada o pública. Una nube pública vende servicios a cualquiera en internet. Una nube privada es una red propia o un centro de datos que suministra servicios alojados a un número limitado de personas, con determinadas configuraciones de acceso y permisos. Privada o pública, el objetivo de la computación en la nube es proporcionar un acceso fácil y escalable a recursos informáticos y servicios de TI.
La infraestructura de la nube incluye los componentes de hardware y software necesarios para la correcta implementación de un modelo de computación en nube. La computación en la nube también puede considerarse como computación de servicios o computación bajo demanda.
El nombre de computación en la nube se inspira en el símbolo de la nube que se utiliza a menudo para representar a internet en diagramas y diagramas de flujo.
¿Cómo funciona la computación en la nube?
La computación en la nube funciona permitiendo a los dispositivos de los clientes acceder a los datos a través de internet, desde servidores, bases de datos y computadoras remotos.
Una conexión a la red de internet enlaza el front end (incluye el dispositivo cliente que accede, el navegador, la red y las aplicaciones de software en la nube) con el back end, que consiste en bases de datos, servidores y computadoras). El back end funciona como un repositorio que almacena los datos a los que accede el front end.
Las comunicaciones entre los extremos delantero y trasero son gestionadas por un servidor central. El servidor central se basa en protocolos para facilitar el intercambio de datos. El servidor central utiliza tanto software como middleware para gestionar la conectividad entre los diferentes dispositivos de los clientes y los servidores en la nube. Normalmente, habrá un servidor dedicado para cada aplicación individual.
Ejemplos de computación en la nube
Algunos ejemplos de computación en la nube son:
Google Docs, Microsoft Office 365: Los usuarios pueden acceder a Google Docs y Microsoft Office 365 a través de internet. Los usuarios pueden ser más productivos porque pueden acceder a las presentaciones de trabajo y a las hojas de cálculo almacenadas en la nube en cualquier momento y desde cualquier dispositivo.
Correo electrónico, calendario, Skype y WhatsApp: El correo electrónico, los calendarios, Skype y WhatsApp aprovechan la capacidad de la nube para proporcionar a los usuarios acceso a los datos de forma remota para que puedan acceder a sus datos personales en cualquier dispositivo, cuando y donde quieran.
Zoom: Zoom es una plataforma de software basada en la nube para videoconferencias y audioconferencias que graba las reuniones y las guarda en la nube, permitiendo a los usuarios acceder a ellas en cualquier lugar y en cualquier momento.
AWS Lambda: Lambda permite a los desarrolladores ejecutar código para aplicaciones o servicios de back-end sin tener que aprovisionar o gestionar servidores. El modelo de pago por uso se escala constantemente con una organización para adaptarse a los cambios en tiempo real en el uso de datos y el almacenamiento de datos.
Computación en la nube frente al alojamiento web tradicional
Un servicio en la nube tiene tres características distintas que lo diferencian del alojamiento web tradicional:
- Los usuarios pueden acceder a grandes cantidades de potencia de cómputo bajo demanda. Suele venderse por minutos o por horas.
- Es elástico: un usuario puede tener tanto o tan poco de un servicio como quiera en cualquier momento.
- El servicio está totalmente gestionado por el proveedor (el consumidor no necesita más que una computadora personal y acceso a internet). Las importantes innovaciones en virtualización y computación distribuida, así como la mejora del acceso a internet de alta velocidad, han acelerado el interés por la computación en la nube.
Características de la computación en la nube
Algunas de las principales ventajas de la computación en la nube son:
Aprovisionamiento de autoservicio: Los usuarios finales pueden poner en marcha recursos informáticos para casi cualquier tipo de carga de trabajo bajo demanda. Un usuario final puede aprovisionar capacidades informáticas, como el tiempo de servidor y el almacenamiento en red, eliminando la necesidad tradicional de que los administradores de TI aprovisionen y gestionen los recursos informáticos.
Elasticidad: Las empresas pueden ampliar su capacidad a medida que aumentan las necesidades de computación y reducirla cuando disminuye la demanda. Esto elimina la necesidad de realizar inversiones masivas en infraestructura local, que puede o no permanecer activa.
Pago por uso: Los recursos informáticos se miden a nivel granular, lo que permite a los usuarios pagar solo por los recursos y las cargas de trabajo que utilizan.
Resistencia de la carga de trabajo: Los proveedores de servicios en la nube suelen implementar recursos redundantes para garantizar la resistencia del almacenamiento y mantener en funcionamiento las cargas de trabajo importantes de los usuarios, a menudo en varias regiones del mundo.
Flexibilidad de migración: Las organizaciones pueden trasladar ciertas cargas de trabajo hacia o desde la nube –o a diferentes plataformas en la nube– según lo deseen o de forma automática, para obtener un mayor ahorro de costos o para utilizar nuevos servicios a medida que vayan surgiendo.
Amplio acceso a la red: Un usuario puede acceder a los datos de la nube o subirlos a la misma desde cualquier lugar con conexión a internet y utilizando cualquier dispositivo.
Arrendamiento múltiple y agrupación de recursos: El multiarrendamiento permite a numerosos clientes compartir las mismas infraestructuras físicas o las mismas aplicaciones, pero manteniendo la privacidad y la seguridad sobre sus propios datos. Con la agrupación de recursos, los proveedores de la nube dan servicio a numerosos clientes desde los mismos recursos físicos. Las fuentes de recursos de los proveedores de la nube deben ser muy amplios y lo suficientemente flexibles como para poder dar servicio a las necesidades de múltiples clientes.
Beneficios de la computación en la nube
La computación en la nube presenta varias ventajas atractivas para las empresas y los usuarios finales. Algunas de las principales ventajas de la computación en nube son:
Ahorro de costos: El uso de la infraestructura en la nube puede reducir los costos, ya que las organizaciones no tienen que gastar grandes cantidades de dinero en la compra y mantenimiento de equipos. Esto reduce sus gastos de capital, ya que no tienen que invertir en hardware, instalaciones, servicios públicos o construir grandes centros de datos para dar cabida a sus negocios en crecimiento. Además, las empresas no necesitan grandes equipos de TI para gestionar las operaciones del centro de datos en la nube porque pueden confiar en la experiencia de los equipos de sus proveedores de la nube. La computación en la nube también reduce los costos relacionados con el tiempo de inactividad. Dado que el tiempo de inactividad rara vez ocurre en la computación en la nube, las empresas no tienen que gastar tiempo y dinero para arreglar cualquier problema que pueda estar relacionado con el tiempo de inactividad.
Movilidad: Almacenar la información en la nube significa que los usuarios pueden acceder a ella desde cualquier lugar con cualquier dispositivo con solo una conexión a internet. Esto significa que los usuarios no tienen que llevar consigo unidades USB, un disco duro externo o varios CD para acceder a sus datos. Los usuarios pueden acceder a los datos corporativos a través de smartphones y otros dispositivos móviles, lo que permite a los empleados remotos estar al día con sus compañeros de trabajo y clientes. Los usuarios finales pueden procesar, almacenar, recuperar y recuperar fácilmente los recursos en la nube. Además, los proveedores de la nube proporcionan todas las mejoras y actualizaciones automáticamente, ahorrando tiempo y esfuerzo.
Recuperación ante desastres: Todas las organizaciones se preocupan por la pérdida de datos. Almacenar los datos en la nube garantiza que los usuarios puedan acceder siempre a sus datos aunque sus dispositivos, por ejemplo, computadoras portátiles o teléfonos inteligentes, no funcionen. Con los servicios basados en la nube, las organizaciones pueden recuperar rápidamente sus datos en caso de emergencia, como catástrofes naturales o cortes de energía.
Retos de la computación en la nube
A pesar de las claras ventajas de confiar en los servicios en la nube, la computación en la nube conlleva sus propios retos para los profesionales de TI:
- Seguridad de la nube: A menudo se considera el mayor reto al que se enfrenta la computación en la nube. Al confiar en la nube, las organizaciones corren el riesgo de que se produzcan filtraciones de datos, pirateo de API e interfaces, credenciales comprometidas y problemas de autenticación. Además, existe una falta de transparencia en cuanto a cómo y dónde se maneja la información sensible confiada al proveedor de la nube.
- Gestión de costos: Los planes de suscripción de pago por uso de la nube, junto con la fluctuación de las cargas de trabajo, pueden dificultar la definición y predicción de los costos finales.
- Falta de recursos y conocimientos: Con el rápido avance de las tecnologías de soporte para la nube, las organizaciones se esfuerzan por seguir el ritmo de la creciente demanda de herramientas y empleados con las habilidades y conocimientos adecuados.
- Gobernanza de TI: La computación en la nube puede dificultar la gobernanza de TI, ya que no hay control sobre el aprovisionamiento, el desaprovisionamiento y la gestión de las operaciones de infraestructura. Esto puede dificultar la gestión adecuada de los riesgos, el cumplimiento de las TI y la calidad de los datos.
- Cumplimiento de las leyes del sector: Cuando se transfieren datos del almacenamiento local local al almacenamiento en la nube, puede ser difícil gestionar el cumplimiento de las normas del sector a través de un tercero.
- Gestión de múltiples nubes: Los despliegues de múltiples nubes pueden desunir los esfuerzos para abordar los retos más generales de la computación en la nube.
- Rendimiento: En gran medida está fuera del control de la organización que contrata los servicios en la nube con un proveedor. Las interrupciones pueden interferir con la productividad y perturbar los procesos empresariales si las organizaciones no están preparadas con planes de contingencia.
- Creación de una nube privada: Esta puede ser una tarea desalentadora para los departamentos de TI.
- Migración a la nube: El proceso de trasladar las aplicaciones y otros datos a una infraestructura en la nube suele causar complicaciones. Los proyectos de migración suelen durar más de lo previsto y superar el presupuesto.
- Bloqueo del proveedor: A menudo, cambiar de proveedor de nube puede causar problemas importantes. Esto incluye incompatibilidades técnicas, limitaciones legales e incurrir en costos sustanciales.
Modelos de despliegue de la computación en la nube
Los servicios de nube privada se prestan desde el centro de datos de una empresa a los usuarios internos. Con una nube privada, una organización construye y mantiene su propia infraestructura de nube subyacente. Este modelo ofrece la versatilidad y comodidad de la nube, al tiempo que conserva la gestión, el control y la seguridad comunes a los centros de datos locales. Los usuarios internos pueden o no ser facturados por los servicios a través de la facturación de TI. Entre las tecnologías y los proveedores de nubes privadas más comunes se encuentran VMware y OpenStack.
En el modelo de nube pública, un proveedor de servicios de nube de terceros ofrece el servicio de nube a través de internet. Los servicios de nube pública se venden bajo demanda, normalmente por minutos o por horas, aunque existen compromisos a largo plazo para muchos servicios. Los clientes solo pagan por los ciclos de CPU, el almacenamiento o el ancho de banda que consumen. Los principales proveedores de servicios de nube pública son Amazon Web Services (AWS), Microsoft Azure, IBM y Google Cloud Platform.
Una nube híbrida es una combinación de servicios de nube pública y una nube privada local, con orquestación y automatización entre ambas. Las empresas pueden ejecutar cargas de trabajo de misión crítica o aplicaciones sensibles en la nube privada y utilizar la nube pública para manejar las ráfagas de carga de trabajo o los picos de demanda. El objetivo de una nube híbrida es crear un entorno unificado, automatizado y escalable que aproveche todo lo que puede ofrecer una infraestructura de nube pública, al tiempo que se mantiene el control sobre los datos de misión crítica.
Además, las organizaciones están adoptando cada vez más un modelo de nube múltiple, o el uso de múltiples proveedores de IaaS. Esto permite a las aplicaciones migrar entre diferentes proveedores de nube o incluso operar simultáneamente en dos o más proveedores de nube.
Las organizaciones adoptan la multinube por varias razones. Por ejemplo, pueden hacerlo para minimizar el riesgo de una interrupción del servicio en la nube o para aprovechar los precios más competitivos de un determinado proveedor. La implementación y el desarrollo de aplicaciones en múltiples nubes puede ser un reto debido a las diferencias entre los servicios de los proveedores de nubes y las interfaces de programas de aplicación (API).
Sin embargo, las implantaciones en varias nubes deberían ser más fáciles a medida que los servicios y las API de los proveedores converjan y se estandaricen a través de iniciativas del sector como la Interfaz de Computación en Nube Abierta (Open Cloud Computing Interface).
Una nube comunitaria, compartida por varias organizaciones, apoya a una comunidad concreta que comparte las mismas preocupaciones (por ejemplo, la misma misión, política, requisitos de seguridad y consideraciones de cumplimiento). Una nube comunitaria es gestionada por estas organizaciones o por un proveedor externo y puede estar dentro o fuera de las instalaciones.
Tipos de servicios de computación en la nube
Como se ha mencionado anteriormente, la computación en la nube puede separarse en tres categorías generales de prestación de servicios:
Infraestructura como servicio. Los proveedores de IaaS, como AWS, suministran una instancia de servidor virtual y almacenamiento, así como API que permiten a los usuarios migrar cargas de trabajo a una máquina virtual (VM). Los usuarios tienen una capacidad de almacenamiento asignada y pueden iniciar, detener, acceder y configurar la VM y el almacenamiento como deseen. Los proveedores de IaaS ofrecen instancias pequeñas, medianas, grandes, extragrandes y optimizadas para la memoria o el cálculo, además de permitir la personalización de las instancias, para diversas necesidades de carga de trabajo.
Plataforma como servicio. En el modelo PaaS, los proveedores de la nube alojan herramientas de desarrollo en sus infraestructuras. Los usuarios acceden a estas herramientas a través de internet mediante API, portales web o software de gateway. PaaS se utiliza para el desarrollo de software en general, y muchos proveedores de PaaS alojan el software después de su desarrollo. Entre los proveedores de PaaS más comunes se encuentran Lightning Platform de Salesforce, AWS Elastic Beanstalk y Google App Engine.
Software como servicio. El SaaS es un modelo de distribución que ofrece aplicaciones de software a través de internet; estas aplicaciones suelen denominarse servicios web. Los usuarios pueden acceder a las aplicaciones y servicios SaaS desde cualquier lugar utilizando una computadora o dispositivo móvil que tenga acceso a internet. En el modelo SaaS, los usuarios acceden a aplicaciones de software y bases de datos. Un ejemplo común de aplicación SaaS es Microsoft Office 365 para servicios de productividad y correo electrónico.
Casos de uso de la computación en nube
Los casos de uso más comunes para los servicios de computación en nube son:
- Pruebas y desarrollo: Los entornos preparados y adaptados pueden agilizar los plazos y los hitos.
- Análisis de big data: Los centros de datos remotos a través del almacenamiento en la nube son flexibles y escalables, y pueden proporcionar valiosos conocimientos basados en datos.
- IaaS: Permite a las empresas alojar infraestructuras de TI y acceder a capacidades de computación, almacenamiento y red de forma escalable. Los modelos de suscripción de pago por uso pueden ayudar a las empresas a ahorrar en los costos iniciales de TI.
- PaaS: La plataforma como servicio puede ayudar a las empresas a desarrollar, ejecutar y gestionar aplicaciones de una manera más fácil y flexible, a un costo menor, que mantener una plataforma en las instalaciones. Los servicios PaaS también pueden aumentar la velocidad de desarrollo de las aplicaciones y permiten una programación de mayor nivel.
- Nube híbrida: Las organizaciones tendrán la opción de utilizar la nube apropiada (privada o pública) para diferentes cargas de trabajo y aplicaciones, para optimizar el costo y la eficiencia según las circunstancias.
- Nube múltiple: El uso de varios servicios de nube diferentes de distintos proveedores de nube puede ayudar a los suscriptores a encontrar el servicio de nube que mejor se adapte a las diversas cargas de trabajo con requisitos específicos.
- Almacenamiento: Se pueden almacenar grandes cantidades de datos de forma remota y acceder a ellos fácilmente. Los clientes solo tendrán que pagar por el almacenamiento que realmente utilicen.
- Recuperación de desastres: Ofrece una recuperación más rápida que la tradicional en las instalaciones. Además, se ofrece a un costo menor.
- Copia de seguridad de datos: Las soluciones de copia de seguridad en la nube son generalmente más fáciles de usar. Los usuarios no tienen que preocuparse por la disponibilidad y la capacidad, y el proveedor de la nube gestiona la seguridad de los datos.
Proveedores de computación en la nube
En el mercado de servicios en la nube no faltan proveedores. Los tres mayores proveedores de servicios en la nube pública, que se han establecido como elementos dominantes en el sector, son:
- Amazon Web Services (AWS)
- Google Cloud Platform
- Microsoft Azure
Otros grandes proveedores de servicios en la nube son:
- Apple
- Citrix
- IBM
- Salesforce
- Alibaba
- Oracle Cloud
- VMware
- SAP
- Joyent
- Rackspace
Al considerar un proveedor de servicios en la nube, hay que tener en cuenta ciertas consideraciones. Aunque los servicios en la nube suelen basarse en un modelo de pago por uso, los distintos proveedores suelen tener variaciones en sus planes de precios que hay que tener en cuenta. Además, si el proveedor de la nube va a almacenar datos sensibles, también hay que tener en cuenta la ubicación física de los servidores del proveedor.
Naturalmente, la fiabilidad y la seguridad deben ser las principales prioridades. El acuerdo de nivel de servicio (SLA) de un proveedor debe especificar un nivel de tiempo de actividad del servicio que sea satisfactorio para las necesidades empresariales del cliente. Al considerar los diferentes proveedores de la nube, hay que prestar mucha atención a las tecnologías que se utilizan para proteger la información sensible.
Seguridad de la computación en la nube
La seguridad sigue siendo una preocupación primordial para las empresas que contemplan la adopción de la nube, especialmente la pública. Los proveedores de servicios de nube pública comparten su infraestructura de hardware subyacente entre numerosos clientes, ya que la nube pública es un entorno de múltiples inquilinos. Este entorno exige un aislamiento significativo entre los recursos informáticos lógicos. Al mismo tiempo, el acceso a los recursos informáticos y de almacenamiento de la nube pública está protegido por las credenciales de inicio de sesión de la cuenta.
Muchas organizaciones sujetas a complejas obligaciones reglamentarias y normas de gobernanza todavía dudan en colocar datos o cargas de trabajo en la nube pública por temor a cortes, pérdidas o robos. Sin embargo, esta resistencia está desapareciendo, ya que el aislamiento lógico ha demostrado ser fiable, y la incorporación del cifrado de datos y de diversas herramientas de gestión de la identidad y el acceso han mejorado la seguridad dentro de la nube pública.
Historia de la computación en la nube
La historia y evolución de la computación en nube se remonta a los años 50 y 60.
En los años 50, las empresas empezaron a utilizar grandes computadoras centrales (mainframe), pero era demasiado caro comprar una computadora para cada usuario. Así que, a finales de los 50 y principios de los 60, se desarrolló un proceso llamado tiempo compartido para hacer un uso más eficiente del costoso tiempo del procesador.
El tiempo compartido permitía a los usuarios acceder a numerosas instancias de mainframes informáticos simultáneamente, maximizando la potencia de procesamiento y minimizando el tiempo de inactividad. Esta idea representa el primer uso de los recursos informáticos compartidos, la base de la moderna computación en nube.
Los orígenes del suministro de recursos informáticos mediante una red global se remontan en su mayor parte a 1969, cuando el informático estadounidense J. C. R. Licklider ayudó a crear la Red de la Agencia de Proyectos de Investigación Avanzada, la llamada precursora de internet. El objetivo de Licklider era conectar computadoras de todo el mundo de forma que los usuarios pudieran acceder a programas e información desde cualquier lugar.
En la década de 1970, la computación en nube empezó a tomar una forma más tangible con la introducción de las primeras máquinas virtuales, que permitían a los usuarios ejecutar más de un sistema informático dentro de una única configuración física. La funcionalidad de estas máquinas virtuales condujo al concepto de virtualización, que tuvo una gran influencia en el progreso de la computación en nube.
En los años 70 y 80, Microsoft, Apple e IBM desarrollaron tecnologías que mejoraron el entorno de la nube y avanzaron en el uso del servidor de la nube y el alojamiento de servidores. Después, en 1999, Salesforce se convirtió en la primera empresa en ofrecer aplicaciones empresariales desde un sitio web.
En 2006, Amazon lanzó Amazon Web Services (AWS), proporcionando servicios como la computación y el almacenamiento en la nube. Siguiendo su ejemplo, los demás grandes actores tecnológicos, como Microsoft y Google, lanzaron posteriormente sus propias ofertas en la nube para competir con AWS.
El futuro de la computación en la nube
Más del 30 % de los responsables de la toma de decisiones de TI de las empresas identificaron la nube pública como su principal prioridad en 2019, según el informe "RightScale 2019 State of the CloudReport." Aun así, la adopción de la nube pública por parte de las empresas, especialmente para las aplicaciones de misión crítica, no se ha producido tan rápidamente como muchos expertos habían previsto.
En 2020, sin embargo, es probable que las organizaciones migren las cargas de trabajo de misión crítica a las nubes públicas. Una de las razones de este cambio es que los ejecutivos de negocios, que quieren asegurarse de que sus empresas puedan competir en el nuevo mundo de la transformación digital, están demandando la nube pública.
Los líderes empresariales también están buscando la nube pública para aprovechar su elasticidad, modernizar los sistemas informáticos internos y potenciar las unidades de negocio críticas y sus equipos de DevOps.
Además, los proveedores de la nube, como IBM y VMware, se están concentrando en satisfacer las necesidades de las TI de las empresas, en parte eliminando las barreras a la adopción de la nube pública que hicieron que los responsables de las TI rehuyeran abrazar completamente la nube pública anteriormente.
Por lo general, al contemplar la adopción de la nube, muchas empresas se han centrado principalmente en las nuevas aplicaciones nativas de la nube. No han estado dispuestas a trasladar sus aplicaciones más importantes a la nube pública. Sin embargo, estas empresas están empezando a darse cuenta de que la nube está preparada para la empresa si seleccionan las plataformas de nube adecuadas, es decir, aquellas que tienen un historial de servicio a las necesidades de la empresa.
Tecnologías y servicios en la nube emergentes
Debido a la competencia, los proveedores deben ampliar constantemente sus servicios para diferenciarse. Esto ha llevado a los proveedores públicos de IaaS a ofrecer mucho más que instancias comunes de computación y almacenamiento.
Por ejemplo, la computación sin servidor, o impulsada por eventos, es un servicio en la nube que ejecuta funciones específicas, como el procesamiento de imágenes y las actualizaciones de bases de datos. Los despliegues tradicionales en la nube requieren que los usuarios establezcan una instancia de computación y carguen el código en esa instancia. A continuación, el usuario decide cuánto tiempo va a ejecutar –y pagar– esa instancia.
Con la computación sin servidor, los desarrolladores simplemente crean código, y el proveedor de la nube carga y ejecuta ese código en respuesta a eventos del mundo real, por lo que los usuarios no tienen que preocuparse por el aspecto del servidor o la instancia de la implementación de la nube. Los usuarios solo pagan por el número de transacciones que la función ejecuta. AWS Lambda, Google Cloud Functions y Azure Functions son ejemplos de servicios de computación sin servidor.
La computación en la nube pública también se presta al procesamiento de big data, que exige enormes recursos de computación durante períodos relativamente cortos. Los proveedores de la nube han respondido con servicios de big data, como Google BigQuery para el almacenamiento de datos a gran escala y Microsoft Azure Data Lake Analytics para el procesamiento de enormes conjuntos de datos.
Otra cosecha de tecnologías y servicios en la nube emergentes está relacionada con la inteligencia artificial (IA) y el aprendizaje automático. Estas tecnologías ofrecen una gama de servicios de IA y aprendizaje automático basados en la nube y listos para usar según las necesidades de los clientes. Amazon Machine Learning, Amazon Lex, Amazon Polly, Google Cloud Machine Learning Engine y Google Cloud Speech API son ejemplos de estos servicios.