Skip to main content

A Self Healing Microservices Architecture: A Case Study in Docker Swarm Cluster

  • Conference paper
  • First Online:
Advanced Information Networking and Applications (AINA 2019)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 926))

Abstract

One desired aspect of a self-adapting microservices architecture is the ability to continuously monitor the operational environment, detect and observe anomalous behaviour as well as implement a reasonable policy for self-scaling, self-healing, and self-tuning the computational resources in order to dynamically respond to a sudden change in its operational environment. Often the behaviour of a microservices architecture continuously changes over time and the identification of both normal and abnormal behaviours of running services becomes a challenging task. This paper proposes a self-healing Microservice architecture that continuously monitors the operational environment, detects and observes anomalous behaviours, and provides a reasonable adaptation policy using a multi-dimensional utility-based model. This model preserves the cluster state and prevents multiple actions to taking place at the same time. It also guarantees that the executed adaptation action fits the current execution context and achieves the adaptation goals. The results show the ability of this model to dynamically scale the architecture horizontally or vertically in response to the context changes.

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 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Notes

  1. 1.

    https://docs.docker.com/engine/swarm/.

  2. 2.

    https://prometheus.io.

  3. 3.

    https://github.com/google/cadvisor.

  4. 4.

    https://caddyserver.com/docs/proxy.

  5. 5.

    http://nupic.docs.numenta.org/stable/index.html.

  6. 6.

    https://grafana.com.

  7. 7.

    https://snapshot.raintank.io/dashboard/snapshot/UJlrTzwubrRQjDwM1YFJle5zvdK3Anr7?orgId=2.

  8. 8.

    https://snapshot.raintank.io/dashboard/snapshot/sstuT2tuYkob8zjIbh1YXzBYxSJDFd9z?orgId=2.

  9. 9.

    https://snapshot.raintank.io/dashboard/snapshot/UJlrTzwubrRQjDwM1YFJle5zvdK3Anr7?orgId=2.

References

  1. Ahmad, S., Lavin, A., Purdy, S., Agha, Z.: Unsupervised real-time anomaly detection for streaming data. Neurocomputing 262(Suppl. C), 134–147 (2017)

    Article  Google Scholar 

  2. Anderson, D., Frivold, T., Valdes, A.: Next-generation intrusion detection expert system (NIDES): a summary. SRI International, Computer Science Laboratory Menio Park, CA (1995)

    Google Scholar 

  3. Buczak, A.L., Guven, E.: A survey of data mining and machine learning methods for cyber security intrusion detection. IEEE Commun. Surv. Tutor. 18(2), 1153–1176 (2016)

    Article  Google Scholar 

  4. Cheng, B., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Malek, R.M., Müller, H., Park, S., Shaw, M., Tichy, M.: Software engineering for self-adaptive systems: a research road map (draft version). In: Dagstuhl Seminar Proceedings 08031 (2008)

    Google Scholar 

  5. Cheng, S.W., Garlan, D., Schmerl, B.: Evaluating the effectiveness of the rainbow self-adaptive system. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2009, pp. 132–141. IEEE (2009)

    Google Scholar 

  6. Cheung-Foo-Wo, D., Tigli, J.Y., Lavirotte, S., Riveill, M.: Self-adaptation of event-driven component-oriented middleware using aspects of assembly. In: Proceedings of the 5th International Workshop on Middleware for Pervasive and Ad-Hoc Computing: Held at the ACM/IFIP/USENIX 8th International Middleware Conference, pp. 31–36 (2007)

    Google Scholar 

  7. Craig, J.W.: A new, simple and exact result for calculating the probability of error for two-dimensional signal constellations. In: Conference Record, Military Communications in a Changing World, Military Communications Conference, MILCOM 1991, pp. 571–575. IEEE (1991)

    Google Scholar 

  8. De Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: Software Engineering for Self-Adaptive Systems II, pp. 1–32. Springer (2013)

    Google Scholar 

  9. Fishburn, P.C., Kochenberger, G.A.: Two-piece von Neumann-Morgenstern utility functions. Decis. Sci. 10(4), 503–518 (1979)

    Article  Google Scholar 

  10. Golmah, V.: An efficient hybrid intrusion detection system based on C5.0 and SVM. Int. J. Database Theory Appl. 7(2), 59–70 (2014)

    Article  Google Scholar 

  11. Haq, N.F., Onik, A.R., Hridoy, M.A.K., Rafni, M., Shah, F.M., Farid, D.M.: Application of machine learning approaches in intrusion detection system: a survey. IJARAI-Int. J. Adv. Res. Artif. Intell. 4(3), 9–18 (2015)

    Google Scholar 

  12. Hawkins, J., Blakeslee, S.: On Intelligence. Macmillan, London (2007)

    Google Scholar 

  13. Hirschfeld, R., Costanza, P., Nierstrasz, O.M.: Context-oriented programming. J. Object Technol. 7(3), 125–151 (2008)

    Article  Google Scholar 

  14. Horn, P.: Autonomic computing: IBM’s perspective on the state of information technology. Technical report (2001)

    Google Scholar 

  15. Kakousis, K., Paspallis, N., Papadopoulos, G.A.: Optimizing the utility function-based self-adaptive behavior of context-aware systems using user feedback. In: OTM Confederated International Conferences “On the Move to Meaningful Internet Systems”, pp. 657–674. Springer (2008)

    Google Scholar 

  16. Kohavi, R., Provost, F.: Confusion matrix. Mach. Learn. 30(2–3), 271–274 (1998)

    Google Scholar 

  17. Lavin, A., Ahmad, S.: Evaluating real-time anomaly detection algorithms–the Numenta anomaly benchmark. In: 2015 IEEE 14th International Conference on Machine Learning and Applications, ICMLA, pp. 38–44. IEEE (2015)

    Google Scholar 

  18. Mikalsen, M., Paspallis, N., Floch, J., Stav, E., Papadopoulos, G.A., Chimaris, A.: Distributed context management in a mobility and adaptation enabling middleware (MADAM). In: Proceedings of the 2006 ACM Symposium on Applied Computing, pp. 733–734. ACM (2006)

    Google Scholar 

  19. Mishra, A., Nadkarni, K., Patcha, A.: Intrusion detection in wireless ad hoc networks. IEEE Wirel. Commun. 11(1), 48–60 (2004)

    Article  Google Scholar 

  20. Ongaro, D., Ousterhout, J.K.: In search of an understandable consensus algorithm. In: USENIX Annual Technical Conference, pp. 305–319 (2014)

    Google Scholar 

  21. Phua, C., Lee, V., Smith, K., Gayler, R.: A comprehensive survey of data mining-based fraud detection research. arXiv preprint arXiv:1009.6119 (2010)

  22. Roesch, M., et al.: Snort: lightweight intrusion detection for networks. In: LISA, vol. 99, pp. 229–238 (1999)

    Google Scholar 

  23. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. Trans. Auton. Adapt. Syst. (TAAS) 4(2), 14 (2009)

    Google Scholar 

  24. Sama, M., Rosenblum, D.S., Wang, Z., Elbaum, S.: Model-based fault detection in context-aware adaptive applications. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, pp. 261–271. ACM (2008)

    Google Scholar 

  25. Sterritt, R., Bustard, D.: Towards an autonomic computing environment. In: Proceedings of the 14th International Workshop on Database and Expert Systems Applications, pp. 694–698. IEEE (2003)

    Google Scholar 

  26. Strang, T., Linnhoff-Popien, C.: A context modeling survey. In: Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp, vol. 4, pp. 34–41 (2004)

    Google Scholar 

  27. Stubbs, J., Moreira, W., Dooley, R.: Distributed systems of microservices using docker and serfnode. In: 2015 7th International Workshop on Science Gateways, IWSG, pp. 34–39. IEEE (2015)

    Google Scholar 

  28. Wei, W., Fan, X., Song, H., Fan, X., Yang, J.: Imperfect information dynamic stackelberg game based resource allocation using hidden Markov for cloud computing. IEEE Trans. Serv. Comput. 11(1), 78–89 (2016)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Basel Magableh .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Magableh, B., Almiani, M. (2020). A Self Healing Microservices Architecture: A Case Study in Docker Swarm Cluster. In: Barolli, L., Takizawa, M., Xhafa, F., Enokido, T. (eds) Advanced Information Networking and Applications. AINA 2019. Advances in Intelligent Systems and Computing, vol 926. Springer, Cham. https://doi.org/10.1007/978-3-030-15032-7_71

Download citation

Publish with us

Policies and ethics