ESB versus microsserviços: qual é a diferença?

Vista aérea de uma cidade com sobreposição de pontos

Semelhanças, diferenças e como o ESB e os microsserviços se relacionam com seus respectivos modelos de arquitetura.

As empresas usam o barramento de serviço empresarial (ESB) há décadas para conectar aplicações umas às outras. Normalmente, essas aplicações eram monolíticas — construídas de forma abrangente, incluindo todos os serviços necessários dentro do aplicativo. Em seguida, veio a expansão dos serviços de nuvem e dos microsserviços separados conectáveis. Como os microsserviços representam uma mudança fundamental na forma como as empresas gerenciam seus recursos, é útil explorar o papel que tanto o ESB quanto os microsserviços desempenham para entender as vantagens de um sobre o outro.

 

As mais recentes notícias de tecnologia, corroboradas por insights de especialistas.

Mantenha-se atualizado sobre as tendências mais importantes (e intrigantes) do setor em IA, automação, dados e muito mais com o boletim informativo Think. Consulte a Declaração de privacidade da IBM.

Agradecemos sua inscrição!

Sua assinatura será entregue em inglês. Você pode encontrar um link para cancelar a assinatura em todos os boletins informativos. Você pode gerenciar suas inscrições ou cancelar a inscrição aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

O que é um barramento de serviço empresarial?

Um ESB, ou barramento de serviço empresarial, é uma abordagem de integração que usa um componente de software centralizado para criar integrações entre aplicações. Para criar um ESB, os desenvolvedores constroem um barramento de comunicação entre diferentes aplicações. Em seguida, eles permitem que cada aplicação se comunique com o barramento, o que, por sua vez, permite o compartilhamento de dados e comunicações entre as aplicações conectados. Essa abordagem padronizada para integração de aplicações significa que o DevOps não precisará construir integrações personalizadas ponto a ponto para cada aplicação.

Ajuda a visualizar o ESB no contexto de como ele é usado na arquitetura de computação geral. Os ESBs são os blocos de construção da SOA, ou arquitetura orientada a serviços, uma abordagem de arquitetura projetada para fomentar a comunicação entre serviços por meio de acoplamento flexível. A SOA é a abordagem abrangente para a arquitetura de um sistema, e o ESB é a ferramenta de comunicação que torna essa abordagem possível.

Para obter mais informações sobre como o ESB se encaixa na arquitetura SOA, leia “ESB e SOA”.

microsserviços

O que são microsserviços?

Neste vídeo, Dan Bettinger oferece uma visão geral dos microsserviços. Comparando a arquitetura das aplicações de microsserviço com o tipo tradicional de arquitetura monolítica por meio do exemplo de uma aplicação de criação de tíquetes, Dan expõe as inúmeras vantagens dos microsserviços e as soluções que oferecem para os desafios apresentados pelos sistemas monolíticos.

O que são microsserviços?

Microsserviços são uma abordagem de arquitetura nativa da nuvem na qual uma única aplicação é composta de muitos componentes independentes e implantáveis, ou serviços. Um afastamento da abordagem tradicional de aplicação monolítica de grandes aplicações fortemente acopladas, os microsserviços utilizam contêineres. O uso de contêineres cria um sistema escalável e distribuído que evita os gargalos de um banco de dados central.

Os microsserviços são separados por sua capacidade de negócios. Por exemplo, o carrinho de compras, os dados do cliente e as informações do produto de uma aplicação são armazenados em seu próprio banco de dados e se comunicam em tempo real por meio de APIs, fluxo de eventos ou protocolos de mensagens para criar a funcionalidade geral da aplicação.

A principal diferença entre ESB e microsserviços

A principal distinção entre ESB e microsserviços é que um ESB é uma ferramenta de integração, enquanto microsserviços são como o nome sugere: pequenos componentes que são combinados para criar uma aplicação.

Um ESB é um hub centralizado e padronizado que insere, transforma e produz dados para que várias aplicações e serviços possam se comunicar facilmente. Os microsserviços estão livres de dependências de outros microsserviços. Podem ser conectados e desconectados de aplicações conforme a necessidade. Embora adotem abordagens diferentes, o ESB e os microsserviços têm o mesmo objetivo: tornar o desenvolvimento e as operações de aplicações baseadas na nuvem mais fáceis e eficientes.

Para entender completamente a diferença entre ESB e microsserviços, é útil analisar não apenas como eles se comparam, mas também como ESB e microsserviços se relacionam com seus respectivos modelos de arquitetura.

Uma arquitetura de microsserviços é composta por muitos serviços altamente especializados que as equipes de desenvolvimento conectam para criar a funcionalidade de uma aplicação. Conforme o projeto da arquitetura de microsserviços continua avançando, os benefícios de desacoplar os serviços aumentam; eles são mais ágeis, escaláveis e responsivos às necessidades das organizações atuais.

O ESB, por outro lado, é um produto inicialmente projetado para a era dos sistemas legados pré-nuvem. As integrações demoram mais para serem desenvolvidas e são menos flexíveis do que se você adotar uma abordagem de arquitetura de microsserviços. O hub de integração centralizado de um ESB pode facilitar a solução de problemas do que a identificação da causa em seus microsserviços. No entanto, sem tolerância a falhas, o ESB também pode ser um ponto único de falha para toda a empresa, o que resulta em um problema geral maior a ser corrigido.

Para saber mais sobre a diferença entre arquitetura ESB e SOA e arquitetura de microsserviços, leia "SOA versus microsserviços: qual é a diferença?"

Prós e contras do ESB

Algumas vantagens e desvantagens do uso do ESB incluem o seguinte:

  • Pró: você pode reutilizar serviços facilmente. Depois que um serviço é conectado por meio do ESB, esses serviços podem se conectar a outros com o mínimo de esforço. 
  • Pró:  permite melhor governança e monitoramento. Como o ESB é um hub centralizado para integrar aplicações, ele também pode servir como um ponto central para controlar o uso de serviços e monitorar estatísticas.
  • Pró: implementar aplicações é mais simples. Todos os recursos de roteamento e orquestração de serviço estão integrados ao ESB, facilitando a implementação.
  • Contra: causa risco à disponibilidade. O próprio barramento pode ser um ponto único de falha devido ao papel central de um ESB na orquestração de todos os sistemas na rede.

Prós e contras dos microsserviços

Alguns benefícios e desvantagens do uso de microsserviços incluem o seguinte:

  • Pró: oferece mais flexibilidade ao DevOps. As equipes podem utilizar diferentes stacks e diferentes linguagens de programação para diferentes componentes.
  • Pró: os microsserviços permitem o desenvolvimento ágil, permitindo a adição de novas funcionalidades ou funcionalidades sem alterar toda a aplicação.
  • Pró: baixas dependências entre serviços significam que a implementação de entrega contínua é mais fácil, e as equipes podem implementar mais rapidamente.
  • Pró: os componentes podem ser escalados de forma independente sem a necessidade de escalar aplicações inteiras.
  • Contra: os microsserviços são extremamente flexíveis e ágeis, mas criam mais complexidade. Com serviços independentes implementados em mais locais, problemas com um serviço podem afetar várias aplicações.

A arquitetura de microsserviços vai substituir o ESB?

A resposta curta é não. Um ESB pode conectar serviços web pequenos e especializados e serviços e aplicações mais antigos de toda a empresa. Isso o torna a melhor solução para integrar grandes soluções locais com soluções SaaS e outros ambientes baseados na nuvem.

No entanto, nos últimos anos, os microsserviços se tornaram o modelo de arquitetura preferido em muitas organizações. Existem várias razões pelas quais os microsserviços têm a vantagem sobre ESB e SOA hoje:

  • Eles podem ser alterados de forma independente para criar maior agilidade.
  • Eles podem ser escalados de forma independente para fazer melhor uso da infraestrutura nativa da nuvem.
  • Podem fornecer a resiliência necessária para operações online 24 horas por dia, 7 dias por semana.

Aqui estão alguns casos de uso para quando os microsserviços seriam a abordagem de arquitetura preferida:

  • Serviços de streaming: a capacidade de aumentar ou diminuir rapidamente é essencial para as grandes flutuações nos dados e no tráfego que vêm com as aplicações de streaming de áudio e streaming de vídeo.
  • Flexibilidade ao adicionar novas funcionalidades: os consumidores de hoje estão buscando atualizações e personalizações constantes. Os microsserviços facilitam a adição de novas funcionalidades porque permitem que o DevOps escolha a linguagem que melhor se encaixa no conjunto de habilidades e na tecnologia de implementação que melhor atende aos requisitos de desempenho.
  • Internet das coisas (IoT): um produto de IoT pode ter milhões de endpoints coletando dados 24 horas por dia, 7 dias por semana. Os microsserviços, com sua arquitetura desacoplada e escalabilidade, podem ajudar a gerenciar as grandes demandas de dados que vêm com a IoT.
  • Dados seguros: o uso de serviços de nuvem para integração e armazenamento de dados pode ser complicado por regulamentações e requisitos de conformidade. Com microsserviços, os dados são executados de forma isolada. As equipes de desenvolvimento mantêm controle total sobre os dados, facilitando a conformidade com HIPAA e GDPR.

Embora os microsserviços tenham a vantagem hoje, o ESB provavelmente adaptará os aspectos arquitetônicos dos microsserviços para atender à demanda. O crescimento da tecnologia de contêineres e a necessidade de integrar múltiplos ambientes de nuvem influenciarão a forma como a arquitetura ESB é utilizada e como ela evoluirá e se tornará mais moderna.

ESB, microsserviços e IBM

Enquanto as empresas hoje buscam uma solução sem interrupções para migrar a infraestrutura de TI para a nuvem híbrida, elas precisarão de uma abordagem moderna para a integração. Para muitas empresas, isso incluirá a transformação de cargas de trabalho baseadas em padrões SOA e ESB para um modelo mais leve e flexível.

As empresas podem aproveitar a escalabilidade e a flexibilidade da nuvem implementando microsserviços independentes, enquanto garantem que os sistemas legados permaneçam relevantes com as ofertas de ESB em evolução. O uso da automação pode padronizar o processo, independentemente da abordagem, tornando a transição mais rápida e eficiente. A IBM dá acesso a recursos de automação impulsionados por IA, incluindo fluxos de trabalho criados previamente, para ajudar a acelerar a inovação e as transformações digitais.

Dê o próximo passo

Saiba como o IBM Cloud Integration Solutions pode acelerar o desenvolvimento de integração em até 300%, reduzir custos em mais de 33% e aumentar a eficiência operacional geral.

Explore a modernização das integrações e aproveitamento de investimentos em middleware com o IBM Cloud Pak for Integration. Esta plataforma de integração híbrida utiliza uma abordagem automatizada de circuito fechado compatível com vários estilos de integração dentro de uma única experiência unificada.

Tenha uma visão completa de para onde sua organização precisa ir para avançar na tecnologia de integração. A Avaliação de Maturidade da Integração da IBM oferece uma visão crítica da maturidade da integração de sua organização e das ações que você pode tomar para alcançar o próximo nível.

Soluções relacionadas
IBM Red Hat OpenShift

O Red Hat OpenShift on IBM Cloud é uma plataforma de contêineres OpenShift (OCP) totalmente gerenciada.

Explore o Red Hat OpenShift
Soluções de DevOps

Utilize softwares e ferramentas de DevOps para desenvolver, implementar e gerenciar aplicativos nativos da nuvem em diversos dispositivos e ambientes.

Explore as soluções de DevOps
Serviços de consultoria em nuvem 

Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria em nuvem da IBM. Descubra como cocriar soluções, acelerar a transformação digital e otimizar o desempenho por meio de estratégias de nuvem híbrida e parcerias especializadas.

Serviço de nuvem
Dê o próximo passo

Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria da IBM Cloud.

Explore nossos serviços de consultoria da IBM Cloud Crie sua conta gratuita na IBM Cloud