Skip to main content

Software Engineering in the Cloud

Abstract

The computing infrastructure on which engineers develop and deploy software has evolved significantly in recent years. The rapid growth of cloud computing services mean that infrastructure and platform components are becoming more decentralized (owned by others, often far away from the development or operating organization) and more elastic (with the ability to provision and de-provision them at will). Infrastructure-as-a-Service (IaaS) capabilities provide the raw resources needed to deploy software—computing, storage, and networking. Platform-as-a-Service (PaaS) offerings provide important software components as commodity services—databases, identity and access management, security, analytics, various kinds of middleware, and much more. New virtualization and packaging techniques for software that can take advantage of cloud computing, such as containers, provide new opportunities for rapid and automated testing, deployment, and scaling of software systems. This enables new software delivery models, such as continuous deployment of new software to production environments and frequent, transparent A/B testing of new features. These changes are having an impact on software development environments, as well, with more development tasks and workflow steps moving to the cloud. This chapter will briefly explore these technologies and their relationships to one another, and explore their impacts on the practice of software engineering.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-030-00262-6_13
  • Chapter length: 26 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   169.00
Price excludes VAT (USA)
  • ISBN: 978-3-030-00262-6
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Hardcover Book
USD   219.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Fox, A., Griffith, R., Joseph, A., Katz, R., Konwinski, A., Lee, G., et al.: Above the clouds: A Berkeley view of cloud computing. Department of Electrical Engineering and Computer Sciences, University of California, Berkeley, Rep. UCB/EECS, 28(13) (2009)

    Google Scholar 

  2. Mell, P., Grance, T.: The NIST definition of cloud computing. NIST Publication SP 800-145 (2011). https://csrc.nist.gov/publications/detail/sp/800-145/final

  3. Creasy, R.J.: The origin of the VM/370 time-sharing system. IBM J. Res. Dev. 25(5), 483–490 (1981)

    CrossRef  Google Scholar 

  4. Marshall, D.: Understanding Full Virtualization, Paravirtualization, and Hardware Assist. VMWare White Paper (2007)

    Google Scholar 

  5. Kreutz, D., Ramos, F.M., Verissimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: A comprehensive survey. Proc. IEEE. 103(1), 14–76 (2015)

    CrossRef  Google Scholar 

  6. Bridgwater, A.: What is bare-metal cloud? Computer Weekly Application Developer Network (2013). http://www.computerweekly.com/blog/CW-Developer-Network/What-is-bare-metal-cloud

  7. Amazon.com: Using the Query API (2017). http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using_the_Query_API.html

  8. Fielding, R.T., Taylor, R.N.: Principled design of the modern Web architecture. ACM Trans. Internet Technol. 2(2), 115–150 (2002)

    CrossRef  Google Scholar 

  9. Cattell, R.: Scalable SQL and NoSQL data stores. ACM SIGMOD Rec. 39(4), 12–27 (2011)

    CrossRef  Google Scholar 

  10. Free Software Foundation: Why the Affero GPL (2015). https://www.gnu.org/licenses/why-affero-gpl.en.html

  11. Verma, D.C.: Supporting Service Level Agreements on IP Networks. MacMillan Technical Publishing, Basingstoke (1999)

    Google Scholar 

  12. Soltesz, S., Pötzl, H., Fiuczynski, M.E., Bavier, A., & Peterson, L.:. Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors. In: ACM SIGOPS Operating Systems Review, vol. 41, no. 3, pp. 275–287. ACM (2007)

    Google Scholar 

  13. Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., et al.: Xen and the art of virtualization. In: ACM SIGOPS Operating Systems Review, vol. 37, no. 5, pp. 164–177. ACM (2003, October)

    CrossRef  Google Scholar 

  14. Garfinkel, S., Abelson, H.: Architects of the Information Society: 35 Years of the Laboratory for Computer Science at MIT. MIT Press, Cambridge, MA (1999)

    Google Scholar 

  15. Ritchie, O.M., Thompson, K.: The UNIX Time-Sharing System. Bell Syst. Tech. J. 57(6), 1905–1929 (1978)

    CrossRef  Google Scholar 

  16. Foster, I., Kesselman, C. (eds.): The Grid 2: Blueprint for a New Computing Infrastructure. Elsevier (2003)

    Google Scholar 

  17. Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. Commun. ACM. 51(1), 107–113 (2008)

    CrossRef  Google Scholar 

  18. Bialecki, A., Cafarella, M., Cutting, D., O’Malley, O.: Hadoop: A Framework for Running Applications on Large Clusters Built of Commodity Hardware. http://hadoop.apache.org/

  19. White, T.: Hadoop: The definitive guide. O’Reilly Media, Sebastopol, CA (2012)

    Google Scholar 

  20. Barr, J.: Amazon EC2 Beta. Amazon AWS Blog (2006). https://aws.amazon.com/blogs/aws/amazon_ec2_beta/

  21. Wardley, S.: On open source, gameplay and cloud. “Bits or Pieces” blog (2015). Archived at http://web.archive.org/web/20160308014753/http://blog.gardeviance.org/2015/02/on-open-source-gameplay-and-cloud.html

  22. Google: App Engine. https://cloud.google.com/appengine/

  23. Bianchi, A.: Upstarts: ASPs. INC Magazine (2000). https://www.inc.com/magazine/20000401/18093.html

  24. Craddock, D. (2010). A Short History of Hotmail. Archived at https://web.archive.org/web/20100426043450/http://windowsteamblog.com/blogs/windowslive/archive/2010/01/06/a-short-history-of-hotmail.aspx

  25. McCarthy, B. (2016). A Brief History of Salesforce.com. http://www.salesforceben.com/brief-history-salesforce-com/

  26. Keller, A., Ludwig, H.: The WSLA framework: Specifying and monitoring service level agreements for web services. J. Netw. Syst. Manag. 11(1), 57–81 (2003)

    CrossRef  Google Scholar 

  27. Lamanna, D.D., Skene, J., Emmerich, W.: SLAng: A Language for Service Level Agreements. IEEE Computer Society Press, Los Alamitos, CA (2003)

    Google Scholar 

  28. Tsidulko, J.: The 10 Biggest Cloud Outages of 2016. CRN (2016) http://www.crn.com/slide-shows/cloud/300083247/the-10-biggest-cloud-outages-of-2016.htm

  29. Barr, J.: AWS Import/Export: Ship Us That Disk! Amazon AWS Blog (2009). https://aws.amazon.com/blogs/aws/send-us-that-data/

  30. Gubbi, J., Buyya, R., Marusic, S., Palaniswami, M.: Internet of Things (IoT): A vision, architectural elements, and future directions. Futur. Gener. Comput. Syst. 29(7), 1645–1660 (2013)

    CrossRef  Google Scholar 

  31. Manyika, J., Chui, M., Brown, B., Bughin, J., Dobbs, R., Roxburgh, C., Byers, A.H.: Big data: The next frontier for innovation, competition, and productivity. McKinsey Global Institute Report (2011). https://bigdatawg.nist.gov/pdf/MGI_big_data_full_report.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eric M. Dashofy .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Dashofy, E.M. (2019). Software Engineering in the Cloud. In: Cha, S., Taylor, R., Kang, K. (eds) Handbook of Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-030-00262-6_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00262-6_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00261-9

  • Online ISBN: 978-3-030-00262-6

  • eBook Packages: Computer ScienceComputer Science (R0)