Skip to main content

Autonomic Decentralized Microservices: The Gru Approach and Its Evaluation

  • Chapter
  • First Online:
Microservices

Abstract

Cloud applications are more and more featuring microservices as a design pattern, using related technologies (containerization, orchestration, continuous deployment, integration, and more) to speed up design, development, and operation. However, microservices are not bullet-proof: they increase design and management issues in the cloud adding to the mix all the intrinsic complexities of highly distributed systems. This addition can render ineffective all centralized management technologies like Docker or clustering systems like Swarm and Kubernetes. Conversely, autonomic and decentralized microservices management is still largely unexplored. We address this problem with Gru, an approach based on multiagent systems that adds an autonomic adaptation layer for microservice applications focusing on Docker, the de facto market leader in container technology. Gru is designed to support fully decentralized microservices management, and can be integrated with ease in dockerized applications, managing them with autonomic actions to satisfy application quality requirements. We evaluate Gru with a concrete case study showing autoscaling dockerized microservices matching variating and bursty workloads. Evaluation shows encouraging results for Gru autonomic management.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Auto Scaling in the Amazon Cloud, http://techblog.netflix.com/2012/01/auto-scaling-in-amazon-cloud.html. Accessed 18 Jan 2017

  2. A. Balalaie, A. Heydarnoori, P. Jamshidi, Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  3. L. Baresi, S. Guinea, A. Leva, G. Quattrocchi, A discrete-time feedback controller for containerized cloud applications, in Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ACM, New York, 2016), pp. 217–228

    Google Scholar 

  4. L. Baresi, S. Guinea, A. Leva, G. Quattrocchi, A discrete-time feedback controller for containerized cloud applications, in ed. by T. Zimmermann, J. Cleland-Huang, Z. Su. Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ACM, New York, 2016), pp. 217–228. http://dblp.uni-trier.de/db/conf/sigsoft/fse2016.html#BaresiGLQ16

  5. L. Baresi, S. Guinea, G. Quattrocchi, D.A. Tamburri, Microcloud: a container-based solution for efficient resource management in the cloud, in SmartCloud (IEEE Computer Society, Washington, 2016), pp. 218–223. http://dblp.uni-trier.de/db/conf/smartcloud/smartcloud2016.html#BaresiGQT16

  6. D. Bernstein, Containers and cloud: from LXC to docker to kubernetes. IEEE Cloud Comput. 1(3), 81–84 (2014)

    Article  Google Scholar 

  7. N. Calcavecchia, B. Caprarescu, E. Di Nitto, D. Dubois, D. Petcu, DEPAS: a decentralized probabilistic algorithm for auto-scaling. Computing 94, 701–730 (2012). http://dx.doi.org/10.1007/s00607-012-0198-8

    Article  Google Scholar 

  8. J. Cámara, P. Correia, R. De Lemos, D. Garlan, P. Gomes, B. Schmerl, R. Ventura, Evolving an adaptive industrial software system to use architecture-based self-adaptation, in 2013 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) (IEEE, Piscataway, 2013), pp. 13–22

    Google Scholar 

  9. J. Cámara, P. Correia, R. de Lemos, D. Garlan, P. Gomes, B. Schmerl, R. Ventura, Incorporating architecture-based self-adaptation into an adaptive industrial software system. J. Syst. Softw. 122, 507–523 (2016)

    Article  Google Scholar 

  10. M. Caporuscio, C. Ghezzi, Engineering future internet applications: the prime approach. J. Syst. Softw. 106, 9–27 (2015). http://dx.doi.org/10.1016/j.jss.2015.03.102. http://www.sciencedirect.com/science/article/pii/S0164121215000783

    Article  Google Scholar 

  11. M. Caporuscio, V. Grassi, M. Marzolla, R. Mirandola, GoPrime: a fully decentralized middleware for utility-aware service assembly. IEEE Trans. Softw. Eng. 42(2), 136–152 (2016). https://doi.org/10.1109/TSE.2015.2476797

    Article  Google Scholar 

  12. Y. Chen, Y. Kakuda, Autonomous decentralised systems in web computing environment. Int. J. Crit. Comput.-Based Syst. 2(1), 1–5 (2011). http://dblp.uni-trier.de/db/journals/ijccbs/ijccbs2.html#ChenK11

    Article  Google Scholar 

  13. Cisco: Cisco visual networking index: forecast and methodology, 2015–2020 (2016), http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/complete-white-paper-c11-481360.html

  14. Dar, MAPE-k adaptation p control loop p (2012), https://www.bibsonomy.org/bibtex/2d3cd41f1bc9f09286bc73b1a3456827b/olemeyer

  15. Dismantling the monoliths, https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/. Accessed 26 Aug 2016

  16. Docker, https://www.docker.com/. Accessed 26 Aug 2016

  17. Docker Swarm, https://docs.docker.com/swarm/. Accessed 26 Aug 2016

  18. L. Florio, E. Di Nitto, Gru: an approach to introduce decentralized autonomic behavior in microservices architectures, in 2016 IEEE International Conference on Autonomic Computing (ICAC) (2016), pp. 357–362. https://doi.org/10.1109/ICAC.2016.25

  19. D. Garlan, S.W. Cheng, A.C. Huang, B. Schmerl, P. Steenkiste, Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  20. P. Hoenisch, I. Weber, S. Schulte, L. Zhu, A. Fekete, Four-fold auto-scaling on a contemporary deployment platform using docker containers, in International Conference on Service-Oriented Computing (Springer, Berlin, 2015)

    Google Scholar 

  21. C. Kan, Docloud: an elastic cloud platform for web applications based on docker, in 2016 18th International Conference on Advanced Communication Technology (ICACT) (IEEE, Piscataway, 2016), pp. 478–483

    Google Scholar 

  22. J.O. Kephart, D.M. Chess, The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  23. C. Klein, R. Schmid, C. Leuxner, W. Sitou, B. Spanfelner, A survey of context adaptation in autonomic computing, in Fourth International Conference on Autonomic and Autonomous Systems (2008)

    Google Scholar 

  24. Kubernetes, http://kubernetes.io/. Accessed 26 Aug 2016

  25. Microservices, http://martinfowler.com/articles/microservices.html. Accessed 26 Aug 2016

  26. Microservices Are not a Free Lunch!, http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html. Accessed 14 June 2017

  27. Microservices at Netflix, http://www.slideshare.net/stonse/microservices-at-netflix. Accessed 26 Aug 2016

  28. Microservices Evolution at SoundCloud, https://www.infoq.com/articles/microservices-evolution-soundcloud. Accessed 26 Aug 2016

  29. Microservices Trade-Offs, http://martinfowler.com/articles/microservice-trade-offs.html. Accessed 27 July 2016

  30. S. Newman, Building Microservices (O’Reilly Media, Newton, 2015)

    Google Scholar 

  31. M. Premoli, C.F. Riva, Analisi delle prestazioni per la conversione di video distribuita con mapreduce. Master’s Thesis, Politecnico di Milano (2013)

    Google Scholar 

  32. S. Rajagopalan, H. Jamjoom, App–bisect: autonomous healing for microservice-based apps, in 7th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud’15) (2015)

    Google Scholar 

  33. L. Steels, The origins of ontologies and communication conventions in multi-agent systems. J. Agents Multi-Agent Syst. 1(2), 169–194 (1998)

    Article  Google Scholar 

  34. G. Toffetti, S. Brunner, M. Blöchlinger, F. Dudouet, F. Edmonds, An architecture for self-managing microservices, in Proceedings of the 1st International Workshop on Automated Incident Management in Cloud, AIMC’15 (ACM, New York, 2015), pp. 19–24. https://doi.org/10.1145/2747470.2747474

    Google Scholar 

  35. J. Turnbull, The Docker Book: Containerization Is the New Virtualization (2014), https://dockerbook.com/

  36. D. Weyns, M. Georgeff, Self-adaptation using multiagent systems. IEEE Softw. 27(1), 86–91 (2010)

    Article  Google Scholar 

  37. A. Wiggins, The twelve-factor app (2012), http://12factor.net/. Accessed 29 June 2016

Download references

Acknowledgements

The research reported in this chapter is partially supported by the European Commission grant no. FP7-ICT-2011-8-318484 (MODAClouds). Also, Damian and Elisabetta’s work is partially supported by the European Commission grant no. 644869 (H2020 - Call 1), DICE, and grant no. 779656 (H2020), SODALITE.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damian A. Tamburri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Nitto, E.D., Florio, L., Tamburri, D.A. (2020). Autonomic Decentralized Microservices: The Gru Approach and Its Evaluation. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31645-7

  • Online ISBN: 978-3-030-31646-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics