Variables de entorno en Serverless framework

Kevin L
3 min readJul 10, 2023

--

En el mundo de la tecnología, cada vez es más común utilizar arquitecturas sin servidor (serverless) para construir aplicaciones escalables y flexibles. Una de las características clave de estas arquitecturas es el uso de variables de entorno. En este artículo, exploraremos qué son las variables de entorno, por qué son importantes y cómo utilizarlas en el framework Serverless. Además, analizaremos las opciones disponibles en AWS y cómo asegurar nuestra aplicación utilizando herramientas como Secrets Manager y Parameter Store.

¿Qué son las variables de entorno?

Las variables de entorno son valores dinámicos que se configuran en el entorno de ejecución de una aplicación. Estas variables proporcionan información específica, como credenciales, URL de servicios externos o configuraciones personalizadas, que son necesarias para que la aplicación funcione correctamente. Al utilizar variables de entorno, podemos separar la configuración de la aplicación de su código, lo que brinda una mayor flexibilidad y facilita la gestión de diferentes entornos.

¿Por qué utilizar variables de entorno?

Hay varias razones para utilizar variables de entorno en nuestras aplicaciones desarrolladas con el framework Serverless. Algunas de estas razones son:

  1. Separación de configuración: Al utilizar variables de entorno, podemos separar la configuración específica de cada entorno (desarrollo, pruebas, producción) del código fuente de la aplicación. Esto facilita la gestión de diferentes configuraciones y evita la necesidad de modificar el código en cada entorno.
  2. Mayor seguridad: Almacenar información sensible, como claves de API o contraseñas, en variables de entorno nos permite proteger estos datos sensibles de forma más segura. Esto es especialmente importante en un entorno sin servidor, donde los recursos pueden ser compartidos y la seguridad es fundamental.

Opciones disponibles en AWS

Seguridad Cuando se trata de utilizar variables de entorno en el framework Serverless en AWS, existen dos opciones populares para garantizar la seguridad de nuestros datos:

Secrets Manager

Secrets Manager es un servicio de AWS que nos permite almacenar y recuperar secretos, como contraseñas, claves de API y tokens, de forma segura. Podemos integrar Secrets Manager con nuestro proyecto Serverless y acceder a las variables de entorno de manera segura.

Parameter Store

Parameter Store es otro servicio de AWS que nos permite almacenar y recuperar datos de configuración, como cadenas de conexión de bases de datos o valores de configuración, de forma segura. Al utilizar Parameter Store, podemos almacenar nuestras variables de entorno y acceder a ellas desde nuestro proyecto Serverless de manera segura.

Demostración de proyecto Serverless

Para comprender mejor cómo utilizar variables de entorno en el framework Serverless, vamos a realizar una demostración práctica. Crearemos un proyecto Serverless utilizando un archivo de configuración serverless.ts o serverless.yml y mostraremos cómo configurar y acceder a variables de entorno utilizando Secrets Manager y Parameter Store.

Casos de uso

A continuación, se presentan algunos casos de uso comunes donde el uso de variables de entorno es beneficioso. Mostraremos ejemplos prácticos utilizando tanto serverless.ts como serverless.yml:

serverless.ts

const serverlessConfiguration: AWS = {
service: 'demo-lambdas',
provider: {
stage: process.env.STAGE_NAME,
name: 'aws',
runtime: 'nodejs14.x',
environment: {
AUTH_TOKEN: '${ssm:/credentials/${sls:stage}/AUTH_TOKEN}',
},
},
functions: {
helloWorld,
},
};

module.exports = serverlessConfiguration;

serverless.yml

service: ${ssm:/path/to/service/id}-service
provider:
name: aws
functions:
hello:
name: ${ssm:/path/to/service/myParam}-hello
handler: handler.hello
  1. Gestión de claves de API: Podemos utilizar variables de entorno para almacenar claves de API externas y acceder a ellas desde nuestra aplicación sin comprometer la seguridad.
  2. Configuración de base de datos: Almacenar información de conexión de base de datos, como URL, nombre de usuario y contraseña, en variables de entorno nos permite cambiar fácilmente entre entornos de desarrollo y producción sin necesidad de modificar el código.

Conclusión

Las variables de entorno son una poderosa herramienta para el desarrollo de aplicaciones sin servidor utilizando el framework Serverless. Nos permiten separar la configuración de la aplicación del código fuente, mejorar la seguridad y facilitar la gestión de diferentes entornos. En AWS, podemos aprovechar servicios como Secrets Manager y Parameter Store para asegurar nuestras variables de entorno de manera efectiva. ¡Explora las posibilidades de las variables de entorno y lleva tus proyectos Serverless al siguiente nivel!

--

--

Kevin L
Kevin L

Written by Kevin L

Desarrollador fanático de las nuevas tecnología y apasionado de la automatización de procesos de todo tipo

No responses yet