Los frameworks para arquitectura serverless nos provee una capa de abstracción sobre los servicios de AWS en general y sobre AWS lambda en particular.
La adopción de la arquitectura de software basada en microservicios tiene muchas ventajas, nos permite cambiar de una construcción monolítica de software a una nuestro más distribuida y ágil. AWS nos provee de distintos servicios los cuales nos sirven para alojar nuestras funciones lambda y conectarlas con las otras partes que conforman nuestros sistemas.
Puedes crear las funciones lambda desde la interfaz gráfica que nos provee la consola de AWS. Este método es sencillo, sin embargo perdemos la posibilidad de usar el ambiente de desarrollo de nuestro equipo de cómputo el cual tiene nuestras configuraciones específicas, IDEs y también nuestros sistemas de control de versiones.
Para solucionar esto, AWS nos permite crear nuestra infraestructura a través de código. A este servicio se le conoce como CloudFormation.
CloudFormation
Con CloudFormation podemos crear la infraestructura y configuraciones de una gran cantidad de servicios de AWS, entre ellas, funciones lambda. También nos permite compartir las configuraciones con otros miembros del equipo de desarrollo. Para la creación de una función y su acceso a través de una API se requiere escribir una cantidad considerable de configuraciones.
Al ir creciendo el número de funciones en nuestro proyecto estas configuraciones pueden llegar a ser de cientos de líneas.
Es por esa razón que se recomienda utilizar un framework que nos ayude a la labor de generar la infraestructura, permisos y configuraciones necesarias para que nuestras funciones puedan operar. Los frameworks que trabajan con funciones lambda también nos permiten simular el entorno en el que operan para poder ejecutarlas localmente para tareas de debug y testing ¡Llegó el momento de usar frameworks para arquitectura serverless en tu empresa!
Frameworks para arquitectura serverless
Entre los frameworks para arquitectura serverless, podemos encontrar que cuenta con el servicio de Amazon llamado AWS SAM (Serverless Application Model). Esta herramienta Open Source se instala en la terminal. AWS SAM opera mediante un “template” de configuraciones como se puede hacer con CloudFormation pero en una versión simplificada.
Existen diversos comandos que puedes consultar en su documentación oficial con los que se puede verificar que el template esté escrito correctamente y también probar las funciones que componen a nuestra arquitectura basada en microservicios. También nos simplifica el proceso de subir nuestro código a AWS con comandos para hacer deploy sin dejar la terminal.
Otra herramienta para el manejo de funciones lambda desde nuestra terminal es Serverless Framework. Esta herramienta se instala como un paquete global de NodeJS aunque es compatible con funciones escritas en Python y otros lenguajes de programación que soportan las funciones lambda.
Al igual que AWS SAM es necesario que se agregue un template de configuraciones en las cuáles definimos los nombres de funciones, puntos de entrada, cantidad de RAM y otras especificaciones. Serverless Framework también tiene compatibilidad con otros servicios cloud además de AWS.
Los frameworks para arquitectura serverless agilizan el trabajo de desarrollo y permiten que los desarrolladores se concentren más en el código que en dedicar tiempo a hacer deploy de código y lidiar con configuraciones.
En Codster tenemos una amplia experiencia en su uso, lo que nos permite desarrollar nuevos proyectos basados en microservicios y migrar sistemas monolíticos tradicionales a arquitectura serverless en tiempo record. Descubre más ventajas al implementar arquitecturas de software basadas en microservicios ¡Visítanos y trabajar con nosotros para crear un cultura Serverless en tu empresa!