Model-based fleet deployment of edge computing applications

Edge computing brings software in close proximity to end users and IoT devices. Given the increasing number of distributed Edge devices with various contexts, as well as the widely adopted continuous delivery practices, software developers need to maintain multiple application versions and frequently (re-)deploy them to a fleet of many devices with respect to their contexts. Doing this correctly and efficiently goes beyond manual capabilities and requires employing an intelligent and reliable automated approach. Accordingly this paper describes a joint research with a Smart Healthcare application provider on a model-based approach to automatically assigning multiple software deployments to hundreds of Edge gateways. From a Platform-Specific Model obtained from the existing Edge computing platform, we extract a Platform-Independent Model that describes a list of target devices and a pool of available deployments. Next, we use constraint solving to automatically assign deployments to devices at once, given their specific contexts. The resulting solution is transformed back to the PSM as to proceed with software deployment accordingly. We validate the approach with a Fleet Deployment prototype integrated into the DevOps toolchain currently used by the application provider. Initial experiments demonstrate the viability of the approach and its usefulness in supporting DevOps in Edge computing applications.

[1]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[2]  Kaibin Huang,et al.  Energy-Efficient Resource Allocation for Mobile-Edge Computation Offloading , 2016, IEEE Transactions on Wireless Communications.

[3]  David W. Pentico,et al.  Assignment problems: A golden anniversary survey , 2007, Eur. J. Oper. Res..

[4]  Sebastian Voss,et al.  Bringing DSE to Life: Exploring the Design Space of an Industrial Automotive Use Case , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[5]  Elisabetta Di Nitto,et al.  Model-driven continuous deployment for quality DevOps , 2016, QUDOS@ISSTA.

[6]  Manuel Wimmer,et al.  Towards a Model-Based DevOps for Cyber-Physical Systems , 2019, DEVOPS.

[7]  Rustem Dautov,et al.  Towards IoT Diversity via Automated Fleet Management , 2019, MDE4IoT/ModComp@MoDELS.

[8]  Carlos Ansótegui,et al.  Satisfiability Modulo Theories: An Efficient Approach for the Resource-Constrained Project Scheduling Problem , 2011, SARA.

[9]  Sebastian Voss,et al.  From Deployment to Platform Exploration: Automatic Synthesis of Distributed Automotive Hardware Architectures , 2018, MoDELS.

[10]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[11]  Mateu Villaret,et al.  Solving constraint satisfaction problems with SAT modulo theories , 2012, Constraints.

[12]  A. Bucchiarone,et al.  Exploiting Multi-level Modelling for Designing and Deploying Gameful Systems , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS).

[13]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

[14]  Aniruddha S. Gokhale,et al.  CHARIOT: Goal-Driven Orchestration Middleware for Resilient IoT Systems , 2018, ACM Trans. Cyber Phys. Syst..

[15]  Temel Öncan,et al.  A Survey of the Generalized Assignment Problem and Its Applications , 2007, INFOR Inf. Syst. Oper. Res..

[16]  Schahram Dustdar,et al.  A Scalable Framework for Provisioning Large-Scale IoT Deployments , 2016, ACM Trans. Internet Techn..

[17]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[18]  Maria Paola Bonacina,et al.  Satisfiability Modulo Theories and Assignments , 2017, CADE.

[19]  Jeffrey H. Reed,et al.  Understanding the software communications architecture , 2009, IEEE Communications Magazine.