Abstract
Modern enterprise applications integrate multiple interdependent software components, whose management must be suitably coordinated. This must be done by taking into account all inter-component dependencies, the faults potentially affecting them, and the fact that each component can be horizontally scaled, i.e., that multiple instances of each component can be spawned or destroyed, depending on application needs. In this article, we introduce a novel solution for suitably modelling and analysing the replica- and fault-aware management of multi-component applications, based on topology graphs and management protocols. More precisely, we first introduce a compositional model of the management behaviour of the (possibly multiple) instances of the components forming an application, faults included. We then show how this model enables automating various useful analyses, from checking the validity of management plans to automatically determining management plans allowing the instance of an application to reach and maintain a desired target configuration.
- [1] . 2018. A systematic review of cloud modeling languages. ACM Comput. Surv. 51, 1 (2018).
DOI: Google ScholarDigital Library
- [2] . 2007. Eliminating synchronization faults in air traffic control software via design for verification with concurrency controllers. Autom. Softw. Eng. 14 (
07 2007), 129–178.DOI: Google ScholarDigital Library
- [3] . 2014. TOSCA: Portable automated deployment and management of cloud applications. In Advanced Web Services. Springer, New York, NY, 527–549.
DOI: Google ScholarCross Ref
- [4] . 2012. Formalizing the cloud through enterprise topology graphs. In CLOUD’12. IEEE, 742–749.
DOI: Google ScholarDigital Library
- [5] . 2014. Combining declarative and imperative cloud application provisioning based on TOSCA. In IC2E’14. IEEE, 87–96.
DOI: Google ScholarDigital Library
- [6] . 2018. Fault-aware management protocols for multi-component applications. J. Syst. Softw. 139 (2018), 189–210.
DOI: Google ScholarDigital Library
- [7] . 2018. True concurrent management of multi-component applications. In ESOCC’18. Springer, Cham, 17–32.
DOI: Google ScholarCross Ref
- [8] . 2004. Recovery-oriented computing: Building multitier dependability. Computer 37 (
12 2004), 60–67.DOI: Google ScholarDigital Library
- [9] . 2014. Aeolus: A component model for the cloud. Inf. Comput. 239 (2014), 100–121.
DOI: Google ScholarDigital Library
- [10] . 2016. Robust and reliable reconfiguration of cloud applications. J. Syst. Softw. 122 (2016), 524–537.
DOI: Google ScholarDigital Library
- [11] . 2017. Reliable self-deployment of distributed cloud applications. Softw.: Pract. Exper. 47, 1 (2017), 3–20.
DOI: Google ScholarDigital Library
- [12] . 2014. Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer-Verlag, Wien, Austria.Google Scholar
Cross Ref
- [13] . 2012. Engage: A deployment management system. SIGPLAN Not. 47, 6 (2012), 263–274.
DOI: Google ScholarDigital Library
- [14] . 2010. Exception handling for repair in service-based processes. IEEE Trans. Softw. Eng. 36, 2 (
Mar. 2010), 198–215.DOI: Google ScholarDigital Library
- [15] . 2001. Incremental fault-tolerant design in an object-oriented setting. In APAQS’01. IEEE, 223–230.
DOI: Google ScholarCross Ref
- [16] . 2017. Understanding cloud-native applications after 10 years of cloud computing: A systematic mapping study. J. Syst. Softw. 126 (2017), 1–16.
DOI: Google ScholarCross Ref
- [17] . 2013. Topology and Orchestration Specification for Cloud Applications, Version 1.0. https://www.oasis-open.org/standard/tosca/.Google Scholar
- [18] . 2018. Architectural principles for cloud software. ACM Trans. Internet Technol. 18, 2 (2018).
DOI: Google ScholarDigital Library
- [19] . 2018. The pains and gains of microservices: A systematic grey literature review. J. Syst. Softw. 146 (2018), 215–232.
DOI: Google ScholarCross Ref
- [20] . 2015. An architecture for self-managing microservices. In AIMC’15. ACM, 19–24.
DOI: Google ScholarDigital Library
- [21] . 2011. Dynamically scaling applications in the cloud. SIGCOMM Comput. Commun. Rev. 41, 1 (
Jan. 2011), 45–52.DOI: Google ScholarDigital Library
- [22] . 2015. Automatic fault localization for BIP. In SETTA’15(
LNCS , Vol. 9409). Springer, Cham, 277–283.DOI: Google ScholarDigital Library
- [23] . 2012. Cloud Architecture Patterns. O’Reilly Media.Google Scholar
- [24] . 2020. Cloud-native deploy-ability: An analysis of required features of deployment technologies to deploy arbitrary cloud-native applications. In CLOSER’20. SciTePress, Setúbal, Portugal, 171–180.
DOI: Google ScholarCross Ref
Index Terms
Modelling and Analysing Replica- and Fault-aware Management of Horizontally Scalable Applications
Recommendations
Fault-aware management protocols for multi-component applications
Highlights- We introduce and characterise fault-aware management protocols.
- We show how ...
AbstractNowadays, applications are composed by multiple heterogeneous components, whose management must be suitably coordinated by taking into account inter-component dependencies and potential failures. In this paper, we first present fault-...
Replica Management for Fault-Tolerant Systems
Many replica management approaches have been developed in the literature ncluding the state machine approach and the primary/back-up approach. In these approaches, applications are replicated on different processing elements, each instance of the ...
Application-Aware Byzantine Fault Tolerance
DASC '14: Proceedings of the 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure ComputingByzantine fault tolerance has been intensively studied over the past decade as a way to enhance the intrusion resilience of computer systems. However, state-machine-based Byzantine fault tolerance algorithms require deterministic application processing ...






Comments