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

  • Basel MagablehEmail author
  • Muder Almiani
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 926)


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.


Self healing Microservices architecture Anomaly detection Run-time configuration 


  1. 1.
    Ahmad, S., Lavin, A., Purdy, S., Agha, Z.: Unsupervised real-time anomaly detection for streaming data. Neurocomputing 262(Suppl. C), 134–147 (2017)CrossRefGoogle Scholar
  2. 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. 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)CrossRefGoogle Scholar
  4. 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. 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. 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. 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. 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. 9.
    Fishburn, P.C., Kochenberger, G.A.: Two-piece von Neumann-Morgenstern utility functions. Decis. Sci. 10(4), 503–518 (1979)CrossRefGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 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. 12.
    Hawkins, J., Blakeslee, S.: On Intelligence. Macmillan, London (2007)Google Scholar
  13. 13.
    Hirschfeld, R., Costanza, P., Nierstrasz, O.M.: Context-oriented programming. J. Object Technol. 7(3), 125–151 (2008)CrossRefGoogle Scholar
  14. 14.
    Horn, P.: Autonomic computing: IBM’s perspective on the state of information technology. Technical report (2001)Google Scholar
  15. 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. 16.
    Kohavi, R., Provost, F.: Confusion matrix. Mach. Learn. 30(2–3), 271–274 (1998)Google Scholar
  17. 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. 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. 19.
    Mishra, A., Nadkarni, K., Patcha, A.: Intrusion detection in wireless ad hoc networks. IEEE Wirel. Commun. 11(1), 48–60 (2004)CrossRefGoogle Scholar
  20. 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. 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. 22.
    Roesch, M., et al.: Snort: lightweight intrusion detection for networks. In: LISA, vol. 99, pp. 229–238 (1999)Google Scholar
  23. 23.
    Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. Trans. Auton. Adapt. Syst. (TAAS) 4(2), 14 (2009)Google Scholar
  24. 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. 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. 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. 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. 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)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.School of Computer ScienceTechnological University DublinDublinIreland
  2. 2.Al-Hussein Bin Talal UniversityMa’anJordan

Personalised recommendations