Abstract
With the arrival of the edge computing a new challenge arises for cloud applications: How to benefit from geo-distribution (locality) while dealing with inherent constraints of wide-area network links? The admitted approach consists in modifying cloud applications by entangling geo-distribution aspects in the business logic using distributed data stores. However, this makes the code intricate and contradicts the software engineering principle of externalizing concerns. We propose a different approach that relies on the modularity property of microservices applications: (i) one instance of an application is deployed at each edge location, making the system more robust to network partitions (local requests can still be satisfied), and (ii) collaboration between instances can be programmed outside of the application in a generic manner thanks to a service mesh. We validate the relevance of our proposal on a real use-case: geo-distributing OpenStack, a modular application composed of 13 million of lines of code and more than 150 services.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
https://netflixtechblog.com/open-sourcing-zuul-2-82ea476cb2b3. Accessed 2021-02-15. Zuul defines itself as an API gateway. In this paper, we do not make any difference with a service mesh. They both intercept and control requests on top of microservices.
- 2.
https://www.openstack.org/software. Accessed 2021-02-15.
- 3.
https://github.com/BeyondTheClouds/openstackoid/tree/stable/rocky. Accessed 2021-02-15.
- 4.
For clarity, this paper simplifies the boot workflow. In a real OpenStack, the boot also requires at least the network and identity service. Many other service may also be involved. See https://www.openstack.org/software/project-navigator/openstack-components. Accessed 2021-02-15.
- 5.
https://wiki.openstack.org/wiki/Image_handling_in_edge_environment. Accessed 2021-02-15.
- 6.
https://github.com/BeyondTheClouds/openstackoid/tree/stable/rocky. Accessed 2021-02-15.
- 7.
https://www.haproxy.org/. Accessed 2021-02-15.
- 8.
References
Abadi, D.: Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. Computer 45(2), 37–42 (2012)
Alvaro, P., et al.: Consistency analysis in bloom: a CALM and collected approach. In: 5th Biennial Conference on Innovative Data Systems Research, CIDR 2011, Online Proceedings, Asilomar, CA, USA, 9–12 January 2011, pp. 249–260 (2011)
Cherrueau, R., et al.: Edge computing resource management system: a critical building block! initiating the debate via openstack. In: USENIX Workshop on Hot Topics in Edge Computing, HotEdge 2018, Boston, MA, 10 July. USENIX Association (2018)
Corbett, J.C., et al.: Spanner: Google’s globally-distributed database. In: 10th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2012, Hollywood, CA, USA, 8–10 October 2012, pp. 261–264 (2012)
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)
Herbst, N.R., et al.: Elasticity in cloud computing: what it is, and what it is not. In: 10th International Conference on Autonomic Computing, ICAC 2013, San Jose, CA, June 2013, pp. 23–27. USENIX Association (2013)
Jamshidi, P., et al.: Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)
Li, W., et al.: Service mesh: challenges, state of the art, and future research opportunities. In: 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp. 122–1225 (2019)
Liskov, B.: A design methodology for reliable software systems. In: Proceedings of the AFIPS 1972 Fall Joint Computer Conference, USA, 5–7 December, pp. 191–199. American Federation of Information Processing Societies (1972)
Markopoulou, A., et al.: Characterization of failures in an operational IP backbone network. IEEE/ACM Trans. Netw. 16(4), 749–762 (2008)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)
Satyanarayanan, M.: The emergence of edge computing. Computer 50(1), 30–39 (2017)
Shapiro, M., et al.: Just-right consistency: reconciling availability and safety. CoRR abs/1801.06340 (2018). http://arxiv.org/abs/1801.06340
Tato, G., et al.: Split and migrate: resource-driven placement and discovery of microservices at the edge. In: 23rd International Conference on Principles of Distributed Systems, OPODIS 2019, 17–19 December, Neuchâtel, Switzerland. LIPIcs, vol. 153, pp. 9:1–9:16. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Cherrueau, RA., Delavergne, M., Lèbre, A. (2021). Geo-distribute Cloud Applications at the Edge. In: Sousa, L., Roma, N., Tomás, P. (eds) Euro-Par 2021: Parallel Processing. Euro-Par 2021. Lecture Notes in Computer Science(), vol 12820. Springer, Cham. https://doi.org/10.1007/978-3-030-85665-6_19
Download citation
DOI: https://doi.org/10.1007/978-3-030-85665-6_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-85664-9
Online ISBN: 978-3-030-85665-6
eBook Packages: Computer ScienceComputer Science (R0)