CloudsStorm: A framework for seamlessly programming and controlling virtual infrastructure functions during the DevOps lifecycle of cloud applications

The infrastructure‐as‐a‐service (IaaS) model of cloud computing provides virtual infrastructure functions (VIFs), which allow application developers to flexibly provision suitable virtual machines' (VM) types and locations, and even configure the network connection for each VM. Because of the pay‐as‐you‐go business model, IaaS provides an elastic way to operate applications on demand. However, in current cloud applications DevOps (software development and operations) lifecycle, the VM provisioning steps mainly rely on manually leveraging these VIFs. Moreover, these functions cannot be programmatically embedded into the application logic to control the infrastructure at runtime. Especially, the vendor lock‐in issue, which different clouds provide different VIFs, also enlarges this gap between the cloud infrastructure management and application operation. To mitigate this gap, we designed and implemented a framework, CloudsStorm, which enables developers to easily leverage VIFs of different clouds and program them into their cloud applications. To be specific, CloudsStorm empowers applications with infrastructure programmability at design‐level, infrastructure‐level, and application‐level. CloudsStorm also provides two infrastructure controlling modes, ie, active and passive mode, for applications at runtime. Besides, case studies about operating task‐based and big data applications on clouds show that the monetary cost is significantly reduced through the seamless and on‐demand infrastructure management provided by CloudsStorm. Finally, the scaling and recovery operation evaluations of CloudsStorm are performed to show its controlling performance. Compared with other tools, ie, “jcloud” and “cloudinit.d”, the scaling and provisioning performance evaluations demonstrate that CloudsStorm can achieve at least 10% efficiency improvement in our experiment settings.

[1]  Marian Bubak,et al.  SDN-aware federation of distributed data , 2016, Future Gener. Comput. Syst..

[2]  Alberto Leon-Garcia,et al.  Software-Defined Infrastructure and the SAVI Testbed , 2014, TRIDENTCOM.

[3]  Vlado Stankovski,et al.  Monitoring self-adaptive applications within edge computing frameworks: A state-of-the-art review , 2018, J. Syst. Softw..

[4]  Eloy Romero,et al.  CodeCloud: A platform to enable execution of programming models on the Clouds , 2014, J. Syst. Softw..

[5]  Rajkumar Buyya,et al.  CloudPick: a framework for QoS‐aware and ontology‐based service deployment across clouds , 2015, Softw. Pract. Exp..

[6]  Zongpeng Li,et al.  An online mechanism for dynamic virtual cluster provisioning in geo-distributed clouds , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[7]  Oliver Kopp,et al.  Streamlining DevOps automation for Cloud applications using TOSCA as standardized metamodel , 2016, Future Gener. Comput. Syst..

[8]  Alexandru Iosup,et al.  An Experimental Performance Evaluation of Autoscaling Policies for Complex Workflows , 2017, ICPE.

[9]  Alberto Leon-Garcia,et al.  SAVI testbed: Control and management of converged virtual ICT resources , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[10]  Cees T. A. M. de Laat,et al.  Dynamic Real-Time Infrastructure Planning and Deployment for Disaster Early Warning Systems , 2018, ICCS.

[11]  Kief Morris,et al.  Infrastructure as Code: Managing Servers in the Cloud , 2016 .

[12]  Cees T. A. M. de Laat,et al.  Fast Resource Co-provisioning for Time Critical Applications Based on Networked Infrastructures , 2016, 2016 IEEE 9th International Conference on Cloud Computing (CLOUD).

[13]  Rajkumar Buyya,et al.  Optimizing the makespan and reliability for workflow applications with reputation and a look-ahead genetic algorithm , 2011, Future Gener. Comput. Syst..

[14]  Duc-Hung Le,et al.  Provisioning Software-Defined IoT Cloud Systems , 2014, 2014 International Conference on Future Internet of Things and Cloud.

[15]  Jeffrey S. Chase,et al.  ExoGENI: A Multi-Domain Infrastructure-as-a-Service Testbed , 2012, The GENI Book.

[16]  Santonu Sarkar,et al.  Architectural partitioning and deployment modeling on hybrid clouds , 2018, Softw. Pract. Exp..

[17]  Antonio Brogi,et al.  TosKer: A synergy between TOSCA and Docker for orchestrating multicomponent applications , 2018, Softw. Pract. Exp..

[18]  Cees T. A. M. de Laat,et al.  Planning virtual infrastructures for time critical applications with multiple deadline constraints , 2017, Future Gener. Comput. Syst..

[19]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[20]  Liming Zhu,et al.  Runtime recovery actions selection for sporadic operations on public cloud , 2017, Softw. Pract. Exp..

[21]  Cees T. A. M. de Laat,et al.  ECSched: Efficient Container Scheduling on Heterogeneous Clusters , 2018, Euro-Par.

[22]  Salvatore Venticinque,et al.  Experiences in building a mOSAIC of clouds , 2013, Journal of Cloud Computing: Advances, Systems and Applications.

[23]  Omer F. Rana,et al.  Deadline Constrained Video Analysis via In-Transit Computational Environments , 2020, IEEE Transactions on Services Computing.

[24]  Manish Parashar,et al.  CometCloud: Enabling Software-Defined Federations for End-to-End Application Workflows , 2015, IEEE Internet Computing.

[25]  Alexandre Miquel,et al.  A Categorical Semantics for The Parallel Lambda-Calculus , 2009 .

[26]  Katarzyna Keahey,et al.  Contextualization: Providing One-Click Virtual Clusters , 2008, 2008 IEEE Fourth International Conference on eScience.

[27]  Ian Taylor,et al.  SWITCH workbench: A novel approach for the development and deployment of time-critical microservice-based cloud-native applications , 2019, Future Gener. Comput. Syst..

[28]  Stefan Schmid,et al.  Kraken: Online and elastic resource reservations for multi-tenant datacenters , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[29]  Seyed Morteza Babamir,et al.  Optimal selection of VMs for resource task scheduling in geographically distributed clouds using fuzzy c‐mean and MOLP , 2018, Softw. Pract. Exp..

[30]  Ignacio Blanquer,et al.  Dynamic Management of Virtual Infrastructures , 2015, Journal of Grid Computing.