Muitas empresas fazem pesquisa de mercado ou sua experiência particular das melhores práticas e ferramentas, mas poucas empresas tornam isso público.
Uma delas é a ThoughtWorks, que periodicamente lança o seu Technology Radar.
Você precisa ler um desses do mesmo jeito que lê um jornal: considere as opiniões levantadas em suas próximas decisões, mas não trate como verdade absoluta.
Vou resumir apenas os pontos que considerei interessantes, o documento é bem mais rico do que minhas observações.
Imagens Docker sem distribuição
As imagens de docker oferecem uma camada adicional de segurança se compararmos com a aplicação que sobe instalada nativamente no sistema operacional, entretanto ainda assim ela está sujeita à algumas falhas de segurança. Para minimizar esse problema, o Google criou algumas imagens “distroless”.
Vejam um exemplo de aplicação Java:
FROM openjdk:11-jdk-slim AS build-env ADD . /app/examples WORKDIR /app RUN javac examples/*.java RUN jar cfe main.jar examples.HelloJava examples/*.class FROM gcr.io/distroless/java:11 COPY --from=build-env /app /app WORKDIR /app CMD ["main.jar"]
ESBs disfarçados de gateways de API
Quem já tentou implementar um barramento sabe a dor de cabeça que é e que além de dor de cabeça e lentidão, não tem outra memória dessa arquitetura. Agora com o crescimento dos API Gateways ainda existe o perigo de deixar lógica de negócio no Gateway, quando ela deve sempre residir nas APIs de back-end.
Anarquia de micro frontends
Acho que a cada 10 repositórios novos do Github, 1 é de um framework de front-end (CSS/JS).
O enorme leque de opções pode ser o caos em seu sistema, um padrão único (usar react , angular, ou nenhum deles) é essencial para diminuir os problemas de compatibilidade e manutenção.
Uso excessivo de Node.js (novamente)
Hoje existem várias opções com suporte a I/O não blocante, o desempenho não é mais um motivo para escolher o Node.js.
crescimento de Rust
Rust cresce a cada ano, e surgem opções interessantes, como o banco de dados Materialize.
Fernando Boaglio, para a comunidade