La función como servicio (FaaS) es un servicio de cloud computing que permite a los clientes ejecutar código en respuesta a eventos, sin gestionar la compleja infraestructura habitualmente asociada a la creación y puesta en marcha de aplicaciones de microservicios.
El alojamiento de una aplicación de software en internet normalmente requiere suministrar y gestionar un servidor virtual o físico y gestionar un sistema operativo y procesos de alojamiento de servidores web. Con FaaS, el proveedor de servicios en la nube se encarga automáticamente del hardware físico, el sistema operativo de la máquina virtual y la gestión del software del servidor web. Esta característica permite a los desarrolladores centrarse únicamente en funciones individuales en el código de su aplicación.
A menudo se confunden las funciones como servicio (FaaS) y sin servidor, pero lo cierto es que la FaaS es en realidad un subconjunto de las funciones sin servidor.
La informática sin servidor se centra en cualquier categoría de servicio, ya sea computación, almacenamiento, base de datos, mensajería y pasarelas api donde la configuración, gestión y facturación de los servidores son invisibles para el usuario.
Sin embargo, la faaS, aunque quizás sea la tecnología más central en las arquitecturas sin servidor, se centra en el paradigma informático basado en eventos, en el que el código de la aplicación o los contenedores solo se ejecutan en respuesta a eventos o solicitudes.
FaaS es una herramienta valiosa para una migración de aplicaciones eficiente y rentable a la nube. A continuación se muestran algunos beneficios más:
Hay varias prácticas recomendadas que puede seguir para que el uso de la FaaS sea más eficaz y fácil de implementar:
Dado que permite aislar y escalar fácilmente las transacciones, la FaaS es buena para cargas de trabajo de gran volumen y lamentablemente paralelas. También se puede utilizar para crear sistemas backend o para actividades como procesamiento de datos, conversión de formatos, codificación o agregación de datos.
La FaaS también es una buena herramienta para aplicaciones web, backends, procesamiento de datos o transmisiones, o para crear chatbots o backends en línea para dispositivos de IoT. La FaaS puede ayudarle a gestionar y utilizar servicios de terceros. Por ejemplo, si está planteándose el desarrollo de aplicaciones para Android, puede adoptar un enfoque de FaaS para mantener sus costes bajo control. Debido a que solo se le cobra cuando su aplicación se conecta a la nube para una función específica como el proceso por lotes, los costes pueden ser considerablemente más bajos de lo que utilizaría un método tradicional.
La FaaS también puede aumentar drásticamente el rendimiento de cálculo. Por ejemplo, dos estudiantes han trabajado recientemente con ingenieros de IBM para explorar cómo usar IBM Cloud Functions para simulaciones de Monte Carlo (métodos matemáticos utilizados para estimar los resultados futuros de ciertos sucesos difíciles de predecir) para estimar los precios de las acciones. Las simulaciones de Monte Carlo se consideran una importante carga de trabajo informática de alto rendimiento.
La combinación de Monte Carlo e IBM Cloud Functions permitió al equipo ejecutar cálculos a gran escala y les permitió centrarse en la lógica empresarial. Con la FaaS, el equipo completó una simulación completa de Monte Carlo en unos 90 segundos con 1000 invocaciones simultáneas. En comparación, ejecutar el mismo flujo en un portátil con cuatro núcleos de CPU llevó 247 minutos y casi un 100 % de utilización de la CPU.
FaaS, la PaaS (plataforma como servicio), los contenedores y las máquinas virtuales (VM) tienen un papel crucial en el ecosistema sin servidor. Dado que la FaaS es el elemento más central y definitorio del conjunto sin servidor, vale la pena explorar en qué se diferencia la FaaS de otros modelos de cálculo comunes del mercado actual en cuanto a sus atributos clave:
Kubernetes y KNative son una implementación de la "fontanería" detrás de FaaS. Kubernetes es una herramienta de orquestación de contenedores de código abierto que es fundamental para la gestión de aplicaciones en la nube. Knative le permite ejecutar sin servidor en un clúster de Kubernetes.
La combinación de KNative y Kubernetes significa que puede aprovechar las funciones de Kubernetes, como monitorización, seguridad, registro y autenticación, y combinarlas con las ventajas de Knative, como la compilación automatizada de contenedores, la portabilidad completa y el trabajo en entornos híbridos.
Los creadores de esta tecnología consideraban que los desarrolladores no deberían tener que decidir entre sin servidor y contenedores al construir aplicaciones en la nube. El objetivo era aumentar la disponibilidad y la coherencia de los contenedores con el potente escalado y el acceso bajo demanda de sin servidor.
IBM Cloud Virtual Server for VPC es una familia de servidores virtuales Intel x86, IBM Z e IBM LinuxONE creados en IBM Cloud Virtual Private Cloud.
Los servidores específicos de IBM Cloud proporcionan una solución de alojamiento web escalable con tráfico de retorno ilimitado sin coste y amplias opciones de personalización.
Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.