Hecht, Geoffrey Jean-Pierre ChristopheLi, ZhengArtigues Escobar, Roberto Felipe2026-04-172026-04-172025https://repositorio.udec.cl/handle/11594/13929Tesis presentada para optar al título de Ingeniero/a en Civil Informático/a.Los microservicios contenerizados implementados con lenguajes interpretados como Python y Node.js presentan penalizaciones de rendimiento debido al overhead de interpretación en tiempo de ejecución. Esta investigación evaluó la hipótesis de que la aplicación de técnicas de compilación anticipada durante el proceso de contenerización mejora el rendimiento en tiempo de ejecución de microservicios implementados con lenguajes interpretados. Se aplicaron tres principios de micro-optimización: justenough containerisation (incluir solo componentes necesarios), just-for-me configuration (configuraciones específicas) y just-in-time compilation (compilar durante la construcción del contenedor). La metodología experimental comparó implementaciones estándar versus optimizadas usando micro-benchmarks sintéticos y la aplicación Bookinfo con servicios en Python (Flask), Node.js (Express) y Java (Spring Boot). Los experimentos se ejecutaron en plataformas ARM64 (MacBook M4 Pro y Raspberry Pi 4). Los resultados mostraron efectividad variable: Node.js logró mejoras del 27.9% en throughput usando pkg, Python mostró degradación del 36.6% debido a incompatibilidades entre Flask y Nuitka, mientras Java presentó mejoras del 8.2 %. La investigación identificó que la complejidad del framework tiene mayor influencia que el lenguaje, revelando trade-offs entre rendimiento, tiempo de inicio y recursos. Se concluye que la compilación durante contenerización es efectiva para microservicios Node.js con frameworks minimalistas, pero presenta resultados negativos para frameworks Python con características dinámicas, proporcionando criterios para decisiones arquitectónicas basadas en el contexto específico.Containerized microservices implemented with interpreted languages such as Python and Node.js present performance penalties due to runtime interpretation overhead. This research evaluated the hypothesis that the application of ahead-of-time compilation techniques during the containerization process improves the runtime performance of microservices implemented with interpreted languages. Three microoptimization principles were applied: just-enough containerisation (including only necessary components), just-for-me configuration (specific configurations), and just-intime compilation (compiling during container build). The experimental methodology compared standard versus optimized implementations using synthetic micro-benchmarks and the Bookinfo application with services in Python (Flask), Node.js (Express), and Java (Spring Boot). Experiments were conducted on ARM64 platforms (MacBook M4 Pro and Raspberry Pi 4). Results showed variable effectiveness: Node.js achieved 27.9% throughput improvements using pkg, Python showed 36.6% degradation due to incompatibilities between Flask and Nuitka, while Java presented 8.2% improvements. The research identified that framework complexity has greater influence than language, revealing trade-offs between performance, startup time, and resources. It is concluded that compilation during containerization is effective for Node.js microservices with minimalist frameworks but shows negative results for Python frameworks with dynamic features, providing criteria for architectural decisions based on specific context.esCC BY-NC-ND 4.0 DEED Attribution-NonCommercial-NoDerivs 4.0 InternationalCompiladores (Programas para computador)Docker (Computer file)BenchmarksMicro-optimización de microservicios contenerizados: compilación just-in-time durante la contenerización.Thesis