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 2015Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Hüttermann, DevOps for Developers. Apress, 2012. Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle Scholar
  9. G. Lawton, “Developing Software Online With Platform-as-a-Service Technology,” Computer, vol. 41, no. 6, Jun. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Khajeh-Hosseini, I. Sommerville, and I. Sriram, “Research Challenges for Enterprise Cloud Computing,” CoRR, vol. abs/1001.3257, 2010.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. P. Bezemer and A. Zaidman, “Performance optimization of deployed software-as-a-service applications,” Journal of Systems and Software, vol. 87, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  20. B. Narasimhan and R. Nichols, “State of Cloud Applications and Platforms: The Cloud Adopters’ View,” Computer, vol. 44, no. 3, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  22. “2014 State of DevOps Report,” Puppet Labs, IT Revolution Press, and ThoughtWorks, Tech. Rep., 2014. {Online}. Available: http://puppetlabs.com/ 2014-devops-reportGoogle ScholarGoogle Scholar
  23. R. Shiver, “Survey: Enterprise Development in the Cloud,” Gigaom Research, Tech. Rep., 2014.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Bratthall and M. Jorgensen, “Can you Trust a Single Data Source Exploratory Software Engineering Case Study?” Empirical Software Engineering, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. P. Buse and T. Zimmermann, “Information needs for software development analytics,” in Proceedings of the 34th International Conference on Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  28. S. Newman, Building Microservices. O’Reilly, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2015 ACM

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

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 30 August 2015

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate112of543submissions,21%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader