Web applications are structured as multi-tier stacks of components. Each component may be written in a different language and interoperate using a variety of protocols. Such interoperation increases developer effort, can introduce security vulnerabilities, may reduce performance and require additional resources. A range of approaches have been explored to minimise web stack interoperation. This paper explores a pragmatic approach to reducing web stack interoperation, namely eliminating a tier/component. That is, we explore the implications of eliminating the Apache web server in a JAPyL web stack: Jupyter Notebook, Apache, Python, Linux, and replacing it with PHP libraries. We conduct a systematic study to investigate the implications for web stack performance, resource consumption, security, and programming effort.
Cite
@article{arxiv.2207.08019,
title = {Do Fewer Tiers Mean Fewer Tears? Eliminating Web Stack Components to Improve Interoperability},
author = {Adrian Ramsingh and Jeremy Singer and Phil Trinder},
journal= {arXiv preprint arXiv:2207.08019},
year = {2022}
}