With the rapid development of information technologies, developers are often faced with the problem of choosing the most appropriate runtime environment. This raises the question of which of the modern web runtime environments - cloud, serverless or edge - is optimal for the specific needs of the project.
In this thesis we focused on a systematic and comparative analysis of these execution environments. We proposed a methodology for evaluating the environments based on request times, which allowed us to obtain quantitative data on their performance. In order to perform the measurements, we also developed a tool to test and compare the different runtime environments.
The results of the study highlight the limitations of certain technological combinations and reveal the impact of geographical location on query speed. The results show that cloud computing provides high performance and stability, but is sensitive to geographical distance. Serverless computing offers good scalability but is limited by certain time as well as space constraints on implementation, which may hinder more complex or time-consuming processes. Edge computing allows the initialization of servers closest to the client, but has rather limited performance and consequently functionality - individual instances can consume a maximum of 128 MB of memory and a few MB of space on disk.
Serverless and edge computing offer some advantages, but also a number of limitations in their use, which may discourage users from using them. However, with further development and advances in technologies such as global caching, these alternative runtime environments could potentially become more attractive to developers.
These findings can serve as a guide for strategic decisions on the selection of the execution environment for different application scenarios.
|