El uso de aplicaciones sin servidor por parte de los desarrolladores para manejar la lógica de negocio de sus aplicaciones está en pleno aumento, pero ¿cómo permite Google Cloud – un importante proveedor de servicios dentro de la nube pública – a los desarrolladores manejar aplicaciones sin servidor? En este artículo, aprenderá qué son las aplicaciones sin servidor, cómo se utilizan en la Google Cloud y también los escenarios en los que se pueden utilizar en una aplicación de front-end.

Recientemente, el paradigma de desarrollo de aplicaciones ha empezado a cambiar, pasando de tener que desplegar, escalar y actualizar manualmente los recursos utilizados dentro de una aplicación a confiar en proveedores de servicios de nube de terceros para hacer la mayor parte de la gestión de estos recursos.

Como desarrollador u organización que desea construir una aplicación adaptada al mercado en el plazo más breve posible, su principal objetivo podría ser ofrecer su servicio de aplicación principal a sus usuarios mientras dedica una menor cantidad de tiempo a la configuración, el despliegue y la prueba de esfuerzo de su aplicación. Si este es su caso de uso, manejar la lógica de negocio de su aplicación de una manera sin servidor podría ser su mejor opción. ¿Pero cómo?

Este artículo es beneficioso para los ingenieros de front-end que quieran construir ciertas funcionalidades dentro de su aplicación o para los ingenieros de back-end que quieran extraer y manejar una cierta funcionalidad de un servicio back-end existente utilizando una aplicación sin servidor desplegada en la plataforma de Google Cloud.

Nota: para beneficiarse de lo que se cubrirá aquí, es necesario tener experiencia en el trabajo con React. No se requiere experiencia previa en aplicaciones sin servidor.

Antes de comenzar, entendamos qué son realmente las aplicaciones sin servidor y cómo se puede utilizar la arquitectura sin servidor cuando se construye una aplicación en el contexto de un ingeniero de front-end.

Aplicaciones sin servidor

Las aplicaciones sin servidores son aplicaciones desglosadas en pequeñas funciones reutilizables impulsadas por eventos, alojadas y gestionadas por terceros proveedores de servicios de nube dentro de la nube pública en nombre del autor de la aplicación. Se activan por determinados eventos y se ejecutan a petición del usuario. Aunque el sufijo «menos» adjunto a la palabra «serverless» indica la ausencia de un servidor, no es así al 100%. Estas aplicaciones siguen ejecutándose en servidores y otros recursos de hardware, pero en este caso, esos recursos no son suministrados por el desarrollador sino por un tercer proveedor de servicios de la nube. Por lo tanto, no tienen servidor para el autor de la aplicación, pero siguen funcionando en servidores y son accesibles a través de la Internet pública.

Un ejemplo de caso de uso de una aplicación sin servidor sería el envío de correos electrónicos a usuarios potenciales que visitan su página de destino y se suscriben para recibir correos electrónicos con google de lanzamiento de productos. En esta etapa, es probable que usted no tenga un servicio de fondo en funcionamiento y no quiera sacrificar el tiempo y los recursos necesarios para crear, desplegar y administrar uno, todo porque necesita enviar correos electrónicos. Aquí, usted puede escribir un solo archivo que utiliza un cliente de correo electrónico y desplegarlo a cualquier proveedor de nube que soporte la aplicación sin servidor y dejar que ellos administren esta aplicación en su nombre mientras usted conecta esta aplicación sin servidor a su página de destino.

Si bien hay una gran cantidad de razones por las que usted podría considerar la posibilidad de aprovechar las aplicaciones sin servidor o Funciones como un Servicio (FAAS), como se llaman, para su aplicación de front-end, aquí hay algunas razones muy notables que en i4nm.com saben bien y que usted debe considerar:

Auto escalado de la aplicación

Las aplicaciones sin servidor se escalan horizontalmente y esta «escalada» la realiza automáticamente el proveedor de la Nube en función de la cantidad de invocaciones, de modo que el desarrollador no tiene que añadir o quitar recursos manualmente cuando la aplicación está bajo una gran carga.

Eficacia en función de los costos

Al estar impulsadas por eventos, las aplicaciones sin servidor se ejecutan sólo cuando se necesitan y esto se refleja en los cargos, ya que se facturan en base al número de veces que se invocan.

Flexibilidad

Las aplicaciones sin servidor están construidas para ser altamente reutilizables, lo que significa que no están ligadas a un solo proyecto o aplicación. Una funcionalidad particular puede ser extraída en una aplicación sin servidor, desplegada y utilizada en múltiples proyectos o aplicaciones. Las aplicaciones sin servidor también pueden escribirse en el idioma preferido del autor de la aplicación, aunque algunos proveedores de nubes sólo admiten una cantidad menor de idiomas.