FaaS y otros servicios de computación en la nube
¿Qué son las funciones como servicio?
FaaS se refiere a un servicio back-end sin servidor que permite a los creadores de código o desarrolladores escribir sobre la marcha fragmentos modulares de código que pueden ejecutarse en respuesta a eventos específicos.
Con la computación sin servidor, los desarrolladores pueden crear y ejecutar aplicaciones sin preocuparse por la infraestructura en la nube. En el modelo sin servidor, los servidores siguen existiendo, pero están separados del proceso de desarrollo de las aplicaciones. El proveedor de nube asume la labor rutinaria de aprovisionar, mantener y escalar la infraestructura de servidores mediante una arquitectura sin servidor, lo que permite a los desarrolladores concentrarse únicamente en el código para su implementación.
Aunque los términos funciones como servicio (FaaS) y sin servidor a veces se usan indistintamente, tienen dos definiciones distintas. FaaS es un subconjunto de la computación sin servidor centrado en desencadenadores orientados a eventos, en el que el código se ejecuta en respuesta a eventos o solicitudes. Mientras que el modelo sin servidor abarca cualquier clase en la que el servidor está completamente separado del usuario final, FaaS es una subclase de la computación sin servidor centrada en desencadenadores orientados a eventos, en la que el código se ejecuta en reacción a eventos o solicitudes. El servidor se apaga si no hay solicitudes orientadas a eventos, de modo que sus herramientas quedan accesibles para solicitudes posteriores. FaaS responde a la demanda y se escala hacia arriba y hacia abajo según sea necesario una vez lanzada. Cuando una función sin servidor está inactiva, rara vez genera costo, por lo que ahorra gastos en distintas situaciones.
Cómo se relacionan PaaS, IaaS y FaaS
Plataforma como servicio (PaaS), funciones como servicio (FaaS) e infraestructura como servicio (IaaS) se conocen como servicios de computación en la nube. La distinción radica en el nivel de abstracción entre la infraestructura y el usuario al que sirven.
IaaS ofrece el menor nivel de abstracción. Los usuarios que utilizan IaaS tienen control absoluto de su infraestructura y de las herramientas y el software que la acompañan. Aun así, no tienen que gestionar ni controlar la infraestructura física, como los centros de datos. IaaS permite a los desarrolladores elegir qué capas de abstracción desean usar. Pueden optar por controlar o gestionar todo ellos mismos o añadir funcionalidades como balanceadores de carga y servicios administrados para facilitar el mantenimiento de su aplicación.
Para el usuario final, PaaS incluye una capa adicional de abstracción. Los usuarios de PaaS no tienen que preocuparse por gestionar el sistema operativo de su aplicación, el tiempo de ejecución u otras partes de la infraestructura. Aun así, conservan un control granular sobre las opciones de infraestructura subyacente y las aplicaciones. PaaS ofrece una opción de infraestructura completamente administrada para los desarrolladores que desean lanzar aplicaciones rápidamente. Los desarrolladores que eligen PaaS pueden concentrarse en su trabajo mientras el proveedor se encarga de la administración de sistemas y de los procesos de back-end.
FaaS ofrece mucha más abstracción al operador y la funcionalidad más específica de los tres. Con FaaS, los programadores tienen acceso a un sistema que ejecuta la lógica de la aplicación bajo demanda, y el proveedor de servicios gestiona todos los recursos del sistema y los demás componentes de infraestructura.
Diferencias entre PaaS y FaaS
Aunque los productos FaaS y PaaS pueden parecer muy similares a primera vista, existen consideraciones y diferencias importantes al seleccionar cuál es la mejor opción para usted.
● Configuración: FaaS tiene un tiempo de aprovisionamiento corto gracias a su caso de uso simple y a sus soluciones completamente administradas. Aunque PaaS ofrece un mayor nivel de abstracción que otros servicios de computación en la nube, aun así requiere cierta configuración. Según cuánto control desee, esto puede ser una ventaja o una desventaja.
● Operaciones: las soluciones FaaS inician y detienen aplicaciones completas para solicitudes individuales. Mientras que PaaS ofrece la capacidad de escalar hacia arriba y abajo según sea necesario, los recursos suelen estar disponibles en todo momento. La latencia, el costo y la capacidad de completar solicitudes complejas pueden verse afectados por esta característica de FaaS.
● Escalabilidad: PaaS puede escalar hacia arriba y abajo según sea necesario, pero el desarrollador debe considerarlo y configurarlo. Con FaaS no se necesita planificación de capacidad: se escala hacia arriba y abajo con facilidad según se requiera.
● Precios. Los precios de PaaS varían según el proveedor, aunque con frecuencia es más caro que FaaS si tiene una carga de trabajo ligera. Si los desencadenadores de eventos son esporádicos, FaaS permite a los desarrolladores de código pagar por cada llamada de función, lo que ahorra tiempo. En términos económicos, PaaS podría ser la mejor solución para cargas de trabajo más constantes o grandes.
¿Cómo funciona FaaS?
La arquitectura monolítica se usaba comúnmente en las primeras aplicaciones. Como resultado, la aplicación se diseñaba como una sola operación que debía ejecutarse. Los microservicios se han vuelto más populares entre los desarrolladores. Los microservicios son un conjunto de componentes que se pueden implementar de forma independiente. Son más sencillos de mantener y probar porque se puede trabajar en ellos por separado.
Idealmente, una función es un microservicio capaz de ejecutar una acción en respuesta a un evento. En FaaS, el proveedor inicia un servidor cuando se invoca una función. Ejecuta el código y, a continuación, apaga el servidor. Cuando el servidor está apagado, los servicios sin servidor solo permanecen activos mientras la función está en uso, lo que permite implementar los mismos recursos de cómputo en otro lugar.
Los desarrolladores con acceso a la plataforma FaaS pueden ejecutar el código de su aplicación. La fortaleza de FaaS es su simplicidad. Para sacar el máximo provecho de FaaS, los desarrolladores deben asegurarse de que cada función ejecute una sola acción. El ámbito de la función debe ser restringido y eficiente. Usar demasiadas bibliotecas o hacer que una función llame a otra provocará que el programa se vuelva más lento y cueste más.
Ventajas de FaaS
Usar una arquitectura FaaS tiene numerosas ventajas. A continuación, se presentan algunas razones por las que podría elegir FaaS para ejecutar su aplicación:
● La libertad de concentrarse por completo en la codificación y el desarrollo de su aplicación
● Pagar por lo que se usa ahorra costos.
● Escalado automático sin planificación de capacidad ni mantenimiento periódico
● Gracias a la simplicidad de las pruebas y el desarrollo, se reduce el tiempo de lanzamiento al mercado.
Consideraciones al elegir FaaS
Desde aplicaciones web hasta chatbots en línea, desde el procesamiento de datos hasta las funciones de back-end y mucho más, FaaS se puede utilizar de diversas formas. Considere lo siguiente antes de elegir un proveedor de FaaS:
● Cargas de trabajo: FaaS es adecuado para tareas sencillas y repetitivas que requieren poco trabajo o muchas solicitudes. Dado que FaaS cobra por función ejecutada, los cargos por un uso intensivo pueden ser mayores que si usara una solución PaaS. FaaS es una excelente solución para simplificar el aprovisionamiento y ahorrar costos si su carga de trabajo es relativamente mínima.
● Control: FaaS es uno de los productos en la nube con mayor nivel de abstracción. Piense cuánta visibilidad y control desea sobre sus configuraciones y su infraestructura. Pruebe una solución PaaS si desea un poco más de control que FaaS manteniendo la misma simplicidad de uso. Los equipos que buscan asumir el control total de su ecosistema de producción y del diseño y el comportamiento de su infraestructura deberían considerar una solución IaaS.
● Bloqueo del proveedor (vendor lock-in): es un término que describe una situación en la que migrar las aplicaciones creadas por un proveedor hacia otro puede resultar difícil. Usar tecnologías de nube de código abierto facilita mover las actividades de computación de un único proveedor a otros.
Artículos relacionados
-
6 tecnologías opcionales de almacenamiento de datos
Equipo de la base de conocimiento
Ver más ofertas especiales
-
Short Message Service (SMS) & Mail Service
El paquete de 50,000 correos electrónicos comienza desde tan solo USD 1.99, 120 mensajes de texto comienzan desde solo USD 1.00
