skip to main content
research-article

An educational toolkit for teaching cloud computing

Published:03 December 2021Publication History
Skip Abstract Section

Abstract

In an educational context, experimenting with a real cloud computing platform is very important to let students understand the core concepts, methodologies and technologies of cloud computing. However, API heterogeneity of cloud providers complicates the experimentation by forcing students to focus on the use of different APIs, and by hindering the jointly use of different platforms. In this paper, we present EasyCloud, a toolkit enabling the easy and effective use of different cloud platforms. In particular, we describe its features, architecture, scalability, and use in our cloud computing courses, as well as the pedagogical insights we learnt over the years.

References

  1. ACM/IEEE-CS. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ACM/IEEE-CS. 2016. Computer Engineering Curricula 2016: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. Technical Report CE2016. ACM.Google ScholarGoogle Scholar
  3. Amazon. 2021. Request throttling for the Amazon EC2 API. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/throttling.htmlGoogle ScholarGoogle Scholar
  4. C. Anglano and M. Botta. 2002. NOW G-net: Learning classification programs on networks of workstations. IEEE Transactions on Evolutionary Computation 6, 5 (2002), 463--480.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2017. FCMS: A fuzzy controller for CPU and memory consolidation under SLA constraints. Concurrency Computat.: Pract. Exper. 29, 5 (2017), e3968.Google ScholarGoogle ScholarCross RefCross Ref
  6. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2018. Profit-aware Resource Management for Edge Computing Systems. In Proc. of the 1st International Workshop on Edge Systems, Analytics and Networking (EdgeSys). 25--30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2018. Prometheus: A flexible toolkit for the experimentation with virtualized infrastructures. Concurrency Computat.: Pract. Exper. 30, 11 (2018), e4400.Google ScholarGoogle ScholarCross RefCross Ref
  8. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2020. Easy-Cloud: a Rule based Toolkit for Multi-platform Cloud/Edge Service Management. In Proc. of the 2020 Fifth International Conference on Fog and Mobile Edge Computing (FMEC) (Paris, France). IEEE, 188--195. Google ScholarGoogle ScholarCross RefCross Ref
  9. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2020. Teaching Cloud Computing: Motivations, Challenges and Tools. In Proc. of the 2020 IEEE International Parallel and Distrituted Processing Symposium Workshops (IPDPSW) (New Orleans, LA, USA). IEEE, 300--306. Google ScholarGoogle ScholarCross RefCross Ref
  10. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2021. Easy-Cloud: Multi-clouds made easy. In Proc. of the 2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC). 526--531. Google ScholarGoogle ScholarCross RefCross Ref
  11. Cosimo Anglano, Massimo Canonico, and Marco Guazzone. 2021. Easy-Cloud repository. Available: https://gitlab.di.unipmn.it/DCS/easycloud. Accessed: May 28, 2021.Google ScholarGoogle Scholar
  12. Apache Software Foundation. 2021. The Java Multi-Cloud Toolkit. Available: https://jclouds.apache.org/. Accessed: May 28, 2021.Google ScholarGoogle Scholar
  13. Jerry Banks, John S. Carson, Barry L. Nelson, and David M. Nicol. 2010. Discrete-Event System Simulation (5th ed.). Prentice Hall.Google ScholarGoogle Scholar
  14. Shannon Bradshaw, Eoin Brazil, and Kristina Chodorow. 2019. MongoDB: The Definitive Guide (3 ed.). O'Reilly.Google ScholarGoogle Scholar
  15. Brian Brazil. 2018. Prometheus: Up & Running. O'Reilly.Google ScholarGoogle Scholar
  16. Massimo Canonico and Marco Guazzone. 2021. Teaching Cloud Computing website. Available: https://tcc.uniupo.it. Accessed: August 2, 2021.Google ScholarGoogle Scholar
  17. Josiah Carlson. 2013. Redis in Action. Manning.Google ScholarGoogle Scholar
  18. Jeff Carpenter and Eben Hewitt. 2020. Cassandra: The Definitive Guide (3 ed.). O'Reilly.Google ScholarGoogle Scholar
  19. Jason Cole and Helen Foster. 2007. Using Moodle: Teaching with the popular open source course management system. O'Reilly Media, Inc.Google ScholarGoogle Scholar
  20. Google. 2021. Codelabs. Available: https://codelabs.developers.google.com/. Accessed: May 28, 2021.Google ScholarGoogle Scholar
  21. InternetNews. 2021. Why 'Cloud Computing' Is for the Birds. Available: https://www.internetnews.com/blog/why-cloud-computing-is-for-the-birds/. Accessed: August 2, 2021.Google ScholarGoogle Scholar
  22. Yaser Jararweh, Zakarea Alshara, Moath Jarrah, Mazen Kharbutli, and Mohammad N. Alsaleh. 2013. TeachCloud: a cloud computing educational toolkit. International Journal of Cloud Computing 2, 2--3 (2013), 237--257. PMID: 55269. Google ScholarGoogle ScholarCross RefCross Ref
  23. Kate Keahey, Jason Anderson, Zhuo Zhen, Pierre Riteau, Paul Ruth, Dan Stanzione, Mert Cevik, Jacob Colleran, Haryadi S. Gunawi, Cody Hammock, Joe Mambretti, Alexander Barnes, François Halbah, Alex Rocha, and Joe Stubbs. 2020. Lessons Learned from the Chameleon Testbed. In Proc. of the 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, 219--233. https://www.usenix.org/conference/atc20/presentation/keaheyGoogle ScholarGoogle Scholar
  24. Jay Kreps, Neha Narkhede, and Jun Rao. 2011. Kafka: A Distributed Messaging System for Log Processing. In Proc. of the 6th International Workshop on Networking Meets Databases (NetDB).Google ScholarGoogle Scholar
  25. Rensis Likert. 1932. A Technique for the Measurement of Attitudes. Archives of Psychology 22, 140 (1932), 1--55.Google ScholarGoogle Scholar
  26. Linux System. 2021. The stress tool. Available: https://https://linux.die.net/man/1/stress. Accessed: May 28, 2021.Google ScholarGoogle Scholar
  27. Peter M. Mell and Timothy Grance. 2011. The NIST Definition of Cloud Computing. Technical Report SP 800-145. NIST, Gaithersburg, MD, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stefania Montani and Cosimo Anglano. 2006. Case-Based Reasoning for Autonomous Service Failure Diagnosis and Remediation in Software Systems. In Advances in Case-Based Reasoning, Thomas R. Roth-Berghofer, Mehmet H. Göker, and H. Altay Güvenir (Eds.). Springer Berlin Heidelberg, 489--503.Google ScholarGoogle Scholar
  29. qwiklabs. 2021. Hands-On Cloud Training. Available: https://www.qwiklabs.com. Accessed: May 28, 2021.Google ScholarGoogle Scholar
  30. Naomi B. Robbins and Richard M. Heiberger. 2011. Plotting Likert and other rating scales. In Proc. of the 2011 Joint Statistical Meeting, Vol. 1.Google ScholarGoogle Scholar
  31. Bruce Snyder, Dejan Bosanac, and Rob Davies. 2011. ActiveMQ in Action. Manning.Google ScholarGoogle Scholar
  32. Ian Stoica and Scott Shenker. 2021. From Cloud Computing to Sky Computing. In Proc. of the 18th Workshop on Hot Topics in Operating Systems (HotOS).Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. Tranoris. 2011. Adopting the DSM paradigm: Defining federation scenarios through resource brokers for experimentally driven research. In Proc. of 12th IFIP/IEEE International Symposium on Integrated Network Management (IM) and Workshops. 1140--1147. Google ScholarGoogle ScholarCross RefCross Ref
  34. Alvaro Videla and Jason J.W. Williams. 2012. RabbitMQ in Action: Distributed Messaging for Everyone. Manning.Google ScholarGoogle Scholar
  35. Gregor Von Laszewski, Fugang Wang, Hyungro Lee, Heng Chen, and Geoffrey C Fox. 2014. Accessing multiple clouds with cloudmesh. In Proc. of the 2014 ACM international workshop on Software-defined ecosystems (BigSystem). 21--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Michael Joseph Walsh. 2021. Intellect: A Domain-specific language and Rules Engine for Python. Available: https://github.com/nemonik/Intellect. Accessed: May 28, 2021.Google ScholarGoogle Scholar

Index Terms

  1. An educational toolkit for teaching cloud computing

    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

    Full Access

    • Published in

      cover image ACM SIGCOMM Computer Communication Review
      ACM SIGCOMM Computer Communication Review  Volume 51, Issue 4
      October 2021
      49 pages
      ISSN:0146-4833
      DOI:10.1145/3503954
      Issue’s Table of Contents

      Copyright © 2021 Copyright is held by the owner/author(s)

      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 3 December 2021

      Check for updates

      Qualifiers

      • research-article
    • Article Metrics

      • Downloads (Last 12 months)26
      • Downloads (Last 6 weeks)4

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader