Bom pessoal, no vídeo anterior a gente falou sobre quando que a gente deve optar por sistemas monolíticos. Agora a gente vai falar quando que a gente pode optar por arquiteturas baseadas em microserviços. Bom, seguinte, minha opinião, e tem muitas pessoas de grande renome que também falam a mesma coisa. Eu acho que você vai optar por uma arquitetura baseada em microserviços quando você tem uma necessidade muito grande de escala. Mas essa escala é uma escala de times, não de sistemas. Porque monolitos conseguem escalar. Você consegue fazer monolitos escalarem. Mas quando você tem uma quantidade muito grande de desenvolvedores, você não vai conseguir escalar essas equipes porque é muito complexo você ter um único sistema com mil, dois mil, três mil, dez mil desenvolvedores mexendo num único sistema. Eu acho que claramente fica... Eu acho que eu não preciso nem ficar argumentando muito em relação a isso. Eu acredito que fica muito claro que escalatim é um problema. E escalatim, utilizando sistemas monolíticos, é um problema ainda maior. Então, trabalhar com microserviços nesses pontos, com certeza, não é uma questão de hype, uma questão de é melhor, é uma questão de necessidade. Chega um momento que você trabalhar com sistemas monolíticos acaba sendo inviável. Inviável. Por isso que, aqui para cima, eu falei aqui para vocês, arquiteturas distribuídas são necessárias em grandes ambientes em grandes ambientes normalmente você tem grandes desenvolvedores e quanto mais desenvolvedores mais inviável é trabalhar com sistemas monolíticos legal outro ponto importante é você vai trabalhar com micro serviços quando você tem contextos e unidades de negócio definidos porque Por quê? Porque se você sabe aonde começa uma parte do seu sistema, aonde ela termina, tá ok, todo sistema tem uma zona meio cinzenta onde você pode falar que esse contexto é de um microserviço, esse contexto do outro, mas tirando isso, combinando isso com outros times, se você tem contextos definidos você pode criar um micro serviço resolvendo aquele tipo de contexto tá então quando você tem essa definição é uma definição muito mais próxima do que né projetos onde não conhecemos todos os contextos com certeza trabalhar com micro serviços aqui pode fazer mais sentido. Um outro ponto importante aqui, e que lá atrás eu estou sendo contraditório, é o seguinte, você consegue escalar partes específicas de um sistema sem ter que escalar o sistema inteiro. Olhando por esse lado, a gente vê uma vantagem e principalmente vantagens em um momento onde o sistema tem uma alta carga de trabalho. Vamos pensar numa Black Friday, galera. Imagina o catálogo de produtos, a quantidade de consultas, a quantidade de acessos que acontecem no catálogo. Um catálogo de produtos. Deve ser algo massivo numa Amazon da vida. Agora, já pensou você ter que escalar uma Amazon inteira, com centenas de milhares de linhas de código criadas, ou com milhões de linhas de código criado com milhões de linhas de código criado você tem que escalar aquele trambolho inteiro para simplesmente né fazer o catálogo de vídeos subir o catálogo de vídeos não o catálogo de produtos para as pessoas navegarem subir pode ser algo um pouco estranho. Agora perceba, nesse tipo de caso, provavelmente o custo vai valer a pena. Você entende o que eu estou dizendo? Em um sistema onde você não tem tanto acesso, você não tem tanta demanda, você falar que isso é uma vantagem, não é. Isso é só custo. Você falar que isso é uma vantagem, não é. Isso é só custo. Mas um ecossistema gigantesco, sei lá, como uma Amazon da vida, provavelmente, escalar apenas uma parte do sistema vai gerar uma grande vantagem e vai chegar ao ponto de economizar dinheiro. Imagina, sei lá será um mercado livre onde tem mais de 120 mil máquinas no ar né cada máquina dessa provavelmente está rodando alguns micro serviços diferentes não dá pra fazer sentido subir tudo aquilo de uma vez só escalar tudo aquilo de uma vez então nesses aspectos olhando pelo bom senso, sim, isso pode ser uma vantagem. Entende, galera, como tudo depende do contexto? Num contexto anterior, isso aí pode ser mais custo. Num outro contexto, isso pode gerar mais custo, mas provavelmente o custo-benefício pode ser maior. Agora, um outro ponto importante é necessidade de tecnologias específicas para resolver problemas específicos. Quando você tem um ambiente muito grande e um ambiente que necessita de recursos adicionais para trazer mais eficiência para o negócio, sei lá, alto grau de processamento, trabalhar com machine learning, trabalhar com trazer informações em tempo real. Toda vez que você tem linguagens e um portfólio muito maior de tecnologias para você trabalhar, você vai ter uma vantagem competitiva. Mas, novamente, se você tem um site na internet, um e-commerce com meia dúzia de visitas, você não vai querer separar as coisas dessa forma. Entende? Tudo é contexto, galera. Tudo é contexto. Se você tem baixo risco, se você tem baixo orçamento, se você tem baixo orçamento se você tem baixo volume provavelmente micro serviços não vai ser algo ali que vai fazer uma grande diferença aí pra você legal próximo vídeo eu quero trazer algumas provocações aqui pra você de alguns pontos que você tem que entender pra você começar a trabalhar com micro serviços pra você sacar como buraco é