Abstract
Most cloud applications are composed by a set of components (microservices) that may be located in different virtual and/or physical computers. To achieve the desired level of performance, availability, scalability, and robustness in this kind of systems is necessary to maintain a complex set of infrastructure configurations.
Another approach would be to use a Distributed Virtualization System (DVS) that provides a transparent mechanism that each component could use to communicate with others, regardless of their location and thus, avoiding the potential problems and complexity added by their distributed execution. This communication mechanism already has useful features for developing distributed applications with replication support for high availability and performance requirements.
When a cluster of backend servers runs the same set of services for a lot of frontend clients, it needs to present a single entry-point for them. In general, an application proxy is used to meet this requirement with auto-scaling and Load Balancing features added. Auto Scaling is the mechanism that dynamically monitors the load of the cluster nodes and creates new server instances when the load is greater than the threshold of maximum CPU usage, or it removes server instances when the load is less than the threshold of minimum CPU usage. Load balancing is another related mechanism that distributes the load among server instances to avoid that some instances are saturated and others unloaded. Both mechanisms help to provide better performance and availability of critical services.
This article describes the design, implementation, and evaluation of a service proxy with Autos Scaling and Load Balancing features in a DVS.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Pessolani, P., Cortes, T., Tinetti, F., Gonnet, S.: An Architecture Model for a Distributed Virtualization System, Cloud Computing 2018, Barcelona, España (2018)
Martin Fowler: https://martinfowler.com/articles/microservices.html. Accessed Dec 2021
Pessolani, P., Taborda, M., Perino, F.: Service Proxy with Load Balancing and Auto Scaling for a Distributed Virtualization System, Memorias del Congreso Argentino en Ciencias de la Computación - CACIC 2021, pp. 480–489, December 2021. ISBN: 978-987-633-574-4
Nginx. https://www.nginx.com/. Accessed Dec 2021
HAproxy. http://www.haproxy.org/. Accessed Dec 2021
Varnish. http://varnish-cache.org/. Accessed Dec 2021
Traefik. https://traefik.io/traefik/. Accessed Dec 2021
Apache Traffic Server. https://trafficserver.apache.org/. Accessed Dec 2021
Hedstrom, L.: Apache Traffic Server: More Than Just a Proxy, talk at USENIX (2011)
ATS vulnerabilities. https://vuldb.com/?product.apache:traffic_server. Accessed Dec 2021
Pessolani, P., Cortes, T., Tinetti, F.G., Gonnet, S.: An IPC software layer for building a distributed virtualization system. In: CACIC 2017, La Plata, Argentina (2017)
Zookeeper. https://zookeeper.apache.org/. Accessed Dec 2021
Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: 2014 USENIX Annual Technical Conference (2014). ISBN 978-1-931971-10-2
The Spread Toolkit. http://www.spread.org. Accessed Dec 2021
Moser, L.E., et al.: Extended virtual synchrony. In: Proceedings of the IEEE 14th International Conference on Distributed Computing Systems, Poznan, Poland, June 1994
Ghiasvand, S., et al.: An analysis of MOSIX load balancing capabilities. In: International Conference on Advanced Engineering Computing and Applications in Sciences, November 20–25, Lisbon, Portugal (2011)
Beltrán, M., Guzmán, A.: How to balance the load on heterogeneous clusters. Int. J. High Perform. Comput. Appl. 23(1), 99–118 (2009)
Lmbench. http://lmbench.sourceforge.net/. Accessed Dec 2021
Simpleproxy. https://manpages.debian.org/testing/simpleproxy/simpleproxy.1.en.html. Accessed Dec 2021
Vnstat. https://humdi.net/vnstat/. Accessed Dec 2021
Vmstat. https://linux.die.net/man/8/vmstat. Accessed Dec 2021
Gonzalez, R.: A Raw Ethernet Proxy for a Distributed Virtualization System (in Spanish), 5to Congreso Nacional de Ingeniería Informática/Sistemas de Información – CONAIISI 2017, Santa Fe, Argentina (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Pessolani, P., Taborda, M., Perino, F. (2022). Service Proxy for a Distributed Virtualization System. In: Pesado, P., Gil, G. (eds) Computer Science – CACIC 2021. CACIC 2021. Communications in Computer and Information Science, vol 1584. Springer, Cham. https://doi.org/10.1007/978-3-031-05903-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-031-05903-2_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-05902-5
Online ISBN: 978-3-031-05903-2
eBook Packages: Computer ScienceComputer Science (R0)