hzerohzero
HomeSoluçõeskonqPlataforma de concursosafereColeta de dados auditávelconsultoriaSoftware sob medidaInstitucionalBlog
konq
Plataforma de concursos

Uma plataforma multi-tenant para organizar concursos de produtos de ponta a ponta: inscrição, avaliação por jurados, classificação e certificado.

afere
Coleta de dados auditável

Um sistema de formulários customizáveis e registros de campo, com trilha de auditoria, registros de não conformidade, controle de acesso granular e visão georreferenciada.

consultoria
Software sob medida

O nosso time desenvolvendo o que a sua operação precisa: uma aplicação nova do zero, a manutenção de um sistema que já está no ar, ou o site da empresa.

Onde já rodam

Nossas plataformas são a base dos projetos que entregamos — e evoluem a cada operação nova que entra.

← Blog
Tecnologia

Micro services não são um objetivo, são uma consequência

Equipe hzero · · 3 min de leitura

Se um fornecedor te ofereceu quebrar o sistema em micro services, três perguntas dizem se isso resolve o seu problema ou multiplica ele por dez. Nenhuma delas exige saber programar.

Em algum momento a palavra aparece numa reunião: o sistema precisa virar micro services.

Micro services é dividir um sistema grande e único em vários sistemas pequenos, cada um responsável por uma parte do negócio e cuidado por um time diferente. O oposto disso, o sistema grande e único, costuma ser chamado de monolito — e o termo é usado como xingamento com mais frequência do que deveria.

O argumento a favor vem pronto: assim cada pedaço evolui no seu ritmo, sem esperar os outros. É verdade. Mas só quando o seu problema é esse. Quando não é, você trocou um sistema difícil por oito sistemas difíceis que agora precisam conversar entre si — e a conversa entre eles vira um problema novo, que antes não existia.

Se você é quem aprova o projeto, não precisa entender de programação para saber se faz sentido. Precisa de três perguntas.

As três perguntas

Existem equipes diferentes que hoje ficam esperando uma pela outra para colocar algo no ar? Esse é o problema que micro services resolve de verdade: times independentes travados na fila um do outro. Se você tem uma equipe só, dividir o sistema não vai acelerar nada. Vai dar a ela oito coisas para cuidar no lugar de uma.

As áreas do negócio têm fronteiras claras? Se ninguém na empresa sabe dizer com precisão onde o cadastro termina e a cobrança começa, essa confusão não desaparece com a divisão. Ela vira uma confusão entre sistemas separados, que é muito mais cara de resolver do que dentro de um só.

Colocar uma correção no ar hoje é rotina ou é evento? Se publicar uma mudança já exige reunião, madrugada e torcida com um sistema, imagine com oito. A divisão multiplica exatamente aquilo que já dói.

Se a resposta for não para as três, dividir só multiplica o problema.

A ordem que costumamos indicar

Quando o caso realmente pede a divisão, ela é o último passo, não o primeiro.

Primeiro, tornar a publicação de mudanças confiável e sem drama — o que no jargão aparece como CI/CD, e na prática significa que subir uma correção deixa de ser um evento arriscado e passa a ser rotina.

Depois, padronizar o ambiente onde o sistema roda, para que ele funcione igual na máquina de quem desenvolve e no servidor de verdade. É o que os containers fazem, e é o que acaba com o "aqui funcionava".

Depois, esclarecer onde uma área do negócio termina e a outra começa. Essa é a parte difícil, e ela é de negócio, não de tecnologia — quem responde é quem conhece a operação, não quem programa.

A separação física em micro services vem por último. E quando chega a vez dela, já quase não custa nada, porque o trabalho pesado foi feito antes. É por isso que ela é consequência, e não objetivo: quando você fez o resto direito, dividir vira uma decisão pequena. Quando não fez, dividir não conserta nada.

Se te apresentaram um projeto de migração, essas três perguntas valem mais que a proposta inteira — e respondê-las é uma conversa que a gente tem de graça.