Do Fewer Tiers Mean Fewer Tears? Eliminating Web Stack Components to Improve Interoperability
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.
READ FULL TEXT