Sistema de gestão dinâmico de microserviços
μsManager é um sistema para fazer a gestão de microserviços dinamicamente, quer na cloud como na edge.
Tenta replicar e migrar microserviços conforme a carga dos serviços,
através da recolha de várias métricas, como utilização de cpu e ram dos dispositivos, localização dos pedidos,
dependências entre microserviços, e dispositivos cloud e edge disponíveis.
Este projeto está enquadrado no contexto de várias dissertações para obtenção do grau mestre em Engenharia Informática na FCT-UNL.
-
Microserviços
- Sock shop
- Online boutique
- Hotel Reservation
- Media
- Social Network
- Mixal
- Test suite
IntelliJ IDEA - IntelliJ IDEA is an integrated development environment written in Java for developing computer software
CLion - A cross-platform IDE for C and C++
As ferramentas específicas usadas em cada um dos módulos podem ser vistas nos respetivos ficheiros README.md:
O sistema usa instâncias aws ec2 para alojar os microserviços. Para configurar, seguir:
-
Criar uma conta no aws, caso ainda não tenha. A versão grátis deve ser suficiente
-
O dashboard pode ser consultado aqui.
-
Criar um Security Group, com nome
us-manager-security-group
, e uma Inbound ruleCustom TCP 22-80 Anywhere
-
Iniciar uma instância t2-micro, com base, por exemplo, no Ubuntu Server 20.04 LTS. Guardar o ficheiro .pem na pasta /manager-master/src/main/resources/aws. Executar
chmod 400 file.pem
no ficheiro .pem que foi transferido. -
Criar uma imagem (ami) a partir da instância iniciada anteriormente, no menu da instancia aqui, Image -> Create image. Após criada, adicionar a tag us-manager=true. Substituir o id da ami no application.yaml, propriedade aws.instance.ami.
-
Criar um utilizador iam para aceder aos recursos aws através, com tipo de acesso Programmatic access, e política AdministratorAccess. Substituir os valores da access key e secret access key no application.yaml, propriedades aws.access.key e aws.access.secret-key, respetivamente.
-
Configurar chaves em todas as regiões disponíveis.
- Quando existem demasiados utilizadores a aceder aos gestores: https://stackoverflow.com/questions/32968530/hikaricp-connection-is-not-available
- Erro ao apagar regras e métricas simuladas, e as suas entidades: ver associações nas tabelas da base de dados.
μsManager está licenciado com a MIT license. Ver a licença no cabeçalho do respetivo ficheiro para confirmar.