Many a Little Makes a Mickle: On Micro-Optimisation of Containerised Microservices

Authors

  • Zheng Li School of Electronics, Electrical Engineering and Computer Science, Queen’s University Belfast

Keywords:

containerisation, DevOps, micro-optimisation, microservice, Ops-side optimisation, performance engineering

Abstract

Performance optimisation is a key to the success of microservices architecture. Correspondingly, many studies have been conducted on optimising orchestration or composition of multiple microservices within different application contexts. Unlike the existing efforts on the global optimisation, we are concerned with the internal optimisation of individual microservices. Considering the loosely coupled nature of individual microservices, their performance improvements could be independent of each other and thus would naturally bring benefits to their composite applications. Driven by such intuitive ideas together with the de facto tech stack, we have been working on micro-optimisation of containerised microservices at the Operation side (i.e., Ops-side optimisation) against the Development side. Based on both theoretical discussions and empirical investigations, our most recent work delivered three micro-optimisation principles, namely just-enough containerisation, just-for-me configuration, and just-in-time compilation (during containerisation). Our current research outcomes have not only offered new ideas and practical strategies for optimising microservices, but they have also expanded the conceptual scope and the research field of software micro-optimisation.

References

S. Baškarada, V. Nguyen, and A. Koronios, “Architecting microservices: Practical opportunities and challenges,” J. Comput. Inf. Syst., vol. 60, no. 5, pp. 428–436, 2020.

Firdavs, “Quality Attribute Analysis in Microservices Architectures” https://dev.to/firdavsm1901/quality-attribute-analysis-in-microservices-architectures-33li, 13 Apr. 2024.

M. Kumar, J. K. Samriya, K. Dubey, and S. S. Gill, “QoS-aware resource scheduling using whale optimization algorithm for microservice applications,” Softw.: Pract. Exper., vol. 54, no. 4, pp. 546–565, Apr. 2024.

G. Fan, L. Chen, H. Yu, and W. Qi, “Multi-objective optimization of container-based microservice scheduling in edge computing,” Comput. Sci. Inf. Syst., vol. 18, no. 1, pp. 23–42, Jan. 2021.

R. Hyde, “The fallacy of premature optimization,” ACM Ubiquity, vol. 10, no. 3, Feb. 2009, art. no. 1.

Z. Li and J. Galdames-Retamal, “On iot-friendly skewness monitoring for skewness-aware online edge learning,” Appl. Sci.-Basel, vol. 11, no. 16, Aug. 2021, art. no. 7461.

B. Smaalders, “Performance anti-patterns: Want your apps to run faster? here’s what not to do.” ACM Queue, vol. 4, no. 1, pp. 44–50, Feb. 2006.

J. Das, “Making infrastructure as code a better framework with containers,” https://blog.aspiresys.com/infrastructure-managed-services/making-infrastructure-as-code-a-better-framework-with-containers/, 28 Sept. 2022.

M. Lin, J. Xi, W. Bai, and J. Wu, “Ant colony algorithm for multi- objective optimization of container-based microservice scheduling in cloud,” IEEE Access, vol. 7, pp. 83 088–83 100, Jun. 2019.

A. Samanta and J. Tang, “Dyme: Dynamic microservice scheduling in edge computing enabled IoT,” IEEE Internet Things J., vol. 7, no. 7, pp. 6164–6174, Jul. 2020.

V. M. Mostofi, D. Krishnamurthy, and M. Arlitt, “Fast and efficient performance tuning of microservices,” in Proc. CLOUD 2021. Chicago, IL, USA: IEEE Press, 05-10 Sept. 2021, pp. 515–520.

H. Dinh-Tuan, K. Katsarou, and P. Herbke, “Optimizing microservices with hyperparameter optimization,” in Proc. MSN 2021. Exeter, United Kingdom: IEEE Press, 13-15 Dec. 2021, pp. 685–686.

M. Linares-Vásquez, C. Vendome, M. Tufano, and D. Poshyvanyk, “How developers micro-optimize Android apps,” J. Syst. Soft., vol. 130, pp. 1–23, Aug. 2017.

A. Trotman and M. Crane, “Micro- and macro-optimizations of SaaT search,” Softw.: Pract. Exper., vol. 49, no. 5, pp. 942–950, May 2019.

Y. D. Barve, S. Shekhar, A. Chhokra, S. Khare, A. Bhattacharjee, Z. Kang, H. Sun, and A. Gokhale, “FECBench: A holistic interference-aware approach for application performance modeling,” in Proc. IC2E 2019. Prague, Czech Republic: IEEE Press, 24-27 Jun. 2019, pp. 211–221.

D. Masouros, S. Xydis, and D. Soudris, “Rusty: Runtime interference- aware predictive monitoring for modern multi-tenant systems,” IEEE Trans. Parallel Distrib. Syst., vol. 32, no. 1, pp. 184–198, Jan. 2021.

S. Li, H. Zhang, Z. Jia, Z. Li, C. Zhang, J. Li, Q. Gao, J. Ge, and Z. Shan, “A dataflow-driven approach to identifying microservices from monolithic applications,” J. Syst. Softw., vol. 157, Nov. 2019, art. no. 110380.

S. K. Shivakumar, “Web performance monitoring and infrastructure planning,” in Modern Web Performance Optimization: Methods, Tools, and Patterns to Speed Up Digital Platforms. Berkeley, CA: Apress, Nov. 2020, ch. 7, pp. 175–212.

K. Kanellis, R. Alagappan, and S. Venkataraman, “Too many knobs to tune? towards faster database tuning by pre-selecting important knobs,” in Proc. HotStorage 2020. USENIX Association, 13-14 July 2020, art. no. 16.

J. Tobin, “Are docker containers good for your database?” https:// www.percona.com/blog/2016/11/16/is-docker-for-your-database/, 16 Nov. 2016.

S. Shirinbab, L. Lundberg, and E. Casalicchio, “Performance evaluation of containers and virtual machines when running Cassandra workload concurrently,” Concurrency Comput. Pract. Exper., vol. 32, no. 17, Feb. 2020, art. no. e5693.

F. Rabhi, M. Bandara, A. Namvar, and O. Demirors, “Big data analytics has little to do with analytics,” in ASSRI 2015, ASSRI 2017: Service Research and Innovation, ser. Lect. Notes Bus. Inf. Process., A. Beheshti, M. Hashmi, H. Dong, and W. E. Zhang, Eds. Cham: Springer, Mar. 2018, vol. 234, pp. 3–17.

Y. Wu, Y. Zhang, T. Wang, and H. Wang, “Characterizing the occurrence of dockerfile smells in open-source software: An empirical study,” IEEE Access, vol. 8, pp. 34 127–34 139, Feb. 2020.

A. Mouat, “Multi-platform docker builds,” https://www.docker.com/blog/multi-platform-docker-builds/, Mar. 2020.

T. Neumann, “Evolution of a compiling query engine,” Proc. VLDB Endow., vol. 14, no. 12, pp. 3207–3210, Jul. 2021.

A. Rayabhari, “Compilation-based execution engine for a database,” https://www.cs.cornell.edu/courses/cs6120/2020fa/blog/db-compiler/, 18 Dec. 2020.

H. Funke and J. Teubner, “Low-latency compilation of SQL queries to machine code,” Proc. VLDB Endow., vol. 14, no. 12, pp. 2691–2694, Jul. 2021.

Downloads

Published

2024-08-20

How to Cite

Li, Z. (2024). Many a Little Makes a Mickle: On Micro-Optimisation of Containerised Microservices. WiPiEC Journal - Works in Progress in Embedded Computing Journal, 10(2). Retrieved from https://wipiec.digitalheritage.me/index.php/wipiecjournal/article/view/68