Publicação:
K8ShMiR: um framework para replicação de máquinas de estado em contêineres gerenciados pelo Kubernetes

Carregando...
Imagem de Miniatura

Tipo do documento

Direito de acesso

Área do conhecimento

CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::ARQUITETURA DE SISTEMAS DE COMPUTACAO

Título da Revista

ISSN da Revista

Título de Volume

Coorientador

Resumo

Mecanismos para virtualização de infraestruturas de computação, como por exem- plo máquinas virtuais e contêineres, são parte fundamental de sistemas de computação modernos. Suas características versáteis e baratas do ponto de vista computacional e fi- nanceiro permitiram que novas arquiteturas de sistemas fossem popularizadas. Uma delas são os microsserviços, onde módulos de um software executam em contêineres diferentes, mas que em conjunto funcionam como uma única aplicação. Neste trabalho, apresenta- mos uma arquitetura para replicação de máquinas de estado em sistemas baseados em contêineres, provendo garantias de tolerância a falhas de forma pouco intrusiva para a aplicação replicada e seus usuários. Essa arquitetura, além de pouco intrusiva é também extensível, de forma que pode ser instanciada de diversas formas e com tecnologias va- riadas. Após a descrevermos, apresentamos uma de suas possíveis implementações com um framework nomeado K8ShMiR, que funciona com contêineres Docker no Kubernetes, um orquestrador de contêineres. Para garantias de difusão totalmente ordenada de men- sagens, utilizamos o framework Atomix. Por fim, realizamos testes integrados com um cluster Kubernetes local para validar que nossa implementação funciona.

Abstract

Mechanisms for computing infrastructure virtualization, such as virtual machines and containers, are a fundamental part of modern computing systems. Their versatility and low cost characteristics from a computational and financial standpoint have allowed new system architectures to be popularized. One of them are microservices, small pieces of software that run in different containers, while working together as a single application. In this work, we present an architecture for state machine replication in container-based systems, providing non-intrusive fault tolerance guarantees for the replicated application and its users. This architecture, in addition to being little intrusive, is also extensible, so that it can be instantiated in different ways and with varied technologies. After describing it, we present one of its possible implementations with a framework named K8ShMiR, which works with Docker containers in Kubernetes, a container orchestrator. To guarantee total order delivery of messages, we use the Atomix framework. Finally, we executed integration tests with a local Kubernetes cluster to validate that our implementation works.

Palavras-chave

Replicação de Máquinas de Estad, Contêiner, Difusão atômica, Microsserviços, Tolerância a falhas, Kubernetes, State Machine Replication, Container, Atomic Broadcast, Microservices, Fault Tolerance

Citação

FERNANDES, Lucas Borges.K8ShMiR: um framework para replicação de máquinas de estado em contêineres gerenciados pelo Kubernetes. 2021. 82f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2021. DOI https://doi.org/10.14393/ufu.di.2022.583

Avaliação

Revisão

Suplementado Por

Referenciado Por

Licença Creative Commons

Exceto quando indicado de outra forma, a licença deste item é descrita como Acesso Aberto