Você está aqui: Página Inicial / Pós-Graduação / Informática / Temas de Pesquisa / Temas de pesquisa 2020.1 / Orquestração autonômica de containers baseada em técnicas de Inteligência Artificial

Orquestração autonômica de containers baseada em técnicas de Inteligência Artificial

Prof. Alan Pedro e Prof. Dr. Ivo Calado

Resumo:

Nos últimos anos, Virtualização tornou-se um importante bloco de construção para o desenvolvimento, construção, testes e disponibilização de sistemas computacionais. Ao adotar-se tal conceito torna-se possível o desacoplamento das aplicações do hardware em que as mesmas são executadas, obtendo, portanto, diversas vantagens tais como escalabilidade, gerenciamento, resiliência, tolerância à falhas etc. Neste contexto, a virtualização no nível de SO, comumente conhecida como containers, vem ganhando relevante destaque na literatura. Neste modelo a aplicação-alvo é encapsulada em uma estrutura protegida e limitada denominada container onde as dependências de aplicação não são mantidas a nível do sistema operacional hospedeiro. Como vantagem deste modelo, tem-se a baixa sobrecarga, em termos de camadas de softwares quando comparado ao modelo de virtualização tradicional em que se tem toda uma camada de software do sistema operacional convidado.

Neste contexto, de modo a possibilitar um gerenciamento do referido processo, um elemento adicional faz-se necessário. Tal elemento de software, denominado orquestrador, é responsável por gerenciar como, quando e onde um container deve ser iniciado, parado, reiniciado ou mesmo migrado, permitindo a implementação de diversos comportamentos autonômicos tais como tolerância a falhas, recuperação de desastres, balanceamento de carga automático etc. Como base nisso, diversas soluções comerciais e não comerciais encontram-se atualmente disponíveis tais como Kubernetes e Docker Swarms. A orquestração de containers representa um importante papel no domínio da computação em nuvem, sendo responsável por diversas funcionalidades, tais como o controle da utilização de recursos, escalonamento, balanceamento de carga, health check, tolerância a falha, auto-escalonamento. Tal tarefa mostra-se especialmente desafiante tendo em vista que o ambiente de execução dos containers são, em geral, altamente complexos e dinâmicos. Todavia, no presente estado da literatura, o processo de orquestração automático funciona a partir de um conjunto de parâmetros pré-definidos a fim de determinar as condições em que o sistema deve operar e quais ações devem ser realizadas, tendo como consequência

a utilização de políticas de adaptação com resultado sub-ótimo. Em face do exposto, faz-se necessário o desenvolvimento de novas estratégias para construção de políticas de orquestração de containers que venham a se adaptar às diversas nuances do processo de execução, monitoramento e adaptação dos mesmos. Neste sentido, o objetivo deste projeto é investigar quais técnicas de inteligência artificial poderiam vir a ser aplicadas ao domínio supracitado a fim de oferecer desempenho superior às soluções atualmente presentes na literatura.

 

Referências bibliográficas:

[1] A. Khan, "Key Characteristics of a Container Orchestration Platform to Enable a Modern Application," in IEEE Cloud Computing, vol. 4, no. 5, pp. 42-48, September/October 2017.

[2] Casalicchio E. (2019) Container Orchestration: A Survey. In: Puliafito A., Trivedi K. (eds) Systems Modeling: Methodologies and Tools. EAI/Springer Innovations in Communication and Computing. Springer, Cham.

[3] E. Casalicchio, Autonomic orchestration of containers: problem definition and research challenges, in 10th EAI International Conference on Performance Evaluation Methodologies and Tools, EAI (2016).

[4] R. Dua, A.R. Raja, D. Kakadia, Virtualization vs containerization to support PaaS, in Proceedings of 2014 IEEE International Conference on Cloud Engineering, IC2E ’14 (2014), pp. 610–614