Politecnico di Torino (logo)

Fault-tolerance classification in virtualized redundant environment using Docker containers technology

Gennaro Cimmino

Fault-tolerance classification in virtualized redundant environment using Docker containers technology.

Rel. Stefano Di Carlo, Alessandro Savino. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2022

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (2MB) | Preview

With the popularity of cloud computing platforms, server virtualization is a widely used and powerful technique, for consolidating servers in data centers. For many years, standard virtualization enable an efficient sharing of physical resources by multiple, independent entities. Therefore, this technology provide cost reduction, through resource consolidation, and reliability benefits. However, it has several drawbacks: running a virtual machine is often resource-intensive, complex and costly. An alternative to classical virtualization is the container virtualization. Container virtualization is a virtual run-time technology, that emulates a hosting operating system kernel, rather than the underlying hardware, as in the case of classical virtualization. Nowadays, with the emergence of Docker, containers are gaining in popularity. In fact, a lot of cloud providers, such as Amazon, Google, Azure and Digital Ocean, are leveraging Docker features. Docker is a software platform that allow applications distribution, through containers deployment. Docker containers have many interesting advantages, such as fast start-up, lightweight execution environments, easy deployment and portability. Lastly, Docker provides useful supporting tools, such as the docker-compose. Docker-compose is an orchestration tool that introduce automated configuration, coordination and management of container services. It's used to deploy multi-container applications. However, the issue of container security and stability is increasingly relevant, especially with the rise of multi-container and large-scale application systems. Many cloud systems depend on the reliability of containers. As a result, a critical failure in these systems, led to invalidation of thousands of services. Therefore, it's necessary to increase the reliability of these systems, by introducing fault tolerance mechanisms. One of the techniques used to increase the reliability of a system, is redundancy. Aim of this thesis is to provide methodologies for introducing redundancy, in container systems. A container is redundant if multiple instances of the same, are deployed in a system. Outputs generated by each redundant container, is monitored by a voting system, which guarantees the correct execution of the service. Each methodology introduced, differ according to a containers classification. The classification is based on parameters, needed to introduce additional blocks, suitable for ensuring an entire control system. Classification allows to include,in a docker-compose, all redundancy parameters to containers, that belong to a specific class. In this way, a service can be deployed in fault tolerant mode, using an alternative version of that compose file. Finally, for the purpose of testing the feasibility of a proposed methodology, a MySQL database container, was deployed in fault-tolerant mode.

Relators: Stefano Di Carlo, Alessandro Savino
Academic year: 2021/22
Publication type: Electronic
Number of Pages: 63
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: New organization > Master science > LM-29 - ELECTRONIC ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/23903
Modify record (reserved for operators) Modify record (reserved for operators)