BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias A diferença entre SOA e microserviços

A diferença entre SOA e microserviços

Ao longo dos anos, diversos artigos foram publicados discutindo as semelhanças e diferenças entre SOA e microserviços. Algumas dessas publicações sugerem que há muito o que se aprender com SOA, enquanto outras publicações acreditam que é mais benéfico para os microserviços se manterem distante de SOA. Neal Ford, Diretor da ThoughtWorks, sugeriu que fazer a migração de uma arquitetura monolítica para uma abordagem baseada em serviços pode ser mais fácil do que uma migração para microserviços.

Poucas atividades recentes aconteceram em torno das discussões sobre SOA e microserviços, até que Stephen O'Grady, Principal Analyst da RedMonk, publicou um novo artigo sobre o assunto. Em seu artigo, O'Grady defende que o tamanho de um serviço não é um fator decisivo, posição semelhante a que outros profissionais vem defendendo ao longo dos anos, como Dan North e Jeppe Cramon. Jeppe, um especialista em integração de sistemas de larga escala e SOA, disse:

Utilizar somente o tamanho para definir um microserviço é uma medida pobre e sem utilidade para analisar se um serviço tem suas responsabilidades corretas [...]

O'Grady acredita que existem uma série de fatos por trás de associações e discussões sobre SOA e microserviços:

Apesar de todas as suas falhas, SOA foi uma visão corporativa que se parece muito com o que empresas mais modernas estão fazendo atualmente com arquiteturas nativas para nuvem compostas por microserviços, dentre uma série de coisas. No que diz respeito ao seu core, SOA foi uma ideia de que arquiteturas devem ser compostas por serviços e não por uma aplicação monolítica.

Em seu artigo, O'Grady produziu uma série de diagramas interessantes, utilizando Google Trends, e o primeiro deles mostra que SOA, apesar da sua popularidade, atingiu seu ápice e foi algo popular por um relativo curto período no mercado.

google-trends-soa.png

Stephen O'Grady acredita que o argumento sobre o tamanho como um diferenciador ignora ou ofusca os reais motivos pelos quais SOA perdeu sua popularidade e microserviços ganharam mais evidência no mercado. Em sua análise, SOA foi um investimento realizado por grandes players enquanto microserviços é algo mais impulsionado por desenvolvedores.

Dado o sucesso de plataformas como a AWS, é difícil ter uma argumentação de que plataformas orientadas a serviços não é um meio eficiente de construir plataformas que escalem ou de que essa não é a abordagem dominante atualmente. Notavelmente, as plataformas baseadas em serviços são, geralmente, construções de desenvolvedores. Já o mundo SOA, foi originalmente concebido por grandes fornecedores - onde os serviços foram construídos seguindo padrões complexos e muitas vezes políticos - e nunca vingou pelo simples fato de que desenvolvedores não queriam fazer parte disso.

O'Grady menciona que microserviços são mais benéficos do que SOA considerando-se tanto o que funcionou e o que não funcionou.

Microserviços são mais fáceis de serem desenvolvidos do que outras alternativas monolíticas. Além disso, eles vem sem a bagagem de padrões de fornecedores do SOA [...]

Outros profissionais apresentaram as mesmas argumentações ao longo dos últimos anos, incluindo Asanka, Vice Presidente de Soluções de Arquitetura da WSO2, que disse:

Atualmente, as empresas estão migrando em direção a uma abordagem SOA mais simples e abraçando o conceito de uma arquitetura de microserviços dentro de SOA. Possivelmente, os grandes benefícios são a componentização e as responsabilidades únicas fornecidas por esses microserviços, que possibilitam um deploy mais rápido, bem como uma escala conforme necessário. Acredito que isso ainda não seja um conceito inédito.

O segundo gráfico do Google Trends apresentado por O'Grady também mostra algo interessante.

microservices.png

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT