Executando verificação de segurança...
1

Entendo teu ponto e respeito a visão, mas discordo de algumas partes, especialmente da ideia de que “quase nunca precisamos quebrar tudo em microsserviços”.

Isso é uma generalização que pode ser tão perigosa quanto o hype que critica. Tem cenários sim onde quebrar tudo (ou quase tudo) faz sentido, principalmente quando o sistema cresce junto com os times. Quando você tem várias equipes trabalhando em domínios diferentes, com autonomia de deploy, linguagens diferentes, SLAs separados… tentar forçar tudo dentro de um monólito vira uma dor de cabeça enorme.

Dizer que nunca viu alguém provar que era necessário não quer dizer que esses casos não existam. Cuidado com o argumento por ignorância (argumentum ad ignorantiam). Empresas como Netflix, Amazon, Mercado Livre e várias outras não quebraram seus sistemas à toa. Não foi moda, foi necessidade real de escalar pessoas, processos e domínios de forma separada.

Sobre o argumento dos grandes que usam monólitos (Instagram, Stack Overflow etc), eu entendo, mas cuidado aí. Esses caras têm engenheiros de outro planeta que fazem milagre com monólito. Não dá pra pegar como exemplo universal. E mesmo o Instagram já quebrou partes do sistema sim. A Stack Overflow vive com devs extremamente sêniores cuidando de um código legado com carinho absurdo. Não é o tipo de cenário que a maioria enfrenta.

E cara, falar que escalar é “bobagem” é um pouco demais. Escalar independente é uma vantagem real quando o sistema exige. Talvez não seja teu caso hoje, e tudo bem. Mas não dá pra desconsiderar que, pra certas realidades, é uma baita diferença.

Concordo com você que tem muita gente deslumbrada adotando o padrão só pra parecer moderno, e isso é um problemão. Mas daí a dizer que quase nunca é necessário, acho perigoso. Tem muito time sofrendo com monólito por medo ou preconceito com microsserviços também.

No fim, o problema não é usar ou não usar microsserviços. É usar sem saber por quê. Mas o mesmo vale pra não usar também.

Carregando publicação patrocinada...
1

Eu trabalhei no que é provavelmente a maior base de código que existe no Brasil, e não tem problema, mesmo não estando tão organizado quanto deveria. Essa necessidade de organização toda separada é uma fantasia que as pessoas criam, ou precisam porque estão fazendo muita coisa errada, ou é gosto organizacional, conforme eu disse no meu comentário.

Preciso falar do Linux?

Antes de manis nada estamos falando de um sistema que é ou deveria ser um monólito e que vão fazer como microsserviços. Não estamos falando de sistemas que são naturalmente distintos e não precisam um do outro para funcionar, certo? Porque isso existe há décadas e não é microsserviços. Essa arquitetura propõe quebrar algo que deveria ser uma coisa só. Por exemplo o SO tem um serviço de autenticação isolado do resto do site, porque é uma tarefa completamente diferente e que não depende do conteúdo principal dele. Isso não é uma arquitetura de microsserviços.

Sim, eu nunca disse que não existem casos que deveriam, mas todos os casos que eu tive contato, e foram muitos, aconteceu isso, eu não estou provando que todos os casos estão errados, até porque eu estaria falando uma bobagem muito grande, e eu deixei claro que existem casos reais que precisam, nem que seja por motivos não técnicos. Se as pessoas adotassem por necessidade real me parece que apareceria um caso que a pessoa teria provado. As pessoas falam coisas genéricas, mas ninguém fala "fizemos os testes com os dois em condições adequadas em ambos, e este se saiu melhor que aquele e por isso abandonamos aquele e ficamos com este". Ninguém fez uma postagem em um blog ou vídeo mostrando com dados que tiveram argumento de produtividade, qualidade ou outras questões, principalmente no longo prazo. Geralmente tem no meio, no começo paga o preço da curva de aprendizado, e depois começa pagar o preço pela bagunça que vai se tornando. Não existe milagre.

Cuidado com o argumento por ignorância (argumentum ad ignorantiam). Empresas como Netflix, Amazon, Mercado Livre e várias outras não quebraram seus sistemas à toa. Não foi moda, foi necessidade real de escalar pessoas, processos e domínios de forma separada

Prove. Ou pelo menos dê um argumento consistente, você deu uma opinião sem nenhum embasamento. Eu não falei se eles fizeram certo ou não. A Amazon eu sei que não fizeram muito não, porque voltaram atrás em várias coisas. Eu falei que muitos fazem, eu sei de plataformas que estão pagando um preço alto pela escolha que fizeram. Você tem acesso aos custos e todo ambiente da Netflix, do ML ou algum outro? Se você não tem, você está fantasiando.

Fazer microsserviços direito é absurdamente mais difícil do que fazer monólito, por isso essa arquitetura é combatida por alguns dos mais proeminentes engenheiros. Então não sei porque precisa engenheiros de outro planeta. Onde eu trabalhei tinham engenheiros bem ruinzinhos. E usando sua lógica o SO, IG, WP têm engenheiros de outro planeta, e a Netflix, Amazon e ML têm engenheiros de merda. Talvez eu concorde, se tiver mais evidências, mas o fato de escolherem microsserviços, e se foi sem necessidade, realmente prova seu ponto, eles são uma merda.

Esse é o argumento que mais ouço, e é o mais sem sentido possível. Pergunte para quem quiser que seja referência em microsserviços se eles recomendam fácil. Todos vão te dizer que só faça quando for a única solução viável, é complexidade demais, é ineficiência/custo demais, precisa de uma justificativa muito forte.

Você está me dizendo que microsserviços é coisa para júniores? Eu conheço todo mundo (que importa) que trabalha ou trabalhava lá. A Team Principal é brasileira, você sabia? Ela boa, mas não é uma sumidade, ela faz o básico bem-feito, como todo bom engenheiro deve fazer. Não tem milagres, não tem algo que só poucas pessoas sabem fazer, não tem nada demais, é super simples, na verdade, é justamente ser simples que faz ser bom.

Mas novamente, se o seu ponto é que microsserviços deve ser adotado por pessoas que não sabem bem o que estão fazendo, eu concordo. Por isso eu disse que as que sabem, não adotam.

Continue ignorando os casos que eu citei então. Ou continue achando que nesses lugares habitam extraterrestres que escalaram em monólito. Ou ache que esses casos são fraquinhos, que talvez o seu é que precisa de escala maior que os deles. Lembrando, o SO consegue rodar em um servidor sem problemas, sem atrasos na maioria das requisições, eles já testaram isso, só mantém vários por redundância a mitigar ataques. Você pode continuar com sua opinião, claro, mas estou te dando a oportunidade de rever alguns conceitos que tem olhar para casos que refutam totalmente o que você está afirmando.

Tem muita gente boa dizendo exatamente "quem está sofrendo com monólito, nem passe perto de microsserviços, faça o monólito funcionar bem, aí se não tiver jeito mesmo é que deve ir para algo mais complexo".

Você poderia refutar pelo menos parte do que eu disse com dados detalhados de uma implementação que se provou claramente melhor. Não estou falando de percepção, de algo observado no começo.