*Por Giovanni Bassi
A arquitetura de microsserviços, nos últimos anos, tem se tornado realidade nas organizações e, no futuro, é possível que os sistemas tenham a necessidade de incorporar as práticas e constantes atualizações desta estrutura arquitetônica. No entanto, além de entender quais são os impactos trazidos por esse conceito tecnológico, é importante saber também os desafios.
Neste sentido, um dos principais desafios é a complexidade. E o que se torna complexo na implementação da arquitetura de microsserviços para uma empresa é a necessidade de conhecimento e atualização do time de tecnologia sobre o tema, demandando alta especialização das pessoas envolvidas.
Desta forma, é impossível utilizar microsserviços sem pensar em skill, disciplina e uma cultura de DevOps. O jeito mais simples de explicar essa lógica é contextualizando a diferença entre o que acontece com o estilo monolítico – aplicado em sistemas tradicionais monolíticos em um único servidor -, e os microsserviços, que utilizam dezenas de serviços sendo providos. Tradicionalmente, quando falamos sobre monolito, tratamos de sistemas legados com seus componentes altamente acoplados, que em muitos casos não permitem atualização e escalabilidade de maneira simples. Já a arquitetura de microsserviços descentraliza os mecanismos, ao invés de concentrar as informações em um único ambiente, simplificando as resoluções para eventuais problemas no sistema.
Imaginemos, por exemplo, as plataformas de serviços de streaming que usam mecanismos de microsserviços. Supondo que elas detectem problemas, não será necessário parar o sistema inteiro para fazer uma atualização, pois tudo está descentralizado. Isso reflete não somente nos times que trabalham para assegurar a qualidade da tecnologia oferecida, mas também no usuário final, que está ouvindo a sua música ou assistindo seu filme ou série preferida sem interrupções. No entanto, o cenário seria diferente em se tratando de sistemas monolíticos, uma vez que atualizações e correções da plataforma podem tirar o sistema do ar. Além disso, sem uma cultura de DevOps e automatização, realizar esse tipo de procedimento manualmente é praticamente inviável dentro de um time tradicional de infraestrutura e tecnologia.
É em situações como essa que a cultura de DevOps evidencia sua essencialidade para o negócio. Afinal, o problema exemplificado é resolvido com múltiplos processos de automatização que equipes de desenvolvimento de software elaboram. E sem automatizar sistemas internos e processos de entrega de software e de infraestrutura, é muito difícil dar conta dessa realidade.
Entre os principais impactos positivos proporcionados pela arquitetura de microsserviços estão o ganho em escalabilidade, custo, volume, desempenho, modernização e expansão do negócio. Além disso, ela consegue viabilizar múltiplos times trabalhando no sistema, reduzindo a dependência de equipes muito grandes (que são mais difíceis de serem geridos), otimizando as organizações das equipes e do atendimento do negócio, dando assim, mais liberdade na maneira como as empresas de tecnologia escalam.
Do ponto de vista mercadológico, há uma ampla variedade de segmentos voltando suas atenções aos microsserviços, pois eles já percebem que essa é uma solução tecnológica para uma realidade de negócio em alta escala.
E o que acontecerá quando essa realidade se tornar rotina para a competitividade de mercado e para a vida do consumidor final? Se uma empresa visa a atuação em um universo extremamente competitivo e de crescimento exponencial, é imprescindível que ela enxergue uma arquitetura de microsserviços como alternativa viável para o apoio à transformação do seu negócio.
Giovanni Bassi é fundador e Chief Software Architect da Lambda3