Lo otro genial de utilizar Elastic Cache es que se extiende a todos los entornos. Por lo tanto, en cada uno de los entornos, confiamos en la caché caliente. Imagina que tienes 10 entornos, cuando se llama al primero. Este crea su consulta de performance a Postgres, almacena todo en Redis. Y luego, todos los demás entornos confían en el hecho de que Redis ya está caliente. Por lo tanto, obtienes un mejor rendimiento de forma predeterminada en todos los entornos que dependen de esos datos específicos. Eso es genial.
Lo otro es, en ES Build, sí, tienes la minimización activada. Genial. Y en el ejemplo anterior, pero también puedes hacer eliminación de árboles, que antes no mostramos, porque a menudo las personas no saben que pueden confiar en cualquier argumento que esté disponible en ES Build, pero no exponemos todo eso. La eliminación de árboles es uno de ellos. Entonces, en la eliminación de árboles, debes ir a los argumentos y aplicar básicamente la eliminación de árboles igual a verdadero, y luego funcionará sin ningún problema. Eso es genial porque significa que podemos incluir aún menos código en nuestro paquete. Y eso significa que habrá un impacto directo en el inicio de nuestro código porque cuanto más pequeño sea el código, menos necesitará buscar en la caché y a través de la red, más rápido será el inicio de mi código. Ahora, lo otro es que cuando estamos construyendo nuestra primera implementación, estábamos pensando, OK, así que tomemos la biblioteca más popular para consultar Postgres. Y lo que salió fue SQLize. SQLize, si buscas en NPM, es uno de los más populares, el más actualizado y así sucesivamente. Probablemente aquí es donde un desarrollador comenzaría si está pensando, OK, así que necesito consultar Postgres. ¿Dónde debería buscar? Comienzo por la biblioteca más popular. Sin embargo, cuando lo empaqueto y utilizo la eliminación de árboles, todavía tengo 1.6. Eso fue bastante, honestamente, para lo que hace. Y comencé a preguntarme, OK, ¿cuál es el problema? Desafortunadamente, SQLize no es compatible con la eliminación de árboles. Por lo tanto, si paso a la segunda más famosa y hay algo que es, digamos, compatible con la eliminación de árboles, miro a Postgres.js y reducimos a 40 kilobytes el tamaño del mismo código, pero simplemente reemplazando la biblioteca que estaba usando para eso. Ahora aquí muestra 246 kilobytes porque agregué muchas otras cosas, bibliotecas que estoy usando para Redis, etc. Pero al final eran literalmente 40 kilobytes para hacer exactamente lo mismo sin usar un patrón de caché aparte. Eso es genial, para ser honesto. Así que ten en cuenta revisar tus bibliotecas. Lo otro es que antes, en la solución no optimizada, como la llamo, simplemente estimábamos el tamaño de memoria para nuestra función Lambda. Como puedes ver aquí, especificamos 256 megabytes. Pero en realidad, por costos similares, debería haber elegido 512 megabytes porque en ese caso, el tiempo de respuesta era más rápido.
Comments