Skip to content
Latchkey

O Que É Arquitetura Orientada a Serviços (SOA)?

A arquitetura orientada a serviços (SOA) constrói sistemas a partir de serviços reutilizáveis que expõem capacidades de negócio por protocolos de rede padronizados.

A SOA precede os microservices e compartilha seu instinto central: decompor um sistema em serviços com contratos bem definidos. A SOA clássica enfatizava a reutilização em toda a empresa, frequentemente roteada por uma camada de integração central. Os microservices às vezes são descritos como SOA feita com serviços menores e menos encanamento central.

A ideia definidora

Na SOA, as capacidades são expostas como serviços com contratos formais para que muitas aplicações possam reutilizá-las. A ênfase está em serviços compartilhados e reutilizáveis por toda uma organização, em vez de código por aplicação.

SOA versus microservices

Ambos decompõem em serviços, mas a SOA clássica frequentemente dependia de um enterprise service bus pesado e serviços compartilhados e grossos, enquanto os microservices favorecem serviços pequenos e implantáveis de forma independente, com endpoints inteligentes e dumb pipes. Os microservices podem ser vistos como um descendente mais leve e descentralizado.

Blocos de construção comuns

  • Contratos de serviço que definem entradas, saídas e comportamento.
  • Um registry para que os consumidores possam descobrir serviços.
  • Uma camada de integração ou bus para roteamento e transformação.
  • Governança para gerenciar versionamento e reutilização entre equipes.

O que isso significa para os pipelines

Cada serviço precisa do seu próprio build e deploy, além da verificação de contrato para que uma mudança não quebre os muitos consumidores que dependem de um serviço compartilhado. A reutilização eleva as apostas de qualquer mudança que quebre compatibilidade, o que torna essenciais os testes de contrato aplicados pelo pipeline.

Sobrecarga de governança

A reutilização que a SOA promete só funciona se o versionamento e a compatibilidade forem governados. Essa governança frequentemente aparece como gates de pipeline obrigatórios, registries de contrato e etapas de aprovação que uma configuração mais frouxa de microservices poderia pular.

Rodando muitos pipelines de serviço

Como os microservices, um conjunto SOA significa muitos builds concorrentes. Runners gerenciados com capacidade warm (como o Latchkey oferece) evitam que esses pipelines de serviço paralelos se empilhem em uma fila durante períodos movimentados.

Principais conclusões

  • A SOA compõe sistemas a partir de serviços reutilizáveis e definidos por contrato.
  • Ela é a ancestral conceitual dos microservices, com mais integração e governança central.
  • Serviços compartilhados aumentam o custo de mudanças que quebram compatibilidade, então testes de contrato importam mais.

Guias relacionados