Você está na página 1de 9

Distributed Computing in Public Cloud Services

Débora S. Brito, Meriely E. L. Gaia, Marcos V. V. Ribeiro

Faculdade de engenharia da computação - Universidade Federal do Pará (UFPA)


Campus Universitário de Tucuruí, PA - Brasil
{meriely.gaia, debora.brito, marcos.ribeiro}@tucurui.ufpa.br

Resumo. Um sistema distribuído consiste em vários componentes de software que estão


em vários computadores que podem estar fisicamente próximos e conectados por uma rede
local, ou podem estar geograficamente distantes e conectados por uma rede de longa
distância, mas executados como um único sistema. Esse artigo apresenta uma abordagem
sobre a computação distribuída em serviços de nuvens públicas, especificando suas
definições, características, vantagens e desafios, bem como uma interpelação sobre
computação em nuvem e seus modelos existentes.
Abstract. A distributed system consists of multiple software components that are on
multiple computers that may be physically close together and connected by a local area
network, or they may be geographically distant and connected by a wide area network but
run as a single system. This article presents an approach to distributed computing in public
cloud services, specifying its definitions, characteristics, advantages and challenges, as well
as a question about cloud computing and its existing models.

1. Introdução
A introdução de redes de computadores na década de 1970 levou ao desenvolvimento de
sistemas distribuídos (Andrews, 1999). Um sistema distribuído é uma coleção de
computadores independentes que aparece para o usuário como um único computador
(Tanenbaum & Steen, 2006) e fornece uma visão única do sistema. A agregação coordenada
desses computadores distribuídos permite o acesso a uma grande quantidade de dados.
Até este momento, algumas tecnologias surgiram nos sistemas distribuídos. A rede ponto a
ponto (P2P) é um dos principais sistemas distribuídos. No entanto, uma importante classe de
sistemas distribuídos é o sistema de computação distribuído, que se utiliza para tarefas de
computação de alto desempenho (Tanenbaum & Steen, 2006).
Dessa forma, a computação distribuída tenta melhorar o desempenho em problemas de
computação em larga escala por meio do compartilhamento de recursos. Além disso, o
crescente poder de computação de baixo custo, juntamente com os avanços nas
comunicações/redes e o advento do big data, agora permite novos paradigmas de computação
distribuída, como a computação em nuvem.
A infraestrutura de computação em nuvem é a coleção de elementos de hardware e software
necessários para habilitar a computação em nuvem. Inclui poder de computação, rede e
armazenamento, bem como uma interface para os usuários acessarem seus recursos
virtualizados. Os recursos virtuais espelham uma infraestrutura física, com componentes
como servidores, switches de rede, memória e clusters de armazenamento.
A computação em nuvem tem crescido rapidamente, e tem alcançado uma grande atenção por
fornecer flexibilidade e escalabilidade às organizações (Sujitha e Gunaseka, 2016). Ela pode
ser classificada em três principais modelos de implantação: nuvem privada, nuvem pública e
nuvem híbrida. Também é possível alugar componentes de infraestrutura de nuvem de um
provedor de nuvem, por meio da infraestrutura como serviço (Iaas), O mais popular é o
Google Apps, que inclui o correio eletrônico (Gmail) e o editor de documentos (Gdocs).. Os
sistemas de infraestrutura em nuvem permitem hardware e software integrados e podem
fornecer uma única plataforma de gerenciamento para várias nuvens.
Neste artigo, revisamos este paradigma de computação distribuída em Serviços de Nuvem
Pública. O artigo está organizado da seguinte forma: a Seção 2 apresenta conceitos sobre
computação em nuvem e computação distribuída. E, finalmente, na Seção 3 encontra-se a
conclusão do trabalho.

2. Conceitos
2.1 Computação em nuvem
A computação em nuvem é a disponibilidade através da internet de recursos computacionais,
como armazenamento e capacidade de processamento, onde o usuário paga apenas pelo que
utilizou do serviço. Nela o usuário final pode se conectar com uma grande quantidade de
aplicações e serviços em qualquer lugar, sendo necessário apenas um terminal conectado à
nuvem.
O conjunto de hardware, interfaces, redes de telecomunicações, dispositivos de controle e de
armazenamento software que formam a infra-estrutura de comunicação e permitem a entrega
da computação como serviço é representada pela nuvem.
O que muitos não sabem é que a computação em nuvem já está sendo utilizada a algum
tempo por usuários que utilizam e-mail, podendo acessar seus e-mails em qualquer lugar
necessitando apenas de um computador com acesso à internet sem necessitar de software
instalado no computador.
As principais características da computação em nuvem são: Elasticidade e Escalonamento,
Auto- atendimento, faturamento e medição por uso, amplo acesso à rede e customização.
Os provedores de serviços de computação em nuvem estão divididos em três classes que são:
Infra-estrutura como Serviço – IaaS, Plataforma como Serviço – PaaS e Software como
Serviço – SaaS.
No Infra-estrutura como Serviço – IaaS os serviços oferecidos são recursos de hardware
virtualizados como computação, armazenamento e comunicação. Ele possui servidores que
podem executar softwares customizados operando em diferentes sistemas operacionais.
Exemplos de provedores: Amazon ECC, Eucalyptus, GoGrid, Flexiscale, Linode, RackSpace
Cloud, Terremark5
A Plataforma como Serviço - PaaS oferece serviços ambientes em que os desenvolvedores
podem produzir e implementar aplicações sem se preocupar com a quantidade de
processadores e memória usados para executar a tarefa. Exemplos de provedores: Force.com,
Google AppEngine, Plataforma Windows Azure, GoGrid Cloudcenter.
O Software como serviço – SaaS disponibiliza aplicações inteiras para o usuário final através
da web pelos prestadores de serviço , permitindo a execução de programas na nuvem em uma
máquina local. Exemplos de provedores: GoogleApps, Oracle on Demand, SalesForce.com e
SQL Azure5 são alguns dos exemplos de SaaS.
Esses três modelos de entrega são demonstrados na Figura 1.

Figura 1. Infraestrutura como serviço, Plataforma como serviço, Software como serviço
A implementação da nuvem depende da necessidade da aplicação que será oferecida, sendo
classificadas como: pública, privada, comunidade e híbrido. No modelo de nuvem pública, as
grandes indústrias ou o público em geral tem acesso à nuvem que é implementada por um
prestador de serviço que precisa garantir o desempenho e a segurança da nuvem.
O modelo de nuvem privada é operada de forma restrita por uma única organização, e são
gerenciadas pela própria organização ou por terceiros. Quando operada por terceiros, a
infraestrutura pertence ao usuário que fica responsável pela nuvem.
O modelo de comunidade compartilha a mesma infraestrutura de nuvem e partilha de
requisitos de segurança, política e considerações de conformidade com várias organizações.
A nuvem híbrida é um dos padrões de arquitetura mais comuns, mas geralmente é o resultado
de empresas que não conseguem abandonar uma pilha de tecnologia existente em favor da
nuvem pública. O modelo de nuvem híbrida possui dois ou mais modelos de implementação,
onde cada nuvem permanece como uma única entidade mas que estão unidas pelo uso de
tecnologia proprietária ou padronizada, garantindo a portabilidade de dados e aplicações.

Figura 2. Visão geral dos modelos de implantações de nuvem pública.


As vantagens da computação em nuvem incluem:
● Mobilidade;
● Redução do custo;
● Flexibilidade;
● Facilidade na utilização dos serviços;
● A confiabilidade dos serviços.
2.1.2 Nuvens públicas
A nuvem pública é um modelo de TI que é gerenciada por um provedor terceirizado e
compartilhado com muitas organizações que são usam a internet pública
Os provedores de serviços de nuvem usam grupos de data centers que são particionados em
máquinas virtuais e compartilhados por locatários. Os locatários podem simplesmente alugar
o uso dessas máquinas virtuais ou podem pagar por serviços adicionais baseados em nuvem,
como aplicativos de software, ferramentas de desenvolvimento de aplicativos ou
armazenamento. As empresas costumam usar serviços de nuvem pública para aplicativos
menos confidenciais que têm picos imprevisíveis de uso ou para armazenar dados que não
exigem acesso frequente.
Muitas empresas procuram a nuvem pública como uma forma de dimensionar os recursos de
TI existentes sob demanda sem se comprometer a expandir sua infraestrutura física de TI.
Como existem muitos tipos de planos de armazenamento, os dados que não são tão utilizados
podem ser armazenados na nuvem pública com um ótimo custo.
As empresas podem economizar de duas formas diferentes usando a nuvem pública. elas
podem economizar através de:
● Custos de aquisição de equipamentos mais baixos : Como não é necessário realizar a
compra de equipamentos físicos de TI, sai mais barato quando os funcionários
utilizam os recursos baseados em nuvem, pois eles só pagam por esses serviços
quando precisam deles.
● Custos de manutenção de equipamentos mais baixos : Como não são utilizados
equipamentos físicos de TI, o custo que seria usado para realizar a manutenção dos
mesmos é repassado aos provedores de serviço.
O ambiente virtualizado é necessário para fornecer uma extensão infraestrutura de TI de uma
empresa para a nuvem pública, assim essa empresa consegue hospedar aspectos de sua
infraestrutura e serviços em servidores virtuais externos propriedade de terceiros. Os
provedores de serviço da nuvem pública possuem uma grande variedade de serviço e preço e
as empresas que desejam migrar para a nuvem pública precisam realizar um planejamento
cuidadoso para ajudar a manter os preços baixos nas contas mensais dos serviços de nuvem.
Outra questão importante a se destacar é a segurança da nuvem pública. A criptografia é a
maneira usada para garantir uma segurança mais forte, porém nem todas as criptografias
funcionam em nuvens públicas e privadas.
2.2 Computação distribuída
O crescimento da Internet das Coisas (IoT) e da computação de borda têm sido um dos
principais impulsionadores das implantações de nuvem distribuída. Os aplicativos de
inteligência artificial (IA) que movem grandes quantidades de dados dos pontos de presença
para a nuvem exigem que os serviços de nuvem estejam o mais próximo possível dos pontos
de presença, e mover os recursos da nuvem para o próprio ponto de presença pode aumentar
muito o desempenho desses aplicativos.
Dessa forma, o processamento paralelo é necessário para a execução eficaz de trabalhos por
aplicativos complexos. No processo paralelo, a presença de comunicação e sincronização
permite um uso mais eficaz dos recursos da CPU. Assim, em geral, manter o nível de
capacidade de resposta dos trabalhos paralelos enquanto se obtém a utilização efetiva dos nós
é obrigatório para um data center (L. Tripathy and R. R. Patra).
Embora a maioria das empresas ainda dependa de data centers tradicionais, as tendências da
nuvem estão melhorando para acomodar os requisitos de negócios em constante mudança. As
empresas já começaram a usar combinações de serviços de computação em nuvem privada e
pública, o que, por sua vez, deu origem à demanda por nuvem híbrida. Mas essas são
soluções temporárias e em breve os departamentos de TI precisarão de um plano mais
abrangente para lidar com os dados crescentes com eficiência. É aqui que o 'Distributed
Cloud Computing' se apresentará como uma solução eficaz. É a nossa computação em nuvem
da próxima geração.
Uma nuvem distribuída é uma arquitetura em que várias nuvens são usadas para atender às
necessidades de conformidade, requisitos de desempenho ou dar suporte à computação de
borda enquanto são gerenciadas centralmente a partir de um provedor de nuvem pública.
Em essência, um serviço de nuvem distribuído é uma nuvem pública que é executada em
vários locais, incluindo a infraestrutura do provedor de nuvem pública, bem como o data
center de outro provedor de nuvem e também hardware de terceiros ou de centro de locação.
Uma nuvem distribuída pega não apenas um aplicativo, mas toda a pilha de computação e a
distribui para os locais onde é necessário, seja provedor de nuvem pública, local ou em
instalações de colocação de terceiros. O cliente consumidor de nuvem vê essa infraestrutura
distribuída como uma única entidade de nuvem, e o provedor de nuvem gerencia todos os
elementos da nuvem distribuída como um todo a partir de um único plano de controle.
O provedor de nuvem pública continua sendo responsável por todas as operações de nuvem,
incluindo segurança, disponibilidade, atualizações e governança de toda a infraestrutura
distribuída. A nuvem distribuída corrige o que a nuvem híbrida e a multi nuvem quebram
(Gartner, 2020).
Figura 4. Visão geral da nuvem pública distribuída
Essa distribuição de serviços permite que uma organização atenda a requisitos muito
específicos de tempo de resposta e desempenho, mandato de conformidade regulatória ou de
governança ou outra demanda que exija que a infraestrutura de nuvem esteja localizada em
qualquer lugar que não seja as zonas de disponibilidade típicas do provedor de nuvem.
Ao aproximar os serviços de nuvem de um determinado usuário, aplicativo ou dados, as
nuvens distribuídas podem oferecer
● Redução de latência;
● Redução ou eliminação de congestionamento de rede;
● Qualidade de serviço garantida (QoS) para aplicativos de missão crítica e usuários
móveis;
2.2.1 Vantagens
Há muitos benefícios de uma arquitetura de nuvem distribuída. Segundo a empresa Gartner
há alguns benefícios dignos de nota:
● Maior conformidade. Distribuídos por natureza, cargas de trabalho e dados podem ser
localizados onde devem estar para atender às demandas regulatórias.
● Aumento do tempo de atividade. Como os serviços em nuvem podem residir em
sub-redes locais, eles podem ser isolados – até mesmo desvinculados da nuvem
principal – quando necessário para garantir que sejam isolados de um sistema com
falha para fornecer redundância.
● Escalabilidade: adicionar VMs ou nós conforme necessário não apenas permite uma
escalabilidade rápida, mas também melhora a disponibilidade geral do sistema em
nuvem como um todo.
● Flexibilidade: Nuvens distribuídas simplificam a instalação, implantação e depuração
de novos serviços.
● Processamento mais rápido: Os sistemas distribuídos podem ser mais rápidos
aproveitando a computação de vários sistemas para uma determinada tarefa. Além
disso, a nuvem distribuída permite comunicações mais responsivas para regiões
específicas.
● Atuação: Ao contrário dos clusters de rede de computadores centralizados, a nuvem
distribuída pode fornecer maior desempenho e melhor desempenho de custo.
2.2.2 Desvantagens
● Segurança: A transferência de dados de redes públicas estará vulnerável a hackers.
● Erros nos níveis de hardware e software: A infraestrutura com nuvem distribuída tem
mais interfaces.
● Resolução de problemas: A resolução de problemas será difícil devido à
complexidade da infraestrutura.
2.2.3 Casos de uso
As nuvens distribuídas oferecem uma ampla gama de aplicativos, desde computação de borda
inteligente até a simplificação do gerenciamento de ambientes multi-nuvem e implantações
híbridas. Os casos de uso comuns incluem:
Cloud distribuído e computação de borda suportam tudo, desde gerenciamento simplificado
de multi-cloud, escalabilidade e velocidade de desenvolvimento aprimoradas, até a
implantação de aplicativos e funcionalidades de automação e suporte a decisões de última
geração.
● Borda/IoT. Com novos usos para inferência de vídeo e reconhecimento facial sendo
desenvolvidos diariamente, a IoT está usando IA e aprendizado de máquina (ML)
para melhorar a fabricação de automóveis, analisar imagens médicas, para edifícios
inteligentes e cidades inteligentes que encontram o caminho mais curto para
estacionar e desligar o aquecimento depois que o último funcionário saiu para a noite.
Muitos desses aplicativos seriam bloqueados se os dados tivessem que passar da
borda de volta para a nuvem ou um data center para análise e processamento.
● Otimização de conteúdo: Nuvens distribuídas podem efetivamente se tornar uma rede
de entrega de conteúdo (CDN), que pode melhorar a experiência de streaming ou
reduzir a latência do tempo de carregamento da página da Web, oferecendo a melhor
experiência de usuário possível para uma ampla variedade de aplicativos.
● Dimensionamento sob demanda. As nuvens distribuídas permitem a expansão para
locais existentes sem a necessidade de construir infraestrutura adicional. À medida
que as necessidades crescem, a pegada da nuvem pode crescer sem problemas,
apoiando as necessidades em constante mudança da organização.
● Gerenciamento de painel único de vidro: Adotar uma abordagem de nuvem
distribuída aumenta a visibilidade de uma implantação híbrida e multi nuvem,
incluindo a capacidade de gerenciar toda a infraestrutura como uma única nuvem a
partir de um único console com um único conjunto de ferramentas.
● Atenda aos mandatos de conformidade: Os regulamentos de privacidade de dados
locais, federais e internacionais podem determinar onde as informações pessoais de
um usuário devem ser armazenadas e se essas informações podem viajar para fora
desta jurisdição. Nos casos em que os dados não podem ser movidos para o provedor
de nuvem pública, o provedor de nuvem pública pode efetivamente ser movido para
os dados, garantindo não apenas que os mandatos regulatórios e de governança sejam
atendidos, mas que os dados sejam processados ​com a mesma eficiência e com a
quantidade mínima de latência.
2.2.4 Desafios
Gerenciar uma empresa usando uma implantação de nuvem em vários locais tem seus
desafios, incluindo:
● Largura de banda: Um ambiente multi nuvem amplamente disperso pode ter muitos
modelos de conectividade diferentes para cada local. Como tal, mover mais
computação para a borda pode sobrecarregar as conexões de banda larga existentes e
exigir atualização ou adaptação para atender ao aumento da demanda por taxa de
transferência.
● Segurança: Proteger uma nuvem distribuída apresenta novos desafios tanto para o
provedor de nuvem quanto para o usuário final, pois os recursos podem ser
espalhados por todo o mundo e podem ser colocados com outros servidores
corporativos e recursos de armazenamento
● Proteção de dados: Os planos de backup e continuidade de negócios para recursos de
dados dispersos podem exigir uma reformulação das estratégias de backup e
recuperação para garantir que os dados permaneçam nas geografias que deveriam.

3. Conclusão
Com isso conclui-se que a computação na nuvem dita o ritmo de bilhões de pessoas
pelo mundo, utilizando uma combinação de vários servidores. Grandes empresas existentes
no mundo como o facebook, netflix, instagram, gmail se utilizam da tecnologia, entre várias
outras plataformas que disponibiliza seus serviços sob demanda utilizando aplicações de
computação distribuída. Em relação ao processamento paralelo na nuvem se observou que o
simples fato da paralelização de software gera um ganho real para empresa em termos de
desempenho no tempo de execução. Uma grande vantagem de se trabalhar com o ambiente
de nuvem é a facilidade e agilidade de escalonar a infraestrutura disponível em relação às
regras de negócio que se apresentam de forma controlada, tornando assim uma ferramenta
tecnológica muito poderosa.

4. Referências
Andrews, Gregory R. Foundations of multithreaded, parallel, and distributed programming.
Addison-Wesley (2000).
A. S. TANENBAUM, M. V. STEEN, Distributed systems: Principles and Paradigms, (2nd
Edition). Pearson Prentice Hall (2006).
“What is Cloud Computing Infrastructure?”
https://www.vmware.com/topics/glossary/content/cloud-computing-infrastructure.html
PEDROSA, Paulo HC; NOGUEIRA, Tiago. "Computação em nuvem.". Disponivel em:
<https://www.ic.unicamp.br/~ducatte/mo401/1s2011/T2/Artigos/G04-095352-120531-t2.p
df>.
Sujitha, A., and K. Gunasekar. "A Review on Scheduling in Cloud Computing." International
Journal of UbiComp (IJU) 7.3 (2016).
TurningCloud Solutions Pvt Ltd. “Distributed Cloud Computing: Its Challenges and
Opportunities”, https://www.turningcloud.com/blog/distributed-cloud-computing/. June 7,
2021.
L. Tripathy and R. R. Patra “SCHEDULING IN CLOUD COMPUTING”, in International
Journal on Cloud Computing: Services and Architecture (IJCCSA), Volume: 4, No. 5,
October (2014)
“The CIO's Guide to Distributed Cloud (2020)”
https://www.gartner.com/smarterwithgartner/the-cios-guide-to-distributed-cloud#:~:text=
Yet%2C%20hybrid%20cloud,in%20the%20future.
What is Public Cloud? (2022). Disponivel em:
<https://www.vmware.com/topics/glossary/content/public-cloud.html >
Hajibaba, Majid, and Saeid Gorgin. "A review on modern distributed computing paradigms:
Cloud computing, jungle computing and fog computing." Journal of computing and
information technology 22.2 (2014): 69-84.
Tripathy, Lipsa, and Rasmi Ranjan Patra. "Scheduling in cloud computing." International
Journal on Cloud Computing: Services and Architecture (IJCCSA) 4.5 (2014): 21-7.

Você também pode gostar