Microservices: Vantagens x Desvantagens

6k views1908 WordsCopy TextShare
Michelli Brito
Quer participar do meu canal no Telegram? https://t.me/michellibritojava
Video Transcript:
o Olá eu sou a Michelle Brito e nesse vídeo de hoje eu vou falar um pouco com vocês sobre arquitetura de microserviços is e sobre as principais vantagens e desvantagens desse tipo de arquitetura então começando pelas vantagens né quando a gente utiliza microservices no nosso projeto uma das principais vantagens que temos é o baixo acampamento que esse tipo de arquitetura gera por quê Porque é como a gente tem serviços separados né que trabalham de forma autônoma e independente então com isso a gente tem uma compamento baixo a gente é considerada e relacionar arquitetura monolítica ela
tem um forte acoplamento porque geralmente a arquitetura monolítica o sistema ele é composto por um grande bloco de códigos né com uma única base de dados então ele a gente tem todos os módulos acoplados já com os microservices a gente tem vários serviços a tendência e autônomos funcionando dentro da arquitetura porém cada um né gerencia assim mesmo e assim a gente consegue ter um acampamento bem mais baixo na nossa arquitetura e devido então arquitetura de microserviços este baixo agrupamento ao mesmo tempo ela consegue então ter uma alta disponibilidade e vamos imaginar que um determinado o
sistema é tem uma falha em produção então neste caso aí que ela vai parar verificar o que que está acontecendo corrigir o problema subir essa atualização para o servidor só naquele serviço específico que deu a falha Enquanto isso o restante da arquitetura os demais microservices continuam funcionando normalmente agora imagine se a gente tivesse o mesmo problema numa arquitetura monolítica para executar né alguma alteração no módulo onde ele está dando problema aí tipo ela vai ter que parar o sistema como um todo né para com é uma esse blog introdução e depois para subir as atualização
tem que fazer então o update do sistema como um todo outra coisa também que a arquitetura de microserviços ela traça uma grande vantagem é a possibilidade de você ter um melhor controle de performance e também de escala habilidade Imagine que você tenha um dos serviços que compõem a sua arquitetura de microserviços ele está recebendo uma alta demanda neste caso você pode escalar apenas aquele serviço que tá com alta demanda enquanto que os demais continuam funcionando normalmente é quando a gente tem uma arquitetura monolítica ter esse controle minucioso de performance né de escalabilidade já não é
tão simples assim porque se a gente quiser escalar um determinado módulo como a gente tem um alto acoplamento a gente vai ter que escalar a aplicação com toda então isso é uma grande vantagem também uma arquitetura de microserviços né Você tem o consegue ter um controle muito mais minucioso da escala o sistema outra grande vantagem também é o isolamento e corresponde falhas né quando eu disse anteriormente quando a gente tem um erro em produção por exemplo Dane é a equipe ela pode atuar apenas naquele microsserviço que está gerando este bugue né E o restante da
arquitetura continua funcionando normalmente é numa arquitetura monolítica isso já não seria tão simples assim a gente já teria que parar arquitetura como tudo para corrigir o mesmo bug devido ao alto acoplamento é outra grande vantagem também deve ter tura de microservice é o isolamento das modelagens de dados como geralmente é o caso ideal é que cada microservice tem a sua própria base de dados então neste caso uma modelagem não afeta na outra então se a gente precisar em um determinado serviço inserir uma nova feature é inserir novos modelos de dados novas identidades e tudo mais
isso não vai afetar de forma alguma os demais modelos de dados já que estão com bancos diferentes e também é uma grande vantagem de quando você utiliza microservices né você evita que falhas em banco de dados aconteça Principalmente quando você tem muitos relacionamentos entre as tabelas e outra grande vantagem também de quando você utiliza microservices é a facilidade de inserir novas tecnologias do mercado Então imagina que surgiu novas tecnologias que a equipe achou viável inserir na arquitetura neste caso é aí que tu pode começar validar essas novas tecnologias com serviços secundários não eles não são
tão relevantes assim arquitetura e depois de validado então você pode começar a replicar essa nova tecnologia nos demais serviços Então essa facilidade né Essa dinâmica é muito mais fácil quando você trabalha com micro service e você tivesse o mesmo sistema utilizando uma arquitetura monolítica para você inserir uma nova tecnologia é algo bem mais complicado você vai ter que fazer diversas adaptações e muitas E aí é possível outra coisa também que é interessante de você utilizar em microservices né é a diversidade de tecnologias que você pode utilizar em uma mesma arquitetura então determinado serviço talvez né
ele vai ser melhor performático se foi construído com outra tecnologia específica para aquele tipo de funcionamento Então quando você tem microser se você tem essa possibilidade né e construindo os seus serviços de acordo com a melhor tecnologia que vai se encaixar naquele determinado cenário agora quando você tem um arquitetura monolítica dificilmente você vai conseguir desfragmentar todos esses serviços né Para que cada um fique com a melhor tecnologia para ser utilizada porque com alta comportamento isso também é algo que fica bem difícil de ser adaptado né nesse tipo de arquitetura outra coisa também bem interessante na
arquitetura de microserviços é a curva de aprendizado dos novos membros da equipe então quando o movimento e aqui para trabalhar no arquitetura de microserviços geralmente ele vai utilizar Ali vai trabalhar a princípio em um serviço específico né E como esse serviço ele é independente dos demais e o cenário de é menor Então logo né em bem mais rápido este lembro daí que ele já vai conseguir entender aquele cenário e conseguisse é produtivo agora essa mesma pessoa entrasse para trabalhar numa arquitetura monolítica querendo ou não não é mesmo ela tendo ali um papel mais básico a
princípio ela vai ter que entender o cenário da aplicação como um touro então o cenário é muito maior então a curva de aprendizado né na arquitetura monolítica é maior para a pessoa começar a ser produtiva e outra coisa também é mais uma vantagem que você tá aqui é a possibilidade de desenvolvimento paralelo Então quando você tem microservices né talvez você vai ter várias tecnologias diferentes você vai ter que conseguir ter equipes mais dinâmicas e trabalhando em paralelo né porque todos os serviços e se comunicam é eu acho que se comunicam entre si Mas eles são
independentes uns dos outros eles podem ter seus desenvolvimentos paralelos e com isso você consegue gerar uma maior rapidez na construção e seu software bom agora eu já falei bastante sobre as vantagens e agora eu vou falar um pouquinho também das desvantagens deste tipo de arquitetura então a principal desvantagem que eu vejo é a princípio né quando você vai começar a a utilizar microservice seja para um projeto novo ou seja quando a empresa decidiu migrar né o seu nome Unido para microservices é o start da aplicação porque Diferentemente de quando você trabalha com político é onde
você tem uma única aplicação uma única conexão com a base de dados em microservices você vai ter que lidar com várias tecnologias diferentes já não start da aplicação fazer todo um preparo da sua base da arquitetura né fazer a conexão com todas essas tecnologias diferentes a parte ele é assim um pouco mais complexo neste tipo de arquitetura porém hoje em dia né cada vez mais a gente tem ferramentas e plataformas que nos auxiliam neste tarde é tanto um start quando na implantação e implementação da arquitetura e tudo mais ferramentas como por exemplo gerry ter que
já te auxilia auxilia a equipe na empresa dar um start muito mais rápido neste tipo de arquitetura bom a segunda desvantagem que você tá com uma desvantagem né é um gerenciamento de métricas muito mais cauteloso que a gente tem que ter nesse tipo de arquitetura porque porque como a gente tem diversos serviços né Independentes trabalhando e também se comunicando entre si internamente e muitas vezes até externamente com outros sistemas então a gente cria vários pontos de falhas Então a gente tem muito mais ponto de falhas do que teria numa arquitetura monolítica então neste caso é
preciso ter uma implementação é bem cautelosa né e bem robusta de um gerenciamento e monitoramento de métricas de todas as métricas blogs que acontecem todos os processamentos da sua arquitetura de microserviços é isso é lógico que não é um problema né mas eu citei aqui porque quando a gente tem arquitetura monolítica a gente não tem que ter esse Rigor não é tão grande mas em microservice isso é essencial de ser implementado para você cada vez mais elevar o grau de maturidade da sua arquitetura outra coisa que também inicialmente pode ser bem mais complexo do que
o arquitetura monolítica é o processo de Deploy né de implantação da sua Arquitetura em uma plataforma Cloud por exemplo como a gente tem vários de serviços né muitas vezes a gente tem dezenas e até centenas de serviços que compõem o arquitetura cada um com sua base de dados então este processo é algo bem mais complexo do que seria uma arquitetura monolítica onde a gente tem geralmente uma única aplicação a única base de dados né então é um processo mais cauteloso porém é hoje em dia também as plataformas fala Cláudio estão muito Preparadas para esse tipo
de arquitetura né é com várias tecnologias ferramentas que já auxiliam EA automatizam todo o processo de Deploy para você então é claro a primeira vez é um pouco mais difícil né porque você vai ter que preparar vai ter que configurar todas essas ferramentas para automatizar os seus depois mas depois disso fica tudo automático fica tudo fácil e ali no dia dias fica como fluxo natural bom pessoal Então nesse vídeo eu falei um pouco para vocês sobre as principais vantagens e desvantagens nesse trabalhar com este tipo de arquitetura né de microservices muitas empresas hoje já estão
utilizando as arquitetura né em projetos novos muitas empresas estão migrando é o seu sistema legado né o monolítico para microservices então é algo que está é bastante no mercado de trabalho que cada vez a gente consegue ver mais isso com mais frequência é em Java a gente tem várias possibilidades se criar uma arquitetura de microserviços né Comprei no Word robustos para isso Como por exemplo o Spring né o Spring Framework que tem o projeto Spring Cloud né que tem todo uma steck Onde você consegue encontrar vários projetos para fazer várias coisas vários dos serviços de
bases da arquitetura de microserviços você consegue fazer com os projetos do speck do Spring Cloud é a gente tem também a opção de utilizar os microscópios que são as especificações do Jacareí para trabalhar com microservices a gente também pode utilizar um frango porque se chama no canal ti também é o bastante utilizado com Java E também o quarto que é um Framework mais novo e também já vem pronto aí para trabalhar com microservices certo pessoal eu espero que vocês tenham gostado se tiver dúvida o saque para mim nos comentários do vídeo e é isso vejo
vocês nos próximos vídeos aqui no canal até
Copyright © 2024. Made with ♥ in London by YTScribe.com