Dez setores que usam computação distribuída

Três trabalhadores de armazém discutindo ideias em um tablet

A computação distribuída é um processo que utiliza inúmeros recursos de computação em diferentes locais de operação para imitar os processos de um único computador. A computação distribuída reúne diferentes computadores, servidores e redes para realizar tarefas de computação de tamanhos e propósitos variados.

A computação distribuída funciona até na nuvem. Embora seja verdade que a computação em nuvem distribuída e a computação em nuvem sejam essencialmente a mesma coisa em teoria, na prática, elas diferem em seu alcance global, sendo que a computação em nuvem distribuída é capaz de estender a computação em nuvem para diferentes regiões geográficas.

Em sistemas pequenos de computação distribuída, com componentes próximos entre si, os componentes podem ser ligados por meio de uma rede local (LAN). Em sistemas distribuídos maiores, cujos componentes estão separados geograficamente, os componentes são conectados por meio de redes de longa distância (WAN). Os componentes de um sistema distribuído compartilham informações por meio de um elaborado sistema de passagem de mensagens, independentemente do tipo de rede que esteja sendo usado.

A computação distribuída muitas vezes enfrenta os desafios computacionais mais intensos e complicados da computação, e é por isso que essa atividade normalmente exige a implementação de memória compartilhada e múltiplos componentes. Além disso, a computação distribuída depende de sincronização altamente coordenada e de grandes quantidades de poder de computação para que todo o sistema possa processar dados com eficácia, envolver-se no compartilhamento de arquivos conforme necessário e trabalhar em direção a um objetivo comum.

Dez casos de uso de computação distribuída

Os exemplos a seguir mostram as muitas maneiras pelas quais a computação distribuída está sendo usada em muitos setores e plataformas:

Comunicações

O setor de comunicações faz uso rotineiro de computação distribuída. Redes de telecomunicações são exemplos de redes ponto a ponto, quer elas assumam a forma de redes telefônicas ou redes celulares. Dois importantes exemplos de computação distribuída baseados na comunicação foram a internet e o e-mail, que transformaram a vida moderna.

Computação

A computação está sendo dominada por grandes revoluções na inteligência artificial (IA)no aprendizado de máquina (ML). Ambas as tecnologias estão avançando rapidamente e todas fazem uso extensivo de computação distribuída. Os algoritmos que dão poder à IA e ML exigem grandes volumes de dados de treinamento, além de quantidades fortes e constantes de poder de processamento. A computação distribuída fornece ambos.

Gerenciamento de dados

A computação distribuída transforma tarefas complexas de gerenciamento de dados e armazenamento de dados em subtarefas distribuídas entre os nós, que são entidades que funcionam como cliente ou servidor - identificando necessidades e emitindo solicitações ou trabalhando para atender a essas necessidades. O gerenciamento de bancos de dados é uma área capacitada pela computação distribuída, assim como os bancos de dados distribuídos, que têm um desempenho mais rápido quando têm tarefas divididas em ações menores. A computação distribuída inclui até mesmo o uso de data centers como parte de uma cadeia de computação distribuída.

Energia

Os setores de energia e meio ambiente são afetados pela computação distribuída, que está auxiliando a tecnologia de redes inteligentes a regular o uso e a otimização do consumo de energia. As redes inteligentes também são usadas para reunir dados ambientais de vários dispositivos de entrada.

Finanças

A computação distribuída garante que vastas cargas computacionais sejam compartilhadas igualmente entre múltiplos sistemas. Além disso, trabalhadores em áreas financeiras específicas já estão usando computação distribuída para coisas como avaliação de riscos. A computação distribuída ajuda as instituições financeiras a realizar enormes cálculos para melhor informar a tomada de decisões e elaborar estratégias financeiras.

Fabricação

A computação distribuída usa seus múltiplos recursos para manter a automação funcionando com eficiência em instalações de fabricação em grande escala e, geralmente, atua em uma capacidade de balanceamento de carga. Há até mesmo a fabricação distribuída, que usa o modelo de nuvem distribuída e o aplica às ferramentas de produção, que estão espalhadas geograficamente. A fabricação também lida com o projeto e a criação de dispositivos e ferramentas da Internet das coisas (IoT) que coletam e transmitem dados.

Médico

A computação distribuída ajuda a viabilizar muitas das tecnologias inovadoras da medicina moderna, incluindo cirurgias robóticas que dependem de grandes quantidades de dados. Ao aproveitar seu talento para gráficos 3D incrivelmente detalhados e animações em vídeo, a computação distribuída pode demonstrar procedimentos de patentes e projeto farmacêutico de medicamentos planejados.

Varejo

Às vezes, podem ocorrer discrepâncias de estoque para varejistas que operam locais físicos, além de oferecer alternativas de compras on-line. Os Distributed Order Management Systems (DOMS), viabilizados pela computação distribuída, ajudam a manter as aplicações de comércio eletrônico funcionando sem problemas, permitindo que os varejistas modernos acompanhem as expectativas em constante mudança dos clientes.

Ciência

A computação distribuída está sendo usada em um número cada vez maior de atividades científicas, como o treinamento de redes neurais. A computação científica também está usando os enormes recursos da computação distribuída para resolver cálculos científicos maciços, como os que regem os voos espaciais. Simulações de vídeo de computação distribuída podem tornar as projeções científicas mais bem compreendidas.

Videogames

Fornecedores de massively multiplayer online games (MMOGs) fazem uso extensivo de computação distribuída para criar e executar seus ambientes de jogos complicados e em tempo real. Uma malha complexa de sistemas operacionais, redes e processadores possibilita que milhares de jogadores usuários finais compartilhem e participem de uma experiência de jogo envolvente.

O que faz um sistema de computação distribuída?

Embora não haja regras definidas sobre o que constitui um sistema de computação distribuída, mesmo a forma mais simples de computação distribuída geralmente possui pelo menos três componentes básicos:

  • Controlador primário do sistema: o controlador primário do sistema controla tudo dentro de um sistema distribuído e monitora e rastreia tudo o que transcorre dentro desse sistema. Seu maior trabalho é gerenciar e administrar cada solicitação de servidor que entra no sistema.
  • Armazenamento de dados do sistema: O armazenamento de dados do sistema, geralmente localizado no vault, é o repositório do sistema para todos os dados compartilhados. Em sistemas "não desorganizados", os dados compartilhados podem estar em uma ou mais máquinas, mas todos os computadores usados no sistema precisam acessar o armazenamento de dados.
  • Banco de dados: os sistemas de computação distribuídos armazenam todos os seus dados em bancos de dados relacionais. Uma vez feito isso, os dados são compartilhados por grupos de usuários. Os bancos de dados relacionais colocam todos os trabalhadores na mesma página instantaneamente.

Além desses componentes principais, cada sistema de computação distribuída pode ser personalizado de acordo com as necessidades de uma organização. Uma das grandes vantagens de usar um sistema de computação distribuído é que o sistema pode ser expandido pela adição de mais máquinas, aumentando assim sua escalabilidade. A outra vantagem significativa é o aumento da redundância, portanto, se uma máquina na rede falhar por qualquer motivo, o trabalho do sistema continuará apesar desse ponto de falha.

O objetivo dos sistemas de computação distribuída é fazer com que a rede de computação distribuída funcione como se fosse um único sistema. Essa coordenação é realizada por meio de um sistema elaborado de troca de mensagens entre os diversos componentes.

Os protocolos de comunicação regem essa troca de mensagens e criam uma relação chamada "acoplamento" que existe entre esses componentes. Essa relação é expressa em uma das duas formas:

  • Acoplamento fraco: a conexão entre dois componentes fracamente acoplados é suficientemente leve para que mudanças em um deles não afetem o outro.
  • Acoplamento forte: componentes fortemente acoplados operam com tamanha sincronização e paralelismo que o processo de “clusterização” usa componentes redundantes para garantir a continuidade do sistema.

Tolerância a falhas é outro conceito chave—um processo corretivo que permite a um SO responder e corrigir uma falha em software ou hardware, enquanto o sistema continua operando.

A computação distribuída também lida com os efeitos positivos e negativos da “concorrência”—a execução simultânea de múltiplas sequências de instruções operacionais. A principal entre suas qualidades positivas é o fato de que a simultaneidade permite recursos compartilhados e a computação paralela de vários threads de processos. (Embora a computação paralela não deva ser confundida com o processamento paralelo, que é um processo no qual as tarefas de tempo de execução são divididas em várias tarefas menores.)

Os pontos negativos associados à simultaneidade incluem o aumento da latência e até mesmo gargalos de tráfego, em que a quantidade de dados transferidos excede a largura de banda normal recomendada.

Arquiteturas de sistemas de computação distribuída

Os tipos de computação distribuída são normalmente classificados de acordo com a arquitetura de computação distribuída que cada um utiliza:

  • Sistema cliente-servidor: usa uma arquitetura cliente-servidor que permite que eles sejam usados com mais de um sistema. Um cliente direciona a entrada para o servidor como uma solicitação (geralmente um comando para uma tarefa específica ou uma solicitação de mais recursos de computação). O servidor então trabalha para cumprir a tarefa e relatar a ação tomada.
  • Sistema de pares: depende da arquitetura de pares e também é conhecido como sistema "peer-to-peer". Os sistemas pares usam nós, que funcionam como cliente ou servidor - identificando necessidades e emitindo solicitações ou trabalhando para atender a essas necessidades. Como o nome sugere, não há hierarquia em sistemas peer, portanto programas que operam em sistemas peer conseguem se comunicar livremente entre si e transferir dados via redes peer.
  • Middleware: o “intermediário” que opera entre duas aplicações distintas. Omiddleware é, em si, uma aplicação que reside entre dois aplicativos e fornece serviço para ambos. O middleware também tem um aspecto interpretativo. Ele atua como um tradutor entre diferentes aplicativos de interoperabilidade que rodam em sistemas distintos e permite que esses aplicativos troquem dados livremente.
  • Sistema de três camadas: assim chamado por causa do número de camadas usadas para representar a funcionalidade de um programa. Ao contrário da arquitetura cliente-servidor típica na qual os dados são colocados no sistema cliente, o sistema de três camadas mantém os dados armazenados em sua camada intermediária, que é chamada de Camada de Dados. Sistemas de três camadas são frequentemente usados em aplicações web.
  • Sistema de N camadas: às vezes chamados de sistemas distribuídos de várias camadas, os sistemas de N camadas são ilimitados em sua capacidade de funções de rede, que encaminham para outros aplicativos para processamento. A arquitetura dos sistemas de N camadas se assemelha à encontrada em sistemas de três camadas. Os sistemas de N camadas são frequentemente usados como base arquitetônica para vários serviços da web e sistemas de dados.

Embora esses sejam os principais tipos de arquitetura de computação distribuída, há outros paradigmas de computação distribuída que merecem menção:

  • Blockchain: blockchain é um banco de dados distribuído ou livro-razão que é replicado e sincronizado nos vários computadores de uma rede. A blockchain ajuda a garantir a redundância ao emitir o livro-razão original para todos os computadores na cadeia.
  • Computação em grade: a computação em grade é um tipo de computação distribuída que lida com cargas de trabalho não interativas, geralmente envolvendo uma combinação de frameworks e middleware software. A grade escalável acessada por meio da interface do usuário funciona como um enorme sistema de arquivos.
  • Computação heterogênea: a computação heterogênea é uma forma de computação distribuída que permite que um único sistema de computador mantenha subsistemas de computação. Os processadores em ação na computação heterogênea podem estar trabalhando em tarefas diferentes, mas todos eles trabalham em paralelo para acelerar o desempenho do computador e minimizar o tempo de processamento das tarefas.
  • Microsserviços: microsserviços são uma forma de computação distribuída na qual as aplicações são divididas em componentes muito menores, geralmente chamados de "serviços". Os frameworks são conjugados pela interface de programação de aplicativos (API), que permite a interação entre os componentes.

Comece já

Em nosso rápido tour pela computação distribuída, identificamos o que é computação distribuída, o que é necessário para criar sistemas de computação distribuída e quais tipos de arquiteturas estão associadas aos sistemas de computação distribuída. Além disso, aprendemos sobre 10 setores que estão elaborando seu futuro de forma inteligente agora, fazendo uso especial de sistemas de computação distribuídos.

Assim como na computação distribuída, os produtos IBM Satellite oferecem as ferramentas para implementar e executar aplicativos onde você quiser, seja no local, por meio de edge computing ou ambientes de nuvem pública.

Consuma um conjunto comum de serviços de nuvem que inclui cadeias de ferramentas, bancos de dados e IA. A solução de nuvem distribuída gerenciada pelo IBM Cloud Satellite fornece serviços de nuvem, APIs, políticas de acesso, controles de segurança e conformidade.

Autora

Phill Powell

Staff Writer

IBM Think

Visão aérea de empresário usando celular em pátio de escritório

Insights que você não pode perder. Inscreva-se em nossos boletins informativos.

Vá além da euforia com notícias de especialistas sobre IA, computação quântica, nuvem, segurança e muito mais.

Assine hoje