General
Tecnologia
Microsserviços permitem softwares modulares

Imagine montar um software como quem monta um computador de jogos altamente customizado, podendo escolher os melhores modelos de componentes disponíveis para garantir o máximo de performance possível em qualquer aplicação. A arquitetura de microsserviços para softwares funciona de forma bastante semelhante a isso, e está começando a ser utilizada nas aplicações do Serpro.
A arquitetura surgiu baseada em experiências ocorridas no mercado de TI nos EUA, por volta do ano de 2011. De acordo com alguns de seus idealizadores, como James Lewis, Martin Fowley e Sam Newman, trata-se de um conjunto de pequenos serviços, trabalhando separadamente em seus próprios processos e se comunicando através de interfaces leves. Eles são, por sua vez, construídos em volta de processos de negócios, podem ser colocados em produção independentemente por dispositivos de software totalmente automatizados.
De acordo com Rodrigo Mendes, gerente de Serviços e Soluções Corporativas do Serpro, microsserviços são uma solução viável para quando não é possível manter a modularidade em aplicações monolíticas, termo que designa programas escritos de forma tradicional e que executam todos os processos de uma vez.
"Nos sistemas monolíticos, os ciclos de manutenções, sejam evolutivas ou corretivas, exigem que o pacote de publicação de toda a solução seja reconstruído", diz. Além disso, segundo ele, redimensionar essas soluções requer que isso seja feito de forma integral, em vez de envolver apenas as partes da solução que exigem mais recursos.
Foi baseado em cenários como este que o estilo arquitetural de microsserviços foi proposto, para construir aplicativos como um conjunto de serviços. "Os serviços têm entrada em produção independente, são escaláveis e possuem uma responsabilidade bem definida, o que permite inclusive adoção de diferentes linguagens de programação para cada serviço", explica Rodrigo, ressaltando que essa construção permite a manutenção dos serviços por equipes diferentes.
Sobre a sua adoção no Serpro, o gerente considera que o ecossistema que envolve microsserviços requer ainda refinamentos, como atualização tecnológica, ajustes no modelo de trabalho e adoção de alguns padrões e diretrizes. No entanto, algumas soluções já incorporam soluções e práticas de microsserviços. "O Estaleiro tem colaborado significativamente para acelerar esse processo de maturação", pondera. Estaleiro é o nome do serviço de nuvem privada, na modalidade Plataforma como Serviço (PaaS), oferecido internamente como ferramenta de trabalho na empresa.