[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2786805.2786826acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

The making of cloud applications: an empirical study on software development for the cloud

Published: 30 August 2015 Publication History

Abstract

Cloud computing is gaining more and more traction as a deployment and provisioning model for software. While a large body of research already covers how to optimally operate a cloud system, we still lack insights into how professional software engineers actually use clouds, and how the cloud impacts development practices. This paper reports on the first systematic study on how software developers build applications for the cloud. We conducted a mixed-method study, consisting of qualitative interviews of 25 professional developers and a quantitative survey with 294 responses. Our results show that adopting the cloud has a profound impact throughout the software development process, as well as on how developers utilize tools and data in their daily work. Among other things, we found that (1) developers need better means to anticipate runtime problems and rigorously define metrics for improved fault localization and (2) the cloud offers an abundance of operational data, however, developers still often rely on their experience and intuition rather than utilizing metrics. From our findings, we extracted a set of guidelines for cloud development and identified challenges for researchers and tool vendors.

References

[1]
R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing As the 5th Utility,” Future Generation Computer Systems, 2009.
[2]
M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica et al., “A View of Cloud Computing,” Communications of the ACM, 2010.
[3]
M. Hüttermann, DevOps for Developers. Apress, 2012.
[4]
A. Beloglazov, J. Abawajy, and R. Buyya, “Energy-Aware Resource Allocation Heuristics for Efficient Management of Data Centers for Cloud Computing,” Future Generation Computer Systems, May 2012.
[5]
P. Marshall, K. Keahey, and T. Freeman, “Improving Utilization of Infrastructure Clouds,” in Proceedings of the 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID ’11). Washington, DC, USA: IEEE Computer Society, 2011.
[6]
A. Iosup, S. Ostermann, N. Yigitbasi, R. Prodan, T. Fahringer, and D. Epema, “Performance Analysis of Cloud Computing Services for Many-Tasks Scientific Computing,” IEEE Transactions on Parallel and Distributed Systems, vol. 22, no. 6, Jun. 2011.
[7]
A. Barker, B. Varghese, J. S. Ward, and I. Sommerville, “Academic Cloud Computing Research: Five Pitfalls and Five Opportunities,” in Proceedings of the 6th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 14), Jun. 2014.
[8]
P. Mell and T. Grance, “The NIST Definition of Cloud Computing,” National Institute of Standards and Technology (NIST), Gaithersburg, MD, Tech. Rep. 800-145, September 2011.
[9]
G. Lawton, “Developing Software Online With Platform-as-a-Service Technology,” Computer, vol. 41, no. 6, Jun. 2008.
[10]
L. Singer, F. Figueira Filho, and M.-A. Storey, “Software Engineering at the Speed of Light: How Developers Stay Current Using Twitter,” in Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). New York, NY, USA: ACM, 2014.
[11]
E. Murphy-Hill, T. Zimmermann, C. Bird, and N. Nagappan, “The Design of Bug Fixes,” in Proceedings of the 2013 International Conference on Software Engineering (ICSE’13), 2013.
[12]
A. Khajeh-Hosseini, I. Sommerville, and I. Sriram, “Research Challenges for Enterprise Cloud Computing,” CoRR, vol. abs/1001.3257, 2010.
[13]
L. Mei, W. K. Chan, and T. H. Tse, “A Tale of Clouds: Paradigm Comparisons and Some Thoughts on Research Issues,” in Proceedings of the 2008 IEEE Asia-Pacific Services Computing Conference (APSCC ’08). Washington, DC, USA: IEEE Computer Society, 2008.
[14]
L. Mei, Z. Zhang, and W. K. Chan, “More Tales of Clouds: Software Engineering Research Issues from the Cloud Application Perspective,” Proceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference (COMPSAC), vol. 1, 2009.
[15]
C. P. Bezemer and A. Zaidman, “Performance optimization of deployed software-as-a-service applications,” Journal of Systems and Software, vol. 87, 2014.
[16]
B. Palanisamy, A. Singh, L. Liu, and B. Jain, “Purlieus: Locality-Aware Resource Allocation for MapReduce in a Cloud,” in Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC’11). New York, NY, USA: ACM, 2011.
[17]
R. Zabolotnyi, P. Leitner, W. Hummer, and S. Dustdar, “JCloudScale: Closing the Gap Between IaaS and PaaS,” ACM Transactions on Internet Technology (TOIT), 2015, to appear.
[18]
P. Leitner, B. Satzger, W. Hummer, C. Inzinger, and S. Dustdar, “CloudScale: A Novel Middleware for Building Transparently Scaling Cloud Applications,” in Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC’12), 2012.
[19]
K. Jayaram, “Elastic remote methods,” in Middleware 2013, ser. Lecture Notes in Computer Science, D. Eyers and K. Schwan, Eds. Springer Berlin Heidelberg, 2013.
[20]
B. Narasimhan and R. Nichols, “State of Cloud Applications and Platforms: The Cloud Adopters’ View,” Computer, vol. 44, no. 3, 2011.
[21]
P. Gupta, A. Seetharaman, and J. R. Raj, “The Usage and Adoption of Cloud Computing by Small and Medium Businesses,” International Journal of Information Management, vol. 33, no. 5, 2013.
[22]
“2014 State of DevOps Report,” Puppet Labs, IT Revolution Press, and ThoughtWorks, Tech. Rep., 2014. {Online}. Available: http://puppetlabs.com/ 2014-devops-report
[23]
R. Shiver, “Survey: Enterprise Development in the Cloud,” Gigaom Research, Tech. Rep., 2014.
[24]
R. Hoda, J. Noble, and S. Marshall, “Developing a Grounded Theory to Explain the Practices of Self-Organizing Agile Teams,” Empirical Software Engineering, 2012.
[25]
L. Bratthall and M. Jorgensen, “Can you Trust a Single Data Source Exploratory Software Engineering Case Study?” Empirical Software Engineering, 2002.
[26]
R. P. Buse and T. Zimmermann, “Information needs for software development analytics,” in Proceedings of the 34th International Conference on Software Engineering.
[27]
X. Tang, Z. Zhang, M. Wang, Y. Wang, Q. Feng, and J. Han, “Performance Evaluation of Light-Weighted Virtualization for PaaS in Clouds,” in Algorithms and Architectures for Parallel Processing. Springer, 2014.
[28]
S. Newman, Building Microservices. O’Reilly, 2015.
[29]
J. Cito, D. Suljoti, P. Leitner, and S. Dustdar, “Identifying Root-Causes of Web Performance Degradation using Changepoint Analysis,” in Proceedings of the 14th International Conference on Web Engineering (ICWE). Springer Berlin Heidelberg, 2014.
[30]
J. Cito, D. Gotowka, P. Leitner, R. Pelette, D. Suljoti, and S. Dustdar, “Identifying Web Performance Degradations through Synthetic and Real-User Monitoring,” J. Web Eng., vol. 14, no. 5-6, Jul. 2015.
[31]
P. Leitner and J. Cito, “Patterns in the Chaos - a Study of Performance Variation and Predictability in Public IaaS Clouds,” ArXiv e-prints, 2014.
[32]
J. Cito, P. Leitner, H. C. Gall, A. Dadashi, A. Keller, and A. Roth, “Runtime Metric meets Developer - Building better Cloud Applications using Feedback,” in Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2015), 2015.

Cited By

View all
  • (2023)Connecting the .dotfiles: Checked-In Secret Exposure with Extra (Lateral Movement) Steps2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR)10.1109/MSR59073.2023.00051(322-333)Online publication date: May-2023
  • (2023)Did We Miss Something Important? Studying and Exploring Variable-Aware Log Abstraction2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00078(830-842)Online publication date: May-2023
  • (2023)SNNLog: A Log Parsing Scheme with Siamese Network and Fixed Depth Tree in Networks2023 26th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD57460.2023.10152745(1025-1030)Online publication date: 24-May-2023
  • Show More Cited By

Index Terms

  1. The making of cloud applications: an empirical study on software development for the cloud

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
    August 2015
    1068 pages
    ISBN:9781450336758
    DOI:10.1145/2786805
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 August 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cloud computing
    2. user study

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE'15
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)95
    • Downloads (Last 6 weeks)13
    Reflects downloads up to 02 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Connecting the .dotfiles: Checked-In Secret Exposure with Extra (Lateral Movement) Steps2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR)10.1109/MSR59073.2023.00051(322-333)Online publication date: May-2023
    • (2023)Did We Miss Something Important? Studying and Exploring Variable-Aware Log Abstraction2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00078(830-842)Online publication date: May-2023
    • (2023)SNNLog: A Log Parsing Scheme with Siamese Network and Fixed Depth Tree in Networks2023 26th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD57460.2023.10152745(1025-1030)Online publication date: 24-May-2023
    • (2023)A qualitative study of architectural design issues in DevOpsJournal of Software: Evolution and Process10.1002/smr.237935:5Online publication date: 25-Apr-2023
    • (2022)Cloud Enhances Agile Software DevelopmentResearch Anthology on Agile Software, Software Development, and Testing10.4018/978-1-6684-3702-5.ch025(491-507)Online publication date: 2022
    • (2022)Teaching software processes from different application domainsProceedings of the XXI Brazilian Symposium on Software Quality10.1145/3571473.3571488(1-10)Online publication date: 7-Nov-2022
    • (2022)LogAssist: Assisting Log Analysis Through Log SummarizationIEEE Transactions on Software Engineering10.1109/TSE.2021.308371548:9(3227-3241)Online publication date: 1-Sep-2022
    • (2022)A Survey on the Adoption of Patterns for Engineering Software for the CloudIEEE Transactions on Software Engineering10.1109/TSE.2021.305217748:6(2128-2140)Online publication date: 1-Jun-2022
    • (2022)As Code Testing: Characterizing Test Quality in Open Source Ansible Development2022 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST53961.2022.00031(208-219)Online publication date: Apr-2022
    • (2022)An Effective Approach for Parsing Large Log Files2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00009(1-12)Online publication date: Oct-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media