Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CONEXÃO UNIFAMETRO 2020 
XVI SEMANA ACADÊMICA 
ISSN: 2357-8645 
 
 
 
Microsserviços como uma alternativa de desenvolvimento. 
 
Vinicius Alves Fernandes 
Centro Universitário Fametro - Unifametro 
vinicius.fernandes@aluno.unifametro.edu.br 
 
Área Temática: Engenharia de Software e Computação em Nuvem 
Encontro Científico: VIII Encontro de Iniciação à Pesquisa 
 
Introdução: No universo do desenvolvimento de software, a tecnologia está em crescente 
expansão, todos os dias nascem projetos com diferentes aplicações no mundo real, tais 
projetos são desenvolvidos com uma infinidade de tecnologias, diferentes paradigmas de 
programação para resolver um problema da melhor forma, como a Netflix, que migrou de 
uma arquitetura monolítica, que será melhor apresentada posteriormente, para vários 
microsserviços. O levantamento de tecnologias usadas no desenvolvimento deve ser feito com 
bastante cautela, para não ter um custo maior do que o planejado, não investir muito tempo 
refatorando o código-fonte da aplicação, alterações de estrutura de um projeto já em 
andamento ou até mesmo tendo que iniciar o desenvolvimento do zero, pois a aplicação virou 
um aglomerado de problemas. A má escolha da estrutura do projeto pode não ser tão 
impactante inicialmente, mas todos os sistemas buscam a escalabilidade, ou seja, sua 
complexidade tende a aumentar, para que o serviço possa atender a necessidade de um grande 
público. Segundo (Rodrigues; Julia; Leoncio; Pinto; Scombatti, 2019), a arquitetura 
monolítica, uma arquitetura muito usada, funciona da seguinte forma, todas as funções estão 
contidas em um único módulo. Isso se torna um problema quando a aplicação tende a crescer, 
como, por exemplo, em sistemas ERP’s. Esse tipo de sistema comporta diferentes 
departamentos dentro de uma empresa, como financeiro, RH, vendas, estoque, entre outros 
setores. Ou seja, desenvolver sistemas grandes utilizando arquitetura monolítica pode não ser 
uma escolha muito eficiente. Na medida em que o sistema aumenta, torna-se difícil 
administrá-lo, e por ter funções contidas em um único módulo, que é caso da arquitetura 
monolítica, os serviços estão interligados, ou seja, eles dividem funcionalidades, causando 
uma dependência entre eles. Ao realizar manutenção corre o risco de impactar negativamente 
em outros serviços do sistema, além de ter um código-fonte muito extenso, diminuindo a 
 
CONEXÃO UNIFAMETRO 2020 
XVI SEMANA ACADÊMICA 
ISSN: 2357-8645 
 
 
produtividade. Entretanto, a arquitetura monolítica não é de todo mal, ela pode ser uma 
alternativa para aplicações simples, já que é mais fácil de implementar. Porém, quando 
falamos de grandes aplicações o escalonamento e implantação são pontos negativos desse 
modelo. Objetivos: O intuito desse trabalho é mostrar uma, dentre tantas alternativas que 
podem trazer benefícios a certos casos de desenvolvimento. Ela consiste em uma aplicação 
separada em vários serviços, e não, com suas funções em um mesmo módulo, como foi 
apresentado na arquitetura monolítica. Como cada serviços agora é independente, há a 
facilidade de realizar manutenção e evolução da aplicação, redução de custos, visto que as 
aplicações só utilizarão os recursos necessários, sem que haja sobrecarga no sistema. 
Métodos: Com o sistema sendo divido em pequenos serviços independentes, haveria menos 
tempo de indisponibilidade da aplicação quando fosse necessário realizar manutenção no 
sistema, já que a manutenção seria em um ou vários serviços, sendo apenas o(s) serviço(s) em 
manutenção que seria(m) afetado(s), ou seja, o resto da aplicação, os demais serviços, 
continuaria funcionando. Os microsserviços não consistem apenas em dividir a aplicação, um 
ponto importante ao criar uma aplicação baseada em microsserviços é a maneira de integrar 
os microsserviços. É necessário que todos esses componentes do sistema, consigam se 
relacionar para trabalhar os dados da aplicação da maneira correta. É definida uma interface 
padrão no sistema, para que haja a comunicação, onde tal comunicação pode ocorrer de duas 
formas, assíncrona ou síncrona. Resultados: Além de dividir a aplicação em pequenos 
serviços, pode-se utilizar essa estratégia para a base de dados, cada serviço pode ter uma base 
de dados específica, seja ela relacional ou não relacional. Isso traz benefícios para a aplicação 
como diminuir a complexidade de integração de interfaces de comunicação, há mais 
segurança em relação aos dados. Outro ponto positivo na utilização de estruturas 
independentes, é a utilização de diversas linguagens de programação e banco de dados, desde 
que eles consigam se integrar a interface de comunicação padronizada. Contudo, nem tudo 
possui apenas pontos negativos, há um custo para manter esse modelo, já que a comunicação 
desses serviços independentes, é realizada através da rede, ou seja, é preciso investir em 
infraestrutura de rede, para que a latência da rede não prejudique na comunicação. 
Conclusão/Considerações finais: Como o cenário da tecnologia possui inúmeras maneiras 
de se resolver um problema qualquer, o intuito do trabalho foi mostrar uma, dentre tantas 
alternativa para desenvolver aplicações com um pouco mais de complexidade, de maneira 
organizada e segura, introduzindo o conceito de microsserviços e basicamente como funciona 
 
CONEXÃO UNIFAMETRO 2020 
XVI SEMANA ACADÊMICA 
ISSN: 2357-8645 
 
 
sua implementação. Contudo, cada caso é um caso, é necessário estudar bem o cenário do seu 
software, a fim de escolher o melhor caminho para o desenvolvimento. Essa escolha poupará 
recursos, podendo evitar o aumento de custo e prazo do desenvolvimento. 
Palavras-chave: Microsserviços, monolítica, síncrona e assíncrona. 
Referências: 
NAMIOT, Dmitry; SNEPS-SNEPPE, Manfred. On micro-services architecture. International 
Journal of Open Information Technologies, v. 2, n. 9, p. 24-27, 2014. 
RODRIGUES, Julia Leoncio; PINTO, Giuliano Scombatti. ANÁLISE DA ARQUITETURA DE 
MICROSERVIÇOS. 2019. 
PELISSARI, William Roberto et al. Microserviços como alternativa de arquitetura 
monolítica. Revista de Pós-Graduação do Centro Universitário Cidade Verde, v. 3, n. 2, 
2017. 
CARVALHO, Lucas Silva Pedatela; ANJOS, Matheus César Lopes dos. Impacto dos 
padrões arquiteturais de Micro Serviço e Monolítico no desenvolvimento de softwares. 2017.

Mais conteúdos dessa disciplina