Advertisement

Experimenting with Liveness in Cloud Infrastructure Management

  • Pedro Lourenço
  • João Pedro DiasEmail author
  • Ademar Aguiar
  • Hugo Sereno Ferreira
  • André Restivo
Conference paper
  • 36 Downloads
Part of the Communications in Computer and Information Science book series (CCIS, volume 1172)

Abstract

Cloud computing has been playing a significant role in the provisioning of services over the Internet since its birth. However, developers still face several challenges limiting its full potential. The difficulties are mostly due to the large, ever-growing, and ever-changing catalog of services offered by cloud providers. As a consequence, developers must deal with different cloud services in their systems; each managed almost individually and continually growing in complexity. This heterogeneity may limit the view developers have over their system architectures and make the task of managing these resources more complex. This work explores the use of liveness as a way to shorten the feedback loop between developers and their systems in an interactive and immersive way, as they develop and integrate cloud-based systems. The designed approach allows real-time visualization of cloud infrastructures using a visual city metaphor. To assert the viability of this approach, the authors conceived a proof-of-concept and carried on experiments with developers to assess its feasibility.

Keywords

Cloud computing Internet-of-things software engineering Live programming 

References

  1. 1.
    Aguiar, A., Restivo, A., Figueiredo Correia, F., Ferreira, H.S., Dias, J.P.: Live software development: tightening the feedback loops. In: Conference Companion of the 3rd International Conference on Art, Science, and Engineering of Programming. Programming 2019 Companion (2019)Google Scholar
  2. 2.
    Amaral, D., Domingues, G., Dias, J.P., Ferreira, H.S., Aguiar, A., Nóbrega, R.: Live software development environment for Java using virtual reality. In: Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. ENASE, vol. 1, pp. 37–46 (2019)Google Scholar
  3. 3.
    Amazon, A.: Announcing Amazon Elastic Compute Cloud (Amazon EC2) - beta (2006). https://aws.amazon.com/about-aws/whats-new/2006/08/24/announcing-amazon-elastic-compute-cloud-amazon-ec2---beta/. Accessed 07 2019
  4. 4.
    Amazon Web Services: what is devops? (2017). https://aws.amazon.com/pt/devops/what-is-devops/
  5. 5.
    Anicas, M.: Getting started with puppet code: manifests and modules (2014). https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules
  6. 6.
    Ardagna, D., et al.: MODA CLOUDS: a model-driven approach for the design and execution of applications on multiple clouds. In: Modeling in Software Engineering, pp. 50–56 (2012)Google Scholar
  7. 7.
    Armbrust, M., Fox, A., Griffith, R., Joseph, A., Katz, R.H.: Above the clouds: a Berkeley view of cloud computing. Technical report, University of California, Berkeley, UCB, p. 1 (2009)Google Scholar
  8. 8.
    Brikman, Y.: Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation (2016). https://blog.gruntwork.io/
  9. 9.
    Buyya, R., Broberg, J., Goscinski, A.: Cloud Computing Principles and Paradigms. Wiley, Hoboken (2011)CrossRefGoogle Scholar
  10. 10.
    Cachin, C., Schunter, M.: A cloud you can trust. IEEE Spectr. 48(12), 28–51 (2011)CrossRefGoogle Scholar
  11. 11.
    Microsoft Corporation: Microsoft Azure IoT Reference Architecture. Technical report, Microsoft Corporation (2016). https://azure.microsoft.com/de-de/updates/microsoft-azure-iot-reference-architecture-available/
  12. 12.
    Dias, J.P., Faria, J.P., Ferreira, H.S.: A reactive and model-based approach for developing internet-of-things systems. In: 2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 276–281, September 2018Google Scholar
  13. 13.
    Diehl, S.: Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-46505-8CrossRefzbMATHGoogle Scholar
  14. 14.
    Dillon, T., Wu, C., Chang, E.: Cloud computing: issues and challenges. In: 2010 24th IEEE International Conference on Advanced Information Networking and Applications, pp. 27–33, April 2010Google Scholar
  15. 15.
    Edwards, D.: What is devops? (2010). http://dev2ops.org/2010/02/what-is-devops/
  16. 16.
    Erian, T.E.: The XaaS family: understanding IaaS, PaaS and SaaS (2018). https://www.ibm.com/blogs/cloud-computing/2014/10/31/xaas-family-iaas-paas-saas-explained/
  17. 17.
    Fittkau, F., Waller, J., Wulf, C., Hasselbring, W.: Live trace visualization for comprehending large software landscapes: the explorviz approach. In: 2013 First IEEE Working Conference on Software Visualization (VISSOFT), pp. 1–4, September 2013Google Scholar
  18. 18.
    Fittkau, F., Krause, A., Hasselbring, W.: Exploring software cities in virtual reality. In: 2015 IEEE 3rd Working Conference on Software Visualization, VISSOFT 2015 - Proceedings, pp. 130–134 (2015)Google Scholar
  19. 19.
    Fraser, S.D., et al.: No silver bullet reloaded: retrospective on essence and accidents of software engineering. In: Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, pp. 1026–1030. ACM (2007)Google Scholar
  20. 20.
    Hancock, C.M.: Real-time programming and the big ideas of computational literacy. Ph.D. thesis, Massachusetts Institute of Technology (2003)Google Scholar
  21. 21.
    HashiCorp: Terraform vs. other software (2017). https://www.terraform.io/intro/vs/index.html
  22. 22.
    Heidi, E.: An introduction to configuration management (2016). https://www.digitalocean.com/community/tutorials/an-introduction-to-configuration-management
  23. 23.
    Junior, F.M.R., da Rocha, T.: Model-based approach to automatic software deployment in cloud. In: CLOSER, pp. 151–157 (2014)Google Scholar
  24. 24.
    Kapec, P.: Visualizing software artifacts using hypergraphs. In: Proceedings of the 26th Spring Conference on Computer Graphics - SCCG 2010, p. 27 (2010)Google Scholar
  25. 25.
    Kavis, M.J., et al.: Architecting the Cloud: Design Decisions for CloudComputing Service Models (SaaS, PaaS, and IaaS). Wiley, Hoboken (2013)Google Scholar
  26. 26.
    Kent, S.: Model driven engineering. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. Lecture Notes in Computer Science, vol. 2335, pp. 286–298. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-47884-1_16CrossRefGoogle Scholar
  27. 27.
    Kerzazi, N., Adams, B.: Who needs release and devops engineers, and why? In: Proceedings of the International Workshop on Continuous Software Evolution and Delivery - CSED 2016, pp. 77–83 (2016)Google Scholar
  28. 28.
    Lanza, M.: CodeCrawler - Polymetric views in action. In: Proceedings - 19th International Conference on Automated Software Engineering, ASE 2004, pp. 394–395 (2004)Google Scholar
  29. 29.
    Lanza, M., Ducasse, S.: Polymetric views-a lightweight visual approach to reverse engineering. Trans. Softw. Eng. (TSE) 29(9), 782–795 (2003)CrossRefGoogle Scholar
  30. 30.
    Li, A., Yang, X., Kandula, S., Zhang, M.: CloudCmp: comparing public cloud providers. In: Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement, IMC 2010, pp. 1–14. ACM, New York (2010)Google Scholar
  31. 31.
    Linthicum, D.S.: Understanding complex cloud patterns. IEEE Cloud Comput. 3(1), 8–11 (2016)CrossRefGoogle Scholar
  32. 32.
    LourenÇo, P., Dias, J.P., Aguiar, A., Ferreira, H.S.: CloudCity: a live environment for the management of cloud infrastructures. In: Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering. ENASE, vol. 1, pp. 27–36 (2019)Google Scholar
  33. 33.
    Mastelic, T., Brandic, I., Garcia, A.G.: Towards uniform management of cloud services by applying model-driven development. In: 2014 IEEE 38th Annual Computer Software and Applications Conference, pp. 129–138 (2014)Google Scholar
  34. 34.
    McDirmid, S.: Usable live programming. In: Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, Onward! 2013, pp. 53–62. ACM, New York (2013)Google Scholar
  35. 35.
    Mcdirmid, S.: The promise of live programming. In: LIVE Programming Workshop (2016)Google Scholar
  36. 36.
    Mell, P., Grance, T.: The NIST definition of cloud computing recommendations of the national institute of standards and technology. Technical report, NIST (2011)Google Scholar
  37. 37.
    Mens, T.: On the complexity of software systems. Computer 45(8), 79–81 (2012)CrossRefGoogle Scholar
  38. 38.
    Merino, L., Ghafari, M., Anslow, C., Nierstrasz, O.: CityVR: gameful software visualization. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 633–637, September 2017Google Scholar
  39. 39.
    Janakiram, M.S.V.: AWS service sprawl starts to hurt the cloud ecosystem (2018). https://www.forbes.com/sites/janakirammsv/2018/01/08/aws-service-sprawl-starts-to-hurt-the-cloud-ecosystem/#44616e775c1f. Accesseed July 2019
  40. 40.
    Nunes, R., Reboucas, M., Soares-Neto, F., Castor, F.: Visualizing swift projects as cities. In: Proceedings - 2017 IEEE/ACM 39th International Conference on Software Engineering Companion, ICSE-C 2017, pp. 368–370 (2017)Google Scholar
  41. 41.
    Object Management Group, Inc.: Introduction to OMG’s unified modeling language (2005). http://www.uml.org/what-is-uml.htm
  42. 42.
    Oladehin, O., Brett, F.: Core tenets of IoT. Technical report, Amazon Web Services (2017). https://d1.awsstatic.com/whitepapers/core-tenets-of-iot1.pdf
  43. 43.
    Opara-Martins, J., Sahandi, R., Tian, F.: Critical review of vendor lock-in and its impact on adoption of cloud computing. In: International Conference on Information Society (i-Society 2014), pp. 92–97. IEEE (2014)Google Scholar
  44. 44.
    Pinto, D., Dias, J.P., Sereno Ferreira, H.: Dynamic allocation of serverless functions in IoT environments. In: 2018 IEEE 16th International Conference on Embedded and Ubiquitous Computing (EUC), pp. 1–8, October 2018Google Scholar
  45. 45.
    Pressman, R.S., Maxim, B.R.: Software Engineering: A Practitioner’s Approach. McGraw-Hill Education, New York (2015)Google Scholar
  46. 46.
    RightScale: State of the Cloud Report. Technical report, RightScale (2017)Google Scholar
  47. 47.
    Sandobalin, J., Insfran, E., Abrahao, S.: An infrastructure modelling tool for cloud provisioning. In: Proceedings - 2017 IEEE 14th International Conference on Services Computing, SCC 2017, pp. 354–361 (2017)Google Scholar
  48. 48.
    Sayers, D.: Configuration management vs. application release automation (2017). https://devops.com/configuration-management-vs-application-release-automation/
  49. 49.
    McDirmid, S.: Live programming as gradual abstraction. In: LIVE Programming Workshop (2017)Google Scholar
  50. 50.
    Sensalire, M., Ogao, P., Telea, A.: Evaluation of software visualization tools: lessons learned. In: 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis, pp. 19–26 (2009)Google Scholar
  51. 51.
    Serrano, N., Gallardo, G., Hernantes, J.: Infrastructure as a service and cloud technologies. IEEE Softw. 32, 30–36 (2015)CrossRefGoogle Scholar
  52. 52.
    Tanimoto, S.L.: VIVA: a visual language for image processing. J. Vis. Lang. Comput. 1, 127–139 (1990)CrossRefGoogle Scholar
  53. 53.
    Tanimoto, S.L.: A perspective on the evolution of live programming. In: 2013 1st International Workshop on Live Programming, LIVE 2013 - Proceedings, pp. 31–34 (2013)Google Scholar
  54. 54.
    Tosatto, A., Ruiu, P., Attanasio, A.: Container-based orchestration in cloud: state of the art and challenges. In: Proceedings - 2015 9th International Conference on Complex, Intelligent, and Software Intensive Systems, CISIS 2015, pp. 70–75 (2015)Google Scholar
  55. 55.
    Vaquero, L.M., Rodero-Merino, L., Caceres, J., Lindner, M.: A break in the clouds: towards a cloud definition. ACM SIGCOMM Comput. Commun. Rev. 39(1), 50–55 (2008)CrossRefGoogle Scholar
  56. 56.
    Vincur, J., Navrat, P., Polasek, I.: VR City: software analysis in virtual reality environment. In: 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C), pp. 509–516 (2017)Google Scholar
  57. 57.
    Wettel, R., Lanza, M., Robbes, R.: Software systems as cities. In: Proceeding of the 33rd International Conference on Software Engineering - ICSE 2011 (2011)Google Scholar
  58. 58.
    Wettinger, J., et al.: Integrating configuration management with model-driven cloud management based on TOSCA. In: CLOSER 2013 - Proceedings of the 3rd International Conference on Cloud Computing and Services Science, pp. 437–446 (2013)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Pedro Lourenço
    • 1
    • 3
  • João Pedro Dias
    • 1
    • 2
    • 3
    Email author
  • Ademar Aguiar
    • 1
    • 2
    • 3
  • Hugo Sereno Ferreira
    • 1
    • 2
    • 3
  • André Restivo
    • 1
    • 2
    • 3
  1. 1.DEI, Faculty of EngineeringUniversity of PortoPortoPortugal
  2. 2.INESC TECPortoPortugal
  3. 3.LIACCPortoPortugal

Personalised recommendations