Abstract

SummaryThe 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.

Highlights

  • DevOps puts application development and infrastructure runtime operation together to deliver good quality and reliable software

  • If the CPU or memory usage of certain virtual machines' (VM) meet the predefined threshold, the “Control Agent” performs a scaling operation according to the “Runtime Control Policy”, In the other scenario of failure recovery, the unavailability of a certain data center can be known through continuous availability detection

  • This paper has presented CloudsStorm, a framework for seamless programming and operating virtual infrastructure functions (VIFs) during the DevOps lifecycles of cloud applications

Read more

Summary

INTRODUCTION

DevOps puts application development and infrastructure runtime operation together to deliver good quality and reliable software. In the emerging fog/edge computing domain, the internet of things (IoT) applications even need to control their cloud resources close to the edge nodes on demand according to the dynamic distribution of sensors.[8] The implementation of this type of controlling mode relies on the application-level programmability support mentioned above. REST automatically perform a) control agent construction b) networked infrastructure provisioning c) application deployment and execution

THE CLOUDSSTORM FRAMEWORK AND MODELS
Framework overview
Execution model
Runtime control model
PROGRAMMABLE INFRASTRUCTURE IMPLEMENTATION
Infrastructure description code
Infrastructure execution code
Infrastructure embedded code
Runtime control policy
Infrastructure execution engine and control agent
Relevant libraries and logging
CASE STUDIES AND EVA LUATIONS
Example solution and results
Evaluation
Autoscaling and failure recovery
Comparison with related tools
RELATED WORK
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call