Casos de uso sin servidor: cómo las empresas están utilizando la tecnología para permitir que los desarrolladores innoven

Aprendizaje informático para empleados de nivel inicial

Sin servidor o computación sin servidor, es un enfoque para el desarrollo de software que permite a los desarrolladores crear y ejecutar código de aplicaciones sin tener que preocuparse por tareas de mantenimiento como la instalación de actualizaciones de software, seguridad, monitoreo y más. Con el auge de la computación en la nube, la tecnología sin servidor se ha convertido en una herramienta popular para las organizaciones que buscan dar a los desarrolladores más tiempo para escribir y desplegar código.

A pesar de su nombre, un marco sin servidor no significa computación sin servidores. En una arquitectura sin servidor, un proveedor de servicios en la nube (CSP) maneja tareas como administración de servidores, infraestructura backend, aprovisionamiento de servidores, creación de copias de seguridad y más. Otra ventaja de las tecnologías sin servidor es que permiten a los proveedores de la nube aprovisionar recursos en un modelo bajo demanda. Con la tecnología sin servidor, la facturación solo comienza cuando comienza la ejecución del código y finaliza cuando finaliza.

Beneficios empresariales de los servicios sin servidor

Con el crecimiento de la computación en la nube, las personas y las empresas necesitan utilizar y almacenar los datos de forma diferente a como lo hacían en el pasado. Para lograr esto, las empresas confían más que nunca en las funciones de la nube y reducen su dependencia de la infraestructura on premises. Hoy en día, todos los CSP líderes, incluidos Amazon Web Services (AWS Lambda), Microsoft Azure (Azure Functions) e IBM (IBM Cloud Code Engine) ofrecen plataformas sin servidor.

Junto con otras tecnologías de infraestructura crítica, como tecnología sin servidor (IaaS), tecnología de plataforma como servicio (PaaS) y tecnología de función como servicio (FaaS), la tecnología sin servidor ayuda a las organizaciones de varias maneras importantes:

  • Mayor enfoque en la lógica empresarial: con las funciones sin servidor, los desarrolladores pueden centrarse más en escribir código y menos en administrar la infraestructura subyacente.
  • Implementación de pila reducida: los entornos sin servidor externalizan la implementación de la pila, es decir, las operaciones que se realizan entre bastidores cuando se escribe y despliega un código a un proveedor externo.
  • Latencia reducida: en un entorno sin servidor, el código se ejecuta más cerca del usuario final, disminuyendo su latencia, que es el tiempo que tarda los datos en viajar de un punto a otro en una red.
  • Ciclos de DevOps más cortos: sin servidor simplifica DevOps al permitir a los desarrolladores reducir el tiempo que dedican a definir la infraestructura necesaria para desplegar el código.

¿Cómo funciona sin servidor?

La tecnología sin servidor representa la última de una serie de arquitecturas para entornos de programación que han ido evolucionando para permitir a los programadores centrarse más en lo que mejor saben hacer: escribir y desplegar código. Las otras tres arquitecturas relevantes para el desarrollo de la tecnología sin servidor son los servidores bare metal, las máquinas virtuales (VM) y los contenedores. Aquí hay un vistazo más de cerca a cada paso.

  • Servidores bare metal: la arquitectura bare metal requiere que los desarrolladores configuren y administren cada servidor manualmente (así como el entorno donde despliegan el código). En un entorno bare metal, los desarrolladores deben instalar el sistema operativo (SO) y gestionar los parches, además de otras tareas rutinarias que a menudo requieren mucho tiempo.
  • Máquinas virtuales: las máquinas virtuales (VMs) son mejores que los servidores bare metal en cuanto a la optimización de recursos y también gestionan mejor los tiempos de inactividad. Pero con una VM, los desarrolladores siguen siendo responsables de configurar su propio entorno, instalar su sistema operativo y aplicar parches.
  • Contenedores: popularizados por Docker, los contenedores permiten que el código de despliegue y aplicación se empaquete de manera que se pueda ejecutar en cualquier infraestructura subyacente. En términos de despliegue, los contenedores son una arquitectura mucho más sencilla que el bare metal o las VM, pero no son ideales cuando se trata de escalar aplicaciones web.

Sin servidor y función como servicio (FaaS)

En un entorno sin servidor, la función como servicio (FaaS), un servicio que permite a los clientes ejecutar código en respuesta a eventos, es fundamental para liberar a los desarrolladores de la gestión de la infraestructura subyacente. Con FaaS y la computación sin servidor, los desarrolladores pueden centrarse exclusivamente en el desarrollo de aplicaciones.

Como vimos con bare metal, las VM y los contenedores, alojar una aplicación suele requerir el aprovisionamiento y la administración de un servidor, además de la instalación y administración de un sistema operativo. Con FaaS, el CSP maneja el hardware físico, el SO de la VM y el software del servidor web. FaaS permite a los desarrolladores desplegar aplicaciones y flujos de trabajo sin servidor perfectamente, y los términos FaaS y sin servidor se utilizan a menudo de forma intercambiable.

Sin servidor y plataforma como servicio (PaaS)

La plataforma como servicio (PaaS) es un modelo de computación en la nube que ofrece a los clientes una plataforma en la nube completa que resulta más rentable y menos compleja que crear y mantener una plataforma on premises. Si bien tanto las arquitecturas sin servidor como las PaaS mantienen el backend invisible para los desarrolladores, las similitudes terminan ahí. Los entornos PaaS ofrecen más control sobre los entornos de despliegue, pero también requieren más gestión. Las aplicaciones en PaaS deben configurarse manualmente para escalar y pueden tardar más en activarse que con aplicaciones sin servidor.

Sin servidor e infraestructura como servicio (IaaS)

La infraestructura como servicio (IaaS) es un servicio en la nube que proporciona recursos como computación, servidores y máquinas virtuales a través de Internet con un modelo de pago por uso. IaaS permite a los usuarios escalar rápidamente, reduciendo la necesidad de altos gastos de capital iniciales que conllevan la compra, configuración y mantenimiento de la infraestructura on premises. En un modelo IaaS, los usuarios compran capacidad por adelantado. En un modelo sin servidor, un evento activa la ejecución del código de la aplicación. Esencialmente, IaaS cobra a los usuarios por adelantado los recursos, mientras que sin servidor solo cobra a los usuarios por el tiempo que realmente se estaba ejecutando el código.

Casos de uso empresarial para la tecnología sin servidor

A medida que la computación en la nube continúa expandiéndose y las empresas buscan nuevas formas de aprovechar la tecnología para crear nuevo valor comercial, los casos de uso sin servidor están creciendo rápidamente.

Inteligencia artificial (IA) y machine learning

En los últimos años se ha producido un crecimiento masivo de los casos de uso empresarial de las aplicaciones de inteligencia artificial (IA) y machine learning (ML), especialmente en la IA generativa. En concreto, la tecnología sin servidor ayuda a habilitar lo que se conoce como IA basada en eventos, en la que un flujo constante de inteligencia alimenta las capacidades de toma de decisiones en tiempo real. Además, la tecnología sin servidor puede ayudar a resolver el reto de la escalabilidad cuando se trata de crear nuevas soluciones de IA y ML, ya que permite a los desarrolladores centrarse en el entrenamiento en lugar de en la infraestructura subyacente.

Microservicios

Las arquitecturas de microservicios son uno de los casos de uso más populares para la arquitectura sin servidor. Los modelos de microservicios son un enfoque arquitectónico nativo de la nube en el que una sola aplicación se compone de muchos componentes o servicios más pequeños, ligeramente acoplados y que se pueden implementar de forma independiente. Las capacidades de la computación sin servidor en torno a pequeños bits de código, escalado automático, aprovisionamiento rápido y su modelo de precios bajo demanda la hacen ideal para arquitecturas de microservicios.

Nube híbrida

La nube híbrida combina y unifica la nube públicala nube privada y la infraestructura on premises para crear una infraestructura de TI única, flexible y rentable. Sin servidor ayuda a dar soporte a las empresas que están adoptando una estrategia de nube híbrida al proporcionar la agilidad, flexibilidad y escalabilidad necesarias para acomodar las cargas de trabajo fluctuantes en diferentes entornos de nube, incluidos públicos, privados y periféricos.

Analytics de big data

La tecnología sin servidor reduce drásticamente el costo y la complejidad de escribir y desplegar código para aplicaciones de big data. Los entornos sin servidor permiten a los desarrolladores centrarse en su código y lógica empresarial, en lugar de en todas las tareas rutinarias de gestión de la infraestructura. Además, las capacidades siempre activas de la tecnología sin servidor significan que los pipelines de datos pueden diseñarse de manera que reaccionen a los cambios en tiempo real en los datos y cambien la lógica de la aplicación en consecuencia. Hoy en día, la tecnología sin servidor ayuda a los desarrolladores a crear pipelines de big data escalables sin tener que gestionar la infraestructura subyacente.

Internet de las cosas (IoT)

Las capacidades orientadas a eventos sin servidor, la automatización y la alta escalabilidad lo hacen ideal para el procesamiento de datos que requieren las aplicaciones del Internet de las cosas (IoT). Las funciones automatizadas sin servidor no tienen estado y están diseñadas para manejar eventos individuales. Además, la potencia informática flexible de la tecnología sin servidor permite a los desarrolladores de aplicaciones de IoT adaptarse a una amplia gama de necesidades de conexión y procesamiento de datos cuando trabajan con nodos dispersos. A medida que crece el número de dispositivos IoT, la tecnología sin servidor está en una posición única para ayudar a los desarrolladores a proporcionar bases sólidas para el análisis de datos crítico para las aplicaciones IoT.

API Gateways

Una API gateway es un software que recibe la solicitud de un usuario de la aplicación, la envía a uno o más servicios de backend, recopila los datos adecuados y los entrega al usuario en un único paquete combinado. Los modelos sin servidor se utilizan como proxies para acciones de aplicaciones web y proporcionan enrutamiento de métodos HTTP, ID y secretos de cliente, límites de velocidad, CORS, visualización del uso de API, visualización de registros de respuesta y políticas de uso compartido de API.

En un modelo sin servidor, la puerta de enlace API se puede utilizar para crear servicios API REST y activar el código asociado a cada evento. Los eventos y funciones en un entorno sin servidor se pueden transformar en endpoints HTTP. Estas acciones, conocidas como “acciones web”, se pueden recopilar en una API con todas las funciones con un API gateway que agrega una capa adicional de seguridad y soporte personalizado. Además, las API gateways ofrecen a los desarrolladores la posibilidad de acceder a una variedad de integraciones personalizadas para la autenticación que pueden ayudar a reducir el tiempo de comercialización y complementar la productividad de los desarrolladores.

Chatbots

Los chatbots como IBM watsonx Assistant y ChatGPT de Microsoft son adecuados para entornos sin servidor debido al modelo de precios de pago por uso de sin servidor que no requiere que los usuarios paguen por recursos que no están usando. La tecnología sin servidor ayuda a organizaciones de todos los tamaños a utilizar chatbots para una variedad de tareas, como aumentar la interacción del cliente y automatizar servicios que antes requerían entrada.

Tareas vergonzosamente paralelas

Los tiempos de ejecución sin servidor son muy adecuados para tareas paralelas, que son tareas informáticas que se pueden dividir fácilmente en tareas más pequeñas y realizar en paralelo. Esto se debe a que, en una arquitectura sin servidor, cada tarea paralelizable puede dar lugar a la invocación de una acción. En un entorno sin servidor, las cargas de trabajo vergonzosamente paralelas se pueden dividir en muchas subtareas, todas ejecutándose de forma independiente entre sí. 

Algunos ejemplos de tareas paralelas en un tiempo de ejecución sin servidor incluyen simulaciones Monte Carlo, procesamiento por lotes, transcodificación de video, procesamiento de objetos en almacenamiento de objetos, puntuación de modelos, raspado web y flujos de datos comerciales.

Aprenda más

A medida que organizaciones de todos los tamaños y en una amplia gama de industrias buscan aprovechar la computación en la nube para ayudar a alcanzar sus objetivos de transformación digital, la computación sin servidor está desempeñando un papel fundamental. Al liberar a los desarrolladores de tareas mundanas como instalar y actualizar el sistema operativo, aprovisionar servidores y escalar la infraestructura, los entornos sin servidor ayudan a los desarrolladores a centrarse en la lógica empresarial y en escribir y desplegar código.

 

Autor

Mesh Flinders

Staff Writer

IBM Think

Plano cenital de un hombre sentado en una banca usando un teléfono inteligente

Insights que no puede perderse. Suscríbase a nuestros boletines.

Vaya más allá del despliegue publicitario con las novedades de los expertos en IA, computación cuántica, nube, seguridad y mucho más.

Suscríbase hoy