A Lightweight Portable Multithreaded Client-Server Docker Containers

Main Article Content

Awse S. Mahmood Alsaffar
Ayad Hussain Abdulqader

Abstract

 In terms of diversity in operating systems, environments, and platforms, and with limited host infrastructure resources to hold all operating systems and platforms, the need arises to design applications that run in many or we can say in all operating systems and platforms.


This paper deals with designing and implementing a lightweight multithreaded client-server application appears as a separate Docker container. Both client and server containers are based on alpine Linux and developed using Python programming language. The execution unit in the containers is Python program files. As a case study, the server acts as a Wikipedia server and it can serve many clients simultaneously.


The Docker will build the containers depending on a writing Dockerfile for each container and push them to the registry (docker hub). When pulled the image of the containers from the registry account, then it could be run the container on a host. The proposed containerized multithreaded client-server model will become a portable with limited capabilities other than using Virtualization. Resources and cost requirements to achieve portability is evaluated for both virtualization and containerization paradigms. The results showed the superiority of containerization over the virtualization in both resources and cost requirements.


Article Details

How to Cite
Alsaffar, A. S., & Alezzy, A. H. (2022). A Lightweight Portable Multithreaded Client-Server Docker Containers. Technium: Romanian Journal of Applied Sciences and Technology, 4(10), 31–43. https://doi.org/10.47577/technium.v4i10.7722
Section
Articles

References

“Docker (software) - Wikipedia.” https://en.wikipedia.org/wiki/Docker_(software) (accessed Aug. 10, 2022).

“Docker overview | Docker Documentation.” https://docs.docker.com/get-started/overview/ (accessed Aug. 05, 2022).

R. Morabito, J. Kjällman, and M. Komu, “Hypervisors vs. Lightweight Virtualization: a Performance Comparison.”

F. Rodríguez-Haro et al., “A summary of virtualization techniques,” Procedia Technology, vol. 3, pp. 267–272, 2012, doi: 10.1016/j.protcy.2012.03.029.

S. Nanda and T.-C. Chiueh, “A Survey on Virtualization Technologies.”

A. Bhardwaj and C. R. Krishna, “Virtualization in Cloud Computing: Moving from Hypervisor to Containerization—A Survey,” Arab J Sci Eng, vol. 46, no. 9, pp. 8585–8601, Sep. 2021, doi: 10.1007/s13369-021-05553-3.

Y. Sohda, H. Nakada, and S. Matsuoka, “Implementation of a Portable Software DSM in Java,” 2001.

M. F. Mergen, V. Uhlig, O. Krieger, and J. Xenidis, “Virtualization for High-Performance Computing.”

F. R. Yu, J. Liu, Y. He, P. Si, and Y. Zhang, “Virtualization for Distributed Ledger Technology (vDLT),” IEEE Access, vol. 6, pp. 25019–25028, Apr. 2018, doi: 10.1109/ACCESS.2018.2829141.

“VMware Docs All Products.” https://docs.vmware.com/allproducts.html (accessed Oct. 06, 2022).

“VirtualBox for Windows - Download it from Uptodown for free.” https://virtualbox.en.uptodown.com/windows (accessed Oct. 06, 2022).

A. Abuabdo and Z. A. Al-Sharif, “Virtualization vs. containerization: Towards a multithreaded performance evaluation approach,” in Proceedings of IEEE/ACS International Conference on Computer Systems and Applications, AICCSA, Nov. 2019, vol. 2019-November. doi: 10.1109/AICCSA47632.2019.9035233.

C. Boettiger and D. Eddelbuettel, “An introduction to Rocker: Docker containers for R,” R Journal, vol. 9, no. 2, pp. 527–536, Dec. 2017, doi: 10.32614/RJ-2017-065.

D. Nüst et al., “The Rockerverse: Packages and Applications for Containerization with R,” Jan. 2020, doi: 10.32614/RJ-2020-007.

N. Odell and C. A. Shue, “Developing Single Use Server Containers A Major Qualifying Project,” 2020.

S. P. Mullinix, E. Konomi, R. D. Townsend, and R. M. Parizi, “On Security Measures for Containerized Applications Imaged with Docker.”

A. O. Dayo, “A Multi-Containerized Application using Docker Containers and Kubernetes Clusters,” Int J Comput Appl, vol. 183, no. 44, pp. 55–60, Dec. 2021, doi: 10.5120/ijca2021921843.

T. in and D. Basheer Abdullah Albazaz, “Improving Parallel Schedulers in Heterogeneous Distributed Computing for Containerized Big Data Balqees Talal Hasan Agha.”

T. Scheepers, “Virtualization and Containerization of Application Infrastructure: A Comparison,” 2014.

Rad, B. B., Bhatti, H. J., & Ahmadi, M. (2017a). An Introduction to Docker and Analysis of its Performance Metamorphic Malware CLassification using MLP Neural Network View project An Introduction to Docker and Analysis of its Performance. In IJCSNS International Journal of Computer Science and Network Security (Vol. 17, Issue 3). https://www.researchgate.net/publication/318816158

Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux j, 239(2), 2.‏

Turnbull, J. (2017). The Docker Book: Containerization is the new virtualization. James Turnbull.

B. B. Rad, H. J. Bhatti, and M. Ahmadi, “An Introduction to Docker and Analysis of its Performance Metamorphic Malware CLassification using MLP Neural Network View project An Introduction to Docker and Analysis of its Performance,” 2017. [Online]. Available: https://www.researchgate.net/publication/318816158

Docker overview | Docker Documentation. (n.d.-b). Retrieved August 14, 2022, from https://docs.docker.com/get-started/overview/#docker-architecture

S. B. Shankar and S. N. Shankar, “DOCKER CONTAINER 1 2 3,” 2015.

Chung, M. T., Quang-Hung, N., Nguyen, M. T., & Thoai, N. (2016b). Using Docker in high performance computing applications. 2016 IEEE 6th International Conference on Communications and Electronics, IEEE ICCE 2016, 52–57. https://doi.org/10.1109/CCE.2016.7562612

Get Docker | Docker Documentation. (n.d.). Retrieved August 14, 2022, from https://docs.docker.com/get-docker/

Bhat, S. (2018b). Practical Docker with Python. In Practical Docker with Python. Apress. https://doi.org/10.1007/978-1-4842-3784-7

Sabharwal, N. (n.d.). Hands on Docker. Packt Publishing.

B. B. Rad, H. J. Bhatti, and M. Ahmadi, “An Introduction to Docker and Analysis of its Performance Metamorphic Malware CLassification using MLP Neural Network View project An Introduction to Docker and Analysis of its Performance,” 2017. [Online]. Available: https://www.researchgate.net/publication/318816158

“Minimal Hardware Requirements | Wikipedia”

https://wiki.alpinelinux.org/wiki/Requirements / (accessed Nov. 01, 2022).

Goyal, Somya, and Anubha Parashar. "Machine learning application to improve COCOMO model using neural networks." International Journal of Information Technology and Computer Science (IJITCS) 3 (2018): 35-51.‏

R. K. Sachan and D. S. Kushwaha, "Anti-Predatory NIA Based Approach for Optimizing Basic COCOMO Model," 2020 10th International Conference on Cloud Computing, Data Science & Engineering (Confluence), 2020, pp. 710-715, doi: 10.1109/Confluence47617.2020.9058033.

Similar Articles

<< < 8 9 10 11 12 13 14 15 > >> 

You may also start an advanced similarity search for this article.