Bom pessoal, no vídeo anterior a gente falou sobre as múltiplas possibilidades de tecnologias que a gente pode adotar nesse tipo de arquitetura e os seus grandes problemas que podem vir a acontecer. Porém, o que acontece? Nós temos algumas outras características e as características que eu estou citando aqui não são as únicas, mas são pontos importantes que eu acredito que vale a pena você ter ali, de bate-pronto na sua cabeça. Que é o seguinte, processo de deploy menos arriscado. O que isso significa? Imagina que você tem 100 microserviços, e na hora que você for fazer o seu processo de deploy, esse deploy dá errado. Ou seja, você ainda tem 99 microserviços no ar com um problema num deploy. Você vai ter uma parte, como se diz, afetada no seu sistema. E se você conseguiu criar políticas e mecanismos de fallback, o seu sistema vai se degradar parcialmente e ainda você vai conseguir atender requisições. Agora, num sistema monolítico, a coisa não acontece dessa forma. Se você tiver problema no deploy, esse sistema fica fora, todo mundo vai ficar fora do ar. Então, isso aí realmente é uma vantagem, porém, o que acontece? Tudo tem a sua desvantagem. Por quê? Porque apesar de você poder fazer o deploy de forma mais independente, você tem uma complexidade muito, mas muito maior no setup desses microserviços. Por quê? Se você tem 10 microserviços, você tem 10 processos de setup, 10 esteiras de CI, 10 esteiras de CD, 10 sistemas que vão fazer o processo de análise estática do código. São pessoas diferentes que eventualmente vão fazer o seu code review, por exemplo. Normalmente, quando você precisa se comunicar, às vezes você tem que se comunicar com outros 10 sistemas. Você entende como é muito mais complexo esse ambiente? Se você, em algum momento, já passou um perrengue para subir um único sistema no ar, tudo bonitinho, rodando seus testes, rodando as imagens Docker, criando ali os pods no Kubernetes, fazendo os startup probes, fazendo os testes de stress para ver quanto que você vai utilizar de memória, de CPU e tudo mais. Se tudo isso deu trabalho para você, multiplica isso pela quantidade de microserviços. Então é por isso que você tem que tomar cuidado, para você não tomar decisões inconsequentes na hora de escolher trabalhar com esse tipo de arquitetura. E por isso que muitas vezes, empresas grandes que possuem múltiplos microserviços, elas têm times de plataforma que fazem esse setup de uma forma muito mais organizada, padronizada, para que o desenvolvedor, desenvolvedora, não perca tempo durante todo esse processo. Legal? Agora, tem algumas coisas que são bem interessantes também e que nesse ponto eu vejo como uma grande, uma grande vantagem mesmo, que é o seguinte. Você vai poder ter equipes especializadas por micro serviços. Isso vai significar o que ali para você? Vai significar que você pode especializar alguns desenvolvedores para resolver um tipo de problema muito bem imagina que você tem que fazer um sistema que vai emitir nota fiscal cara emitir nota fiscal é um trabalho danado é muito complexo dá muito trabalho o processo de resiliência manter resiliência disso é muito difícil. Entende o que eu estou dizendo? Agora, se você tem aleatoriamente um monte de desenvolvedor que vai fazer esse tipo de trabalho, vai ficar cada vez mais complexo porque as pessoas não têm especialidades dentro desse domínio. Se você estiver trabalhando com micro serviços por contextos e você especializar determinada equipe para fazer aquele tipo de tarefa, cada dia a mais aquela equipe vai fazer aquela tarefa melhor, ela vai performar mais e ela vai trazer mais resultado. Imagina que você está em uma Netflix da vida e você tem que cuidar do servidor de drm o time que cuida do digital rights management cada dia mais essa galera vai entender mais sobre esse assunto vai entender sobre o adivinha a player e fair play e etc e etc então quando você especializa times né as coisas rodam com mais eficiência no quesito de resolver problemas de negócio. E quanto melhor você resolve um problema de negócio, imediatamente você já traz mais valor para a empresa. Para a empresa que vai utilizar aquela feature que você está criando. Então, isso aí é um ponto muito, mas muito importante para você levar em consideração. Beleza? Próximo vídeo, a gente vai falar sobre escala. E aí, a gente tem alguns pontos bem importantes para a gente levar em consideração. Beleza? Então, vamos nessa!