Publicação
Centralização de configurações de serviços num ambiente de micro-serviços
| Resumo: | Configurações são um conceito bastante simples, afinal de contas podem ser apenas pares de chave-valor. Mas se pensarmos bem são elas que moldam quase tudo o que nos rodeia, pelo menos no que é manufaturado, como uma caneta, por exemplo, que pode possuir diferentes cores, pois a cor da qual uma caneta escreve é uma das suas configurações, sendo um simples par de chave-valor, onde uma caneta azul possui a chave cor correspondente ao valor azul nas suas configurações. Contudo nem sempre é assim tão simples, aliás em sistemas informáticos as configurações podem ficar bastante complexas e confusas, sendo que quanto maior o sistema maior o número de configurações que este necessita. Nos últimos anos bastantes empresas que desenvolvem sistemas informáticos, por diversos motivos, têm decidido mudar a arquitectura dos seus sistemas para Micro-Serviços. No entanto, com esta mudança também surgiram novos problemas. Será que devemos colocar todas as configurações de um serviço centralizado ou distribuído pelos vários serviços? Será que devemos manter os ficheiros de configurações locais a cada serviço ou externas? Estas foram algumas das perguntas mais frequentes nestas transições. A resposta na maioria dos casos é a utilização uniforme de configurações externas de forma a não fragmentar as configurações pelos vários serviços. Utilizar configurações externas permite assim uma melhor gestão das mesmas, no entanto ainda existem pontos que podem ser melhorados. Um desses pontos é o número de configurações necessárias e como estas interagem umas com as outras. Ao utilizar uma arquitetura de Micro-Servic¸os estas configurações são ainda em maior quantidade, do que num sistema monolítico por exemplo, pois cada serviço necessita não só das suas próprias configurações, mas também de configurações mais gerais do sistema. Isto pode levar a configurações duplicadas, sendo assim difíceis de corrigir ou alterar caso necessário visto que uma configuração pode ter de ser modificada em diferentes locais. A solução aqui apresentada tenta minimizar estes problemas, adicionando um serviço de gestão de configurações independente do produto. Esta proposta irá possuir um sistema hierárquico de configurações, para assim diminuir o número de configurações duplicadas. Também estará provida de um sistema de versões, possibilitando assim uma fácil detecção de mudanças, um mecanismo para voltar a um estado anterior e uma forma de rever alterações antes destas serem aplicadas. |
|---|---|
| Autores principais: | Neves, Bernardo Filipe Martinho |
| Assunto: | Configurações Micro-Serviços Hierarquia de Configurações Resolução de Variáveis Teses de mestrado - 2020 |
| Ano: | 2020 |
| País: | Portugal |
| Tipo de documento: | dissertação de mestrado |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade de Lisboa |
| Idioma: | português |
| Origem: | Repositório da Universidade de Lisboa |
| Resumo: | Configurações são um conceito bastante simples, afinal de contas podem ser apenas pares de chave-valor. Mas se pensarmos bem são elas que moldam quase tudo o que nos rodeia, pelo menos no que é manufaturado, como uma caneta, por exemplo, que pode possuir diferentes cores, pois a cor da qual uma caneta escreve é uma das suas configurações, sendo um simples par de chave-valor, onde uma caneta azul possui a chave cor correspondente ao valor azul nas suas configurações. Contudo nem sempre é assim tão simples, aliás em sistemas informáticos as configurações podem ficar bastante complexas e confusas, sendo que quanto maior o sistema maior o número de configurações que este necessita. Nos últimos anos bastantes empresas que desenvolvem sistemas informáticos, por diversos motivos, têm decidido mudar a arquitectura dos seus sistemas para Micro-Serviços. No entanto, com esta mudança também surgiram novos problemas. Será que devemos colocar todas as configurações de um serviço centralizado ou distribuído pelos vários serviços? Será que devemos manter os ficheiros de configurações locais a cada serviço ou externas? Estas foram algumas das perguntas mais frequentes nestas transições. A resposta na maioria dos casos é a utilização uniforme de configurações externas de forma a não fragmentar as configurações pelos vários serviços. Utilizar configurações externas permite assim uma melhor gestão das mesmas, no entanto ainda existem pontos que podem ser melhorados. Um desses pontos é o número de configurações necessárias e como estas interagem umas com as outras. Ao utilizar uma arquitetura de Micro-Servic¸os estas configurações são ainda em maior quantidade, do que num sistema monolítico por exemplo, pois cada serviço necessita não só das suas próprias configurações, mas também de configurações mais gerais do sistema. Isto pode levar a configurações duplicadas, sendo assim difíceis de corrigir ou alterar caso necessário visto que uma configuração pode ter de ser modificada em diferentes locais. A solução aqui apresentada tenta minimizar estes problemas, adicionando um serviço de gestão de configurações independente do produto. Esta proposta irá possuir um sistema hierárquico de configurações, para assim diminuir o número de configurações duplicadas. Também estará provida de um sistema de versões, possibilitando assim uma fácil detecção de mudanças, um mecanismo para voltar a um estado anterior e uma forma de rever alterações antes destas serem aplicadas. |
|---|