
[29/07/2022] La computación en la nube es una abstracción de la infraestructura de computación, almacenamiento y red montada como una plataforma en la que las aplicaciones y los sistemas pueden desplegarse rápidamente y ampliarse sobre la marcha. El autoservicio es crucial para la computación en nube: Los usuarios pueden simplemente rellenar un formulario web y ponerse en marcha.
La gran mayoría de los clientes de la nube consumen servicios de computación en nube pública a través de Internet, que se alojan en grandes centros de datos remotos mantenidos por los proveedores de la nube. El tipo más común de computación en nube, el SaaS (software como servicio), ofrece aplicaciones preconstruidas a los navegadores de los clientes que pagan por asiento o por uso, ejemplificado por aplicaciones tan populares como Salesforce, Google Docs o Microsoft Teams. Le sigue el IaaS (infraestructura como servicio), que ofrece una amplia infraestructura virtualizada de computación, almacenamiento y red sobre la que los clientes construyen sus propias aplicaciones, a menudo con la ayuda de los servicios accesibles por APIs de los proveedores.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Cuando la gente dice casualmente "la nube", suele referirse a los grandes proveedores de IaaS: AWS (Amazon Web Services), Google Cloud o Microsoft Azure. Los tres se han convertido en gigantescos ecosistemas de servicios que van mucho más allá de la infraestructura: herramientas para desarrolladores, computación sin servidor, servicios de aprendizaje automático y APIs, almacenes de datos y miles de otros servicios. Tanto con SaaS como con IaaS, un beneficio clave es la agilidad. Los clientes adquieren nuevas capacidades casi instantáneamente sin inversión de capital en hardware o software, y pueden aumentar o reducir instantáneamente los recursos de la nube que consumen según sea necesario.
Definiciones de computación en nube para cada tipo
Ya en el 2011, el NIST publicó un PDF que dividía la computación en nube en tres "modelos de servicio": SaaS, IaaS y PaaS (plataforma como servicio): este último, un entorno controlado en el que los clientes desarrollan y ejecutan aplicaciones. Estas tres categorías han resistido en gran medida el paso del tiempo, aunque la mayoría de las soluciones PaaS se ofrecen ahora como servicios dentro de los ecosistemas IaaS, en lugar de presentarse como nubes propias.
Dos tendencias evolutivas destacan desde la triple definición del NIST. Una es la larga y creciente lista de subcategorías dentro de SaaS, IaaS y PaaS, algunas de las cuales desdibujan las líneas entre categorías. La otra es la explosión de servicios accesibles mediante APIs disponibles en la nube, especialmente dentro de los ecosistemas IaaS. La nube se ha convertido en un crisol de innovación en el que muchas tecnologías emergentes aparecen primero como servicios, un gran atractivo para los clientes empresariales que comprenden las posibles ventajas competitivas de una adopción temprana.
Definición de SaaS (software como servicio): Este tipo de computación en nube ofrece aplicaciones a través de Internet, normalmente con una interfaz de usuario basada en un navegador. Hoy en día, la gran mayoría de las empresas de software ofrecen sus productos a través de SaaS, si no exclusivamente, al menos como una opción.
Las aplicaciones SaaS más populares para las empresas pueden encontrarse en G Suite de Google y Office 365 de Microsoft; la mayoría de las aplicaciones empresariales, incluidas las gigantescas suites ERP de Oracle y SAP, vienen en versiones SaaS y on-prem. Las aplicaciones SaaS suelen ofrecer amplias opciones de configuración, así como entornos de desarrollo que permiten a los clientes codificar sus propias modificaciones y adiciones. También permiten la integración de los datos con las aplicaciones locales.
Definición de IaaS (infraestructura como servicio): En un nivel básico, los proveedores de la nube IaaS ofrecen computación, almacenamiento y redes virtualizadas a través de Internet sobre una base de pago por uso. Piense en ello como un centro de datos mantenido por otra persona, a distancia, pero con una capa de software que virtualiza todos esos recursos y automatiza la capacidad de los clientes para asignarlos sin apenas problemas.
Pero eso es solo lo básico. La gama completa de servicios que ofrecen los principales proveedores públicos de IaaS es asombrosa: bases de datos altamente escalables, redes privadas virtuales, análisis de big data, herramientas para desarrolladores, aprendizaje automático, monitorización de aplicaciones, etc. Amazon Web Services fue el primer proveedor de IaaS y sigue siendo el líder, seguido de Microsoft Azure, Google Cloud Platform, Alibaba Cloud e IBM Cloud.
Definición de PaaS (plataforma como servicio): PaaS proporciona conjuntos de servicios y flujos de trabajo que se dirigen específicamente a los desarrolladores, que pueden utilizar herramientas, procesos y APIs compartidos para acelerar el desarrollo, las pruebas y el despliegue de las aplicaciones. Heroku de Salesforce y Salesforce Platform (antes Force.com) son ofertas populares de PaaS de nube pública; Cloud Foundry y OpenShift de Red Hat pueden desplegarse en las instalaciones o acceder a través de las principales nubes públicas. Para las empresas, PaaS puede garantizar que los desarrolladores tengan acceso a los recursos, sigan ciertos procesos y utilicen solo una serie de servicios específicos, mientras que los operadores mantienen la infraestructura subyacente.
Definición de FaaS (función como servicio): FaaS, la versión en la nube de la computación sin servidor, añade otra capa de abstracción a PaaS, de modo que los desarrolladores están completamente aislados de todo lo que hay en la pila por debajo de su código. En lugar de juguetear con servidores virtuales, contenedores y tiempos de ejecución de aplicaciones, los desarrolladores suben bloques de código estrechamente funcionales y los configuran para que se activen por un determinado evento (como el envío de un formulario o la carga de un archivo). Todas las principales nubes ofrecen FaaS sobre IaaS: AWS Lambda, Azure Functions, Google Cloud Functions e IBM Cloud Functions. Una ventaja especial de las aplicaciones FaaS es que no consumen recursos de IaaS hasta que se produce un evento, lo que reduce las tarifas de pago por uso.
Definición de nube privada: Una nube privada reduce las tecnologías utilizadas para ejecutar nubes públicas IaaS en un software que puede ser desplegado y operado en el centro de datos de un cliente. Al igual que con una nube pública, los clientes internos pueden aprovisionar sus propios recursos virtuales para crear, probar y ejecutar aplicaciones, con medición para cobrar a los departamentos por el consumo de recursos. Para los administradores, la nube privada supone lo último en automatización de centros de datos, minimizando el aprovisionamiento y la gestión manual. VMware proporciona el software de nube privada comercial más popular, mientras que OpenStack es el líder de código abierto.
Sin embargo, hay que tener en cuenta que la nube privada no se ajusta totalmente a la definición de computación en nube. La computación en nube es un servicio. Una nube privada exige que una organización construya y mantenga su propia infraestructura de nube subyacente; sólo los usuarios internos de una nube privada la experimentan como un servicio de computación en nube.
Definición de nube híbrida: Una nube híbrida es la integración de una nube privada con una nube pública. En su versión más desarrollada, la nube híbrida implica la creación de entornos paralelos en los que las aplicaciones pueden moverse fácilmente entre las nubes privadas y las públicas. En otros casos, las bases de datos pueden permanecer en el centro de datos del cliente e integrarse con las aplicaciones de la nube pública, o las cargas de trabajo del centro de datos virtualizado pueden replicarse en la nube durante los momentos de mayor demanda. Los tipos de integración entre la nube privada y la pública varían mucho, pero deben ser amplios para obtener la designación de nube híbrida.
Definición de las APIs públicas (interfaces de programación de aplicaciones): Al igual que SaaS ofrece aplicaciones a los usuarios a través de Internet, las APIs públicas ofrecen a los desarrolladores funcionalidades de aplicaciones a las que se puede acceder mediante programación. Por ejemplo, al crear aplicaciones web, los desarrolladores suelen recurrir a la API de Google Maps para proporcionar direcciones de conducción; para integrarse con las redes sociales, los desarrolladores pueden recurrir a las API mantenidas por Twitter, Facebook o LinkedIn. Twilio ha creado un exitoso negocio de prestación de servicios de telefonía y mensajería a través de APIs públicas. En última instancia, cualquier empresa puede proporcionar sus propias APIs públicas para permitir a los clientes consumir datos o acceder a la funcionalidad de las aplicaciones.
Definición de iPaaS (plataforma de integración como servicio): La integración de datos es una cuestión clave para cualquier empresa de tamaño considerable, pero sobre todo para las que adoptan el SaaS a escala. Los proveedores de iPaaS suelen ofrecer conectores preconstruidos para compartir datos entre las aplicaciones SaaS más populares y las aplicaciones empresariales locales, aunque los proveedores pueden centrarse más o menos en las integraciones de empresa a empresa y de comercio electrónico, en las integraciones en la nube o en las integraciones tradicionales de estilo SOA. Las ofertas de iPaaS en la nube de proveedores como Dell Boomi, Informatica, MuleSoft y SnapLogic también permiten a los usuarios implementar mapeos de datos, transformaciones y flujos de trabajo como parte del proceso de creación de la integración.
Definición de IDaaS (identidad como servicio): El problema de seguridad más difícil relacionado con la computación en nube, es la gestión de la identidad de los usuarios y sus derechos y permisos asociados en los centros de datos privados y en los sitios de la nube pública. Los proveedores de IDaaS mantienen perfiles de usuario basados en la nube que autentican a los usuarios y permiten el acceso a los recursos o aplicaciones en función de las políticas de seguridad, los grupos de usuarios y los privilegios individuales. La capacidad de integrarse con varios servicios de directorio (Active Directory, LDAP, etc.) y proporcionar un inicio de sesión único en las aplicaciones SaaS orientadas a la empresa es esencial. Okta es el líder indiscutible en IDaaS basado en la nube; CA, Centrify, IBM, Microsoft, Oracle y Ping ofrecen soluciones tanto locales como en la nube.
Plataformas de colaboración: Las soluciones de colaboración como Slack y Microsoft Teams se han convertido en plataformas de mensajería vitales que permiten a los grupos comunicarse y trabajar juntos de forma eficaz. Básicamente, estas soluciones son aplicaciones SaaS relativamente sencillas que admiten la mensajería tipo chat, junto con el intercambio de archivos y la comunicación de audio o video. La mayoría ofrecen APIs para facilitar la integración con otros sistemas y permiten a los desarrolladores de terceros crear y compartir complementos que aumentan la funcionalidad.
Nubes verticales: Los principales proveedores de sectores como los servicios financieros, la sanidad, el comercio minorista, las ciencias de la vida y la fabricación ofrecen nubes PaaS para que los clientes puedan crear aplicaciones verticales que aprovechen los servicios específicos del sector, accesibles mediante APIs. Las nubes verticales pueden reducir drásticamente el tiempo de comercialización de las aplicaciones verticales y acelerar las integraciones B2B específicas del sector. La mayoría de las nubes verticales se construyen con la intención de alimentar ecosistemas de socios.
Otras consideraciones sobre la computación en nube
La definición más aceptada de computación en nube significa que usted ejecuta sus cargas de trabajo en los servidores de otra persona, pero esto no es lo mismo que la subcontratación. Los recursos virtuales de la nube e incluso las aplicaciones SaaS deben ser configurados y mantenidos por el cliente. Tenga en cuenta estos factores a la hora de planificar una iniciativa en la nube.
Consideraciones de seguridad en la computación en nube: Las objeciones a la nube pública suelen empezar por la seguridad de la misma, aunque las principales nubes públicas han demostrado ser mucho menos susceptibles de sufrir ataques que el centro de datos empresarial medio.
Más preocupante es la integración de la política de seguridad y la gestión de identidades entre los clientes y los proveedores de nubes públicas. Además, la normativa gubernamental puede prohibir a los clientes que permitan que los datos sensibles salgan de las instalaciones. Otras preocupaciones son el riesgo de interrupciones y los costes operativos a largo plazo de los servicios de nube pública.
Consideraciones sobre la gestión de nubes múltiples: El listón para calificar como adoptante de la multicloud es bajo: Un cliente solo tiene que utilizar más de un servicio de nube pública. Sin embargo, dependiendo del número y la variedad de servicios en la nube, la gestión de varias nubes puede resultar bastante compleja, tanto desde el punto de vista de la optimización de costos como de la tecnología.
En algunos casos, los clientes se suscriben a varios servicios en la nube simplemente para evitar la dependencia de un único proveedor. Un enfoque más sofisticado consiste en seleccionar nubes públicas en función de los servicios únicos que ofrecen y, en algunos casos, integrarlas. Por ejemplo, los desarrolladores pueden querer utilizar el servicio de aprendizaje automático TensorFlow de Google en Google Cloud Platform para crear aplicaciones basadas en la IA, pero prefieren Jenkins alojado en la plataforma CloudBees para la integración continua.
Para controlar los costos y reducir la sobrecarga de gestión, algunos clientes optan por las plataformas de gestión de la nube (CMP) y/o los agentes de servicios en la nube (CSB), que permiten gestionar varias nubes como si fueran una sola. El problema es que estas soluciones tienden a limitar a los clientes a servicios tan comunes como el almacenamiento y la computación, ignorando la panoplia de servicios que hacen que cada nube sea única.
Consideraciones sobre la computación de borde: A menudo se describe la computación de borde como una alternativa a la computación en nube. Pero no lo es. La computación de borde consiste en trasladar la computación a dispositivos locales en un sistema altamente distribuido, normalmente como una capa alrededor de un núcleo de computación en nube. Suele haber una nube implicada para orquestar todos los dispositivos y recibir sus datos, para luego analizarlos o actuar sobre ellos.
Beneficios de la computación en la nube
El principal atractivo de la nube es reducir el tiempo de comercialización de las aplicaciones que necesitan escalar dinámicamente. Sin embargo, los desarrolladores se sienten cada vez más atraídos por la nube debido a la abundancia de nuevos servicios avanzados que pueden incorporarse a las aplicaciones, desde el aprendizaje automático hasta la conectividad de la Internet de las cosas (IoT).
Aunque las empresas a veces migran las aplicaciones heredadas a la nube para reducir las necesidades de recursos del centro de datos, los verdaderos beneficios se acumulan en las nuevas aplicaciones que aprovechan los servicios de la nube y los atributos "nativos de la nube". Estos últimos incluyen la arquitectura de microservicios, los contenedores de Linux para mejorar la portabilidad de las aplicaciones y las soluciones de gestión de contenedores como Kubernetes que orquestan los servicios basados en contenedores. Los enfoques y soluciones nativos de la nube pueden formar parte de nubes públicas o privadas, y ayudan a permitir flujos de trabajo de estilo devops altamente eficientes.
La computación en la nube, pública o privada o híbrida o multicloud, se ha convertido en la plataforma preferida para las grandes aplicaciones, especialmente las orientadas al cliente que necesitan cambiar con frecuencia o escalar dinámicamente. Más significativamente, las principales nubes públicas lideran ahora el desarrollo de la tecnología empresarial, estrenando nuevos avances antes de que aparezcan en cualquier otro lugar. Carga de trabajo por carga de trabajo, las empresas están optando por la nube, donde un desfile interminable de nuevas y emocionantes tecnologías invitan a un uso innovador.
El SaaS tiene sus raíces en la tendencia de los ASP (proveedores de servicios de aplicaciones) de principios de la década del 2000, cuando los proveedores ejecutaban aplicaciones para clientes empresariales en el centro de datos del proveedor, con instancias dedicadas a cada cliente. El modelo ASP fue un fracaso estrepitoso porque rápidamente se hizo imposible que los proveedores mantuvieran tantas instancias separadas, especialmente cuando los clientes exigían personalizaciones y actualizaciones.
Salesforce está considerada como la primera empresa que lanzó una aplicación SaaS de gran éxito utilizando la multitenencia, una característica que define el modelo SaaS. En lugar de que cada cliente obtenga su propia instancia de la aplicación, los clientes que se suscriben al software de automatización de Salesforce comparten una única instancia de la aplicación, de gran tamaño y escalada dinámicamente (como los inquilinos que comparten un edificio de apartamentos), al tiempo que almacenan sus datos en repositorios separados y seguros en los servidores del proveedor de SaaS. Las correcciones pueden implementarse entre bastidores sin tiempo de inactividad y los clientes pueden recibir mejoras de UX o funcionalidad a medida que estén disponibles.
Basado en el artículo de Eric Knorr (InfoWorld) y editado por CIO Perú