Alojar un sitio web en un servidor puede ser como comprar una jaula para un nuevo cachorro. Claro, tu cachorro puede caber ahora. Pero en unos meses estarás de vuelta en la tienda de mascotas buscando un tamaño más grande. Dependiendo de qué tan rápido esté creciendo su cachorro, es posible que deba repetir este viaje nuevamente. Y otra vez.
Puede encontrar problemas similares con el servidor que aloja su sitio web. A medida que su sitio crezca, tendrá que pasar más y más tiempo compartiendo, administrando o actualizando su servidor para que su sitio funcione sin problemas. Esto le ahorra menos tiempo en la construcción del código.
¿Qué pasaría si pudiera concentrarse en escribir código y pedirle a otra persona que ejecute la infraestructura operativa de su sitio?
Esta es la idea detrás de las funciones sin servidor.
En esta publicación, repasaremos qué es una función sin servidor, en qué se diferencia de la función como servicio (FaaS) y algunos de los nombres más importantes en el mercado de la arquitectura sin servidor.
¿Qué es una función sin servidor?
Una función sin servidor es una función de software escrita por un programador para un propósito. Luego, las empresas de computación en la nube lo alojan y mantienen en la infraestructura. Estas empresas se encargan del mantenimiento y la ejecución del código para que los desarrolladores puedan implementar código nuevo de forma más rápida y sencilla.
Dado que estas empresas agregan automáticamente capacidad de servidor cuando es necesario y luego la quitan cuando no es necesario, no tiene que preocuparse por mantener y escalar los servidores para que coincidan con las necesidades cambiantes de su sitio web o aplicación. En su lugar, puede concentrarse en crear productos mejores y más nuevos en menos tiempo.
La transición a serverless también puede ser rentable, ya que la mayoría de las plataformas tienen un modelo de pago por uso. Esto significa que solo paga por los recursos del servidor que está utilizando, en lugar de utilizar el costo de los recursos no utilizados al final del ciclo de facturación.
Antes de analizar los principales proveedores de servicios en la nube en el mercado de la arquitectura sin servidor, echemos un vistazo más de cerca a cómo puede aprovechar las funciones sin servidor.
Beneficios de las funciones sin servidor
Muchas plataformas han comenzado a extrapolar piezas más pequeñas de código de back-end y trasladarlas a funciones sin servidor. Esto marca un gran cambio en la comunidad de desarrolladores.
Históricamente las plataformas han sido monolíticas. Esto significa que tenían grandes bases de código unificadas. Esto significaba que cada vez que agregaba una nueva función o incluso arreglaba un error en una línea de código, tenía que implementar toda la plataforma para enviar el nuevo código.
Luego se introdujeron los microservicios. Los microservicios son bloques de código que se ejecutan como servicios individuales más pequeños. Combinados, crean una aplicación integral.
Las funciones sin servidor agregan otra capa de modularidad. Con las características sin servidor, puede desarrollar cualquier nueva funcionalidad o parche de seguridad como una pieza de código completamente aislada con un solo propósito. Todo lo que necesita hacer es cargar su código y decirle a la plataforma cómo compartirlo.
Las capacidades sin servidor no solo hacen que la implementación de código nuevo sea más rápida, sencilla y fácil de automatizar, sino que también reducen en gran medida el potencial de tiempo de inactividad durante la implementación. En resumen, las funciones sin servidor mejoran el rendimiento de las aplicaciones y la experiencia de los desarrolladores y clientes.
Al reconocer el valor no solo para ellos sino también para sus clientes, los sistemas de administración de contenido como Centro CMS para Empresas comenzó a ofrecer funcionalidad sin servidor. Esto te permite agregar elementos interactivos como registros de eventos y calculadoras dinámicas al contenido alojado en HubSpot sin tener que configurar un servidor externo.
Imagine que es un usuario de CMS Hub Enterprise y ejecuta un sitio web de fitness. Mediante el uso de funciones sin servidor, puede permitir que los visitantes vean y se registren para las próximas clases (o se registren en una lista de espera) directamente en su sitio web. No necesita realizar un seguimiento manual de las inscripciones o configurar la capacidad total de la clase ni nada más, simplemente escriba el código de back-end y configúrelo para que se ejecute cuando el visitante complete el formulario de registro. HubSpot hará el resto.
Antes de ver otros proveedores populares, veamos más ejemplos de funcionalidad sin servidor.
Ejemplos de funciones sin servidor
A continuación, se incluyen estudios de casos de marcas que utilizan funciones sin servidor para reducir costos y mejorar la eficiencia.
1. Producción de caminantes
Walker Manufacturing utiliza funciones sin servidor para recopilar, almacenar y mostrar dinámicamente datos de HubDB. Esto permite a los clientes seleccionar diferentes opciones del menú desplegable en las páginas de productos y ver la información más actualizada sobre ese producto en particular, incluidas fotos y precios. Estos datos se muestran dinámicamente sin recargar el sitio web.
Aquí hay un video que resume cómo usan las funciones sin servidor y otras funciones de CMS Hub para optimizar su sitio web.
2. Coca Cola
Coca-Cola utiliza funciones sin servidor para reducir el costo de administrar las máquinas expendedoras. Después de comprar la bebida, la pasarela de pago realiza una llamada a AWS API Gateway. Esto activa la función AWS Lambda para completar la transacción (que puede incluir enviar al cliente una notificación automática en Apple o Android Pay si inició la transacción en su teléfono). La capacidad de pagar por solicitud en lugar de funcionar a plena capacidad permite a Coca-Cola controlar el inventario y mantener los costos bajos.
Aquí hay una ilustración asombrosa del proceso a continuación:
3. Kidoodle.TV
Al usar las funciones sin servidor, el servicio de transmisión de anuncios de Kidoodle.TV pudo escalar la transmisión de video en un 3200% en 2020. Utilizan su propio servicio de decisiones de anuncios domésticos para decidir qué anuncios mostrar, pero implementan el código a través del servidor de decisiones de anuncios de AWS Elemental MediaTailor. Esto permite que Kidoodle.TV publique sus anuncios sin problemas para que los espectadores no tengan que esperar a que se carguen.
Antes de pasar a las arquitecturas sin servidor, primero debemos explicar la diferencia entre las funciones sin servidor y las funciones como servicio.
Funciones como servicio (FaaS)
La función como servicio, o FaaS, es un tipo de servicio de computación en la nube que permite a los desarrolladores escribir código como funciones separadas que se realizan en respuesta a eventos específicos, como la carga de imágenes o la solicitud HTTP. El proveedor de la nube realizará esta función en el servidor en ejecución o creará un nuevo servidor para este fin.
Aunque las funciones sin servidor y FaaS a veces se usan indistintamente, FaaS es en realidad un subconjunto de funciones sin servidor.
La funcionalidad sin servidor puede caer en cualquier categoría de servicio en la que la configuración y la gestión de los servidores sean transparentes para el usuario final. Esto incluye almacenamiento, base de datos, mensajería, computación, puertas de enlace API y más. FaaS, por otro lado, solo se refiere al procesamiento basado en eventos, donde el código solo actúa en respuesta a eventos o solicitudes específicas.
Por lo tanto, si configura una función para que se active automáticamente por un evento, como la actividad de la aplicación, los clics en el sitio web o la carga de imágenes, está utilizando FaaS.
Ahora que entendemos qué es una función sin servidor y qué es FaaS específicamente, echemos un vistazo a algunas empresas de alojamiento en la nube pública que tienen plataformas sin servidor.
Arquitecturas sin servidor
Se estima que el mercado global de arquitectura sin servidor tendrá un valor de $ 25,49 mil millones para 2026 nuevo informe según Informes y Datos. A continuación, echamos un vistazo a la cartera sin servidor de algunos de los proveedores más importantes del mercado.
1. lambda sin servidor
Presentada en 2014, Amazon Web Services Lambda es una plataforma informática sin servidor impulsada por eventos que permite a los usuarios ejecutar código sin aprovisionar ni administrar servidores.
Los usuarios pueden ejecutar código para prácticamente cualquier tipo de aplicación o servicio de back-end sin necesidad de administración. Una vez que su código se carga y configura para ejecutarse automáticamente desde otros servicios de AWS o directamente desde su sitio web o aplicación móvil, AWS Lambda se encarga de todo lo necesario para ejecutar y escalar su código con alta disponibilidad.
2. Características de la nube de Google
Lanzado en 2018, Google Cloud Functions es un entorno de funciones sin servidor en Google Cloud Platform. Al igual que con AWS Lambda, los usuarios simplemente tienen que escribir su código y configurarlo para que se ejecute desde otros servicios de Google Cloud o desde sus aplicaciones. Google hará el resto. Esta plataforma es ideal para configurar funciones de procesamiento de datos, como la recuperación de datos relevantes de imágenes y videos.
3. Características de Microsoft Azure
Presentado en 2016, Azure Functions es un servicio informático sin servidor alojado en la nube pública de Microsoft Azure. Lo que diferencia a Azure de otras plataformas es una interfaz web fácil de usar en la que los usuarios pueden escribir código. Azure Functions es ideal para tareas como el procesamiento de imágenes, el procesamiento de pedidos y el mantenimiento de archivos.
4. Características de la nube de IBM
Lanzado en 2019, IBM Cloud Functions es una plataforma de desarrollo de FaaS con tecnología de Apache OpenWhisk que permite a los usuarios crear código ligero que es escalable bajo demanda. IBM Cloud Functions es ideal para implementar aplicaciones sin servidor en varias regiones y crear un backend sin servidor para aplicaciones móviles.
La característica única de esta plataforma sin servidor es que puede funcionar con otras soluciones de IBM, como la plataforma IBM Watson IoT e IBM Event Streams, para responder y procesar datos de sensores IoT y mensajes entrantes.
5. Cálculo de la función de nube de Alibaba
Presentada en 2017, Alibaba Cloud Function Compute es una plataforma sin servidor que proporciona los recursos informáticos necesarios para una ejecución de código flexible y fiable. Esto permite a los usuarios concentrarse en escribir y cargar código en lugar de administrar servidores y otra infraestructura. Function Compute tiene como objetivo reducir los costos computacionales y mejorar el rendimiento informático al crear aplicaciones web sin servidor, procesamiento de datos en tiempo real o servicios de inferencia de IA y sistemas de procesamiento de video sin servidor.
Cuándo usar sin servidor
¿Está tratando de decidir si la tecnología sin servidor es adecuada para usted? Considere estas razones a continuación.
1. Desea reducir los costos de su servidor.
Migrar a sin servidor reducirá significativamente los costos de su servidor. Esto se debe a que los proveedores de servicios en la nube solo cobran por el tiempo de actividad de las funciones sin servidor, por lo que no paga por los recursos no utilizados.
2. Desea liberar recursos de desarrollador.
Dado que nadie tiene que lidiar con la administración de la infraestructura en caso de una transición sin servidor, los desarrolladores e ingenieros solo pueden concentrarse en crear nuevas funciones y mejorar el producto.
3. Quiere escalar su aplicación web.
Migrar a sin servidor puede ayudarlo a escalar su aplicación web sin problemas operativos. Por ejemplo, Bustle adoptó por completo la arquitectura sin servidor en 2016 para lidiar mejor con los picos de tráfico. Esto permitió a Bustle manejar más de mil millones de solicitudes a más de 80 millones de personas por mes, según co-fundador de Tyler Love.
sin servidor
Serverless es el futuro del desarrollo de software. Al utilizar una plataforma que ofrece funciones sin servidor, como CMS Hub, se beneficiará de una reducción del gasto del servidor, el escalado automático y un mejor tiempo de actividad.
Nota del editor: esta publicación se publicó originalmente en febrero de 2020 y se actualizó para que sea más completa.