Buscar

Mecanismos e Arquitetura de Computação em Nuvem

Prévia do material em texto

/
DEFINIÇÃO
Arquitetura de computação em nuvem e sua estrutura básica, mecanismos de funcionamento
da computação em nuvem e de segurança, arquiteturas fundamentais baseadas em nuvem.
PROPÓSITO
Compreender o conceito de arquitetura de computação em nuvem, identificando os elementos
principais da estrutura de um sistema em nuvem, de modo a poder analisar e comparar as
diferentes arquiteturas, além de conhecer seus mecanismos de funcionamento e a segurança
da informação na computação em nuvem.
OBJETIVOS
MÓDULO 1
Descrever as características básicas da arquitetura de computação em nuvem
MÓDULO 2
Identificar os elementos da estrutura de um sistema de computação em nuvem
MÓDULO 3
/
Identificar mecanismos para funcionamento e segurança da computação em nuvem
MÓDULO 4
Identificar algumas arquiteturas fundamentais baseadas na computação em nuvem
INTRODUÇÃO
A computação em nuvem é uma tecnologia criada e desenvolvida com o propósito de otimizar
o uso de recursos computacionais das empresas, especialmente aquelas que demandam cada
vez mais capacidade de armazenamento e de processamento. O que se pretende é que um
provedor de serviços de computação contemple a infraestrutura requerida para atender a
diferentes demandas computacionais dos usuários, localizados em qualquer parte e a qualquer
momento, reduzindo os custos de armazenamento e processamento.
No passado, este tipo de serviço era fornecido por empresas conhecidas como bureau de
serviços, que recebiam e forneciam serviços de processamento e de armazenamento.
Naturalmente, não havia internet, nem a capacidade e velocidade computacional dos dias
atuais, mas o modelo era muito semelhante.
Pretende-se descrever os principais elementos que caracterizam a arquitetura destes serviços,
além de permitir o entendimento de seu funcionamento para realização dos serviços, bem
como aspectos de segurança, fundamentais para a confiabilidade do serviço.
Esta descrição foi organizada em quatro módulos, o primeiro dos quais trata de aspectos e
características de uma arquitetura de computação em nuvem; em seguida, são descritos os
principais componentes da infraestrutura de um sistema de computação em nuvem, os quais
formam o arcabouço de uma determinada arquitetura. O módulo 3, seguinte, descreve os
mecanismos para o funcionamento e a segurança da computação em nuvem. O texto encerra
com o módulo 4, que apresenta características de algumas arquiteturas fundamentais de
computação em nuvem.
MÓDULO 1
/
 Descrever as características básicas da arquitetura de computação em nuvem
ARQUITETURA X IMPLEMENTAÇÃO
Antes de descrever as características básicas da arquitetura de um sistema de computação em
nuvem, é importante entender o que significa arquitetura e sua diferença para implementação.
Assim como se projetam produtos como um processador ou um disco rígido (Hard Disk - HD),
também é necessário projetar sistemas ou serviços a serem oferecidos aos usuários, seja de
que tipo for.
A computação em nuvem é um serviço e, como tal, deve ter seu projeto bem elaborado para
atender a diversos requisitos, como: segurança, confiabilidade, integridade, disponibilidade. A
isso chamamos arquitetura ou projeto do produto ou serviço.
Quando se estuda ou analisa o processo de criação (e fabricação/operação) de um
determinado produto ou mesmo um serviço, seja ele qual for, deve-se tratar o assunto sob dois
pontos de vista diferentes, cada um deles sendo utilizado em momentos diferentes da criação
ou fabricação do referido produto/serviço: a arquitetura do produto/serviço e sua
implementação (ou engenharia). O produto pode ser de qualquer natureza, como uma
geladeira, um edifício de apartamentos, um computador, um processador, uma rede de
computadores ou um serviço como a computação em nuvem.
/
Em geral, há profissionais especializados em cada caso, como os arquitetos e engenheiros
civis, que até podem ter formação acadêmica distinta como no caso do projeto (arquiteto) e
construção (engenheiro) de um edifício, ou ser o mesmo profissional se o produto ou serviço
não tem uma grande complexidade.
A arquitetura, então, descreve as características e funções do produto e apresenta os
elementos que permitirão ao engenheiro, ou desenvolvedor, fabricá-lo ou implementá-lo.
 ATENÇÃO
A arquitetura de uma rede de computadores, por exemplo, consiste na descrição de suas
funções agrupadas em camadas, isto é, os elementos que permitirão você acessar uma página
da web ou enviar um e-mail ou transferir um arquivo.
No projeto desta arquitetura, são definidos os formatos das mensagens, com seus diversos
itens para controle, detecção de erros etc. O implementador deverá, assim, usar estas
especificações e construir ou desenvolver o produto/serviço.
No que se refere à computação em nuvem, sua arquitetura deve mostrar e descrever os
aspectos inerentes à sua funcionalidade; como os seus diversos elementos funcionais estão
organizados e o que fazer para realizar-se a atividade de computação em nuvem.
A figura 1 mostra a estrutura básica de uma computação em nuvem, com o propósito de exibir
seus elementos constitutivos, os quais se organizam e funcionam conforme a arquitetura
idealizada. Nesta imagem, pode-se observar o que qualquer arquitetura deve conter:
USUÁRIOS
PROVEDORES DOS SERVIÇOS
CANAIS DE COMUNICAÇÃO
Usuários que estão dispersos geograficamente em seus locais de origem, e que acessam a
nuvem através de laptops, servidores, desktops, tablets, smartphones, como visto na figura 1.
Os provedores dos serviços que disponibilizarão os elementos da infraestrutura requerida
para fornecimento dos serviços. Na figura 1, podemos visualizar o provedor de nuvem com
suas aplicações, plataforma e infraestrutura.
Os canais de comunicação entre os usuários e os provedores dos diversos serviços. No caso
da computação em nuvem, esses canais são fornecidos pela conectividade com a internet. De
/
acordo com a figura 1, seria a forma de comunicação com a internet pelos servidores, laptops,
desktops, tablets e smartphones.
 Figura 1 – Exemplo de estrutura de computação em nuvem.
ARQUITETURA GENÉRICA DE
COMPUTAÇÃO EM NUVEM
Uma arquitetura de nuvem compreende diversos componentes, que se interligam e funcionam
como um sistema integrado. Sobre isso, podem ser feitas algumas observações:
a) Assim como acontece com produtos da nossa vida (tais como: computadores,
processadores, automóveis ou redes de computadores), também a computação em
nuvem não possui um único tipo de arquitetura, uma única organização, uma única
estrutura.
b) As arquiteturas para computação em nuvem podem ser estruturadas com diferentes
/
componentes e em quantidades e capacidades das mais diversas, dependendo do tipo
de clientes que pretendem servir, do volume de serviço a oferecer e dos custos
envolvidos tanto por quem oferece (fornecedores, como Amazon ou Microsoft) quanto
pelos usuários que requerem os serviços.
c) Deste modo, as arquiteturas atendem a modelos distintos e fornecem serviços
variados. Esses elementos caracterizam arquiteturas distintas, embora a característica
dos componentes seja a mesma. Essa é uma das grandes vantagens do sistema.
d) Em resumo, uma arquitetura para computação em nuvem descreve os elementos e
suas funções, bem como os serviços que ela pode oferecer nessas condições
funcionais, tanto do lado do usuário quanto do fornecedor, que se pode afirmar
caracteriza a nuvem propriamente dita.
e) As arquiteturas, então, podem ser classificadas conforme o tipo de uso que o
fornecedor de nuvem oferece e o interesse do usuário em receber o serviço nessa
organização. Isso caracteriza modelos de funcionamento distintos, a saber:
• Modelo de nuvem pública;
• Modelo de nuvem privada;
• Modelo de nuvem híbrida;
• Modelo de nuvem de comunidade.
f) Além disso, pode-se estruturar uma computação em nuvem com menor ou maior
abrangência de funções, para atender às diversas necessidades e limitações dos
usuários, além dos custosda própria implementação e manutenção pelo fornecedor.
Isso caracteriza, então, formas diferentes de prestação de serviços da nuvem para
os usuários, isto é, de forma abrangente, como um serviço completo (SaaS) ou mais
limitado, como, por exemplo, fornecimento apenas de infraestrutura de armazenamento
(IaaS). Isso caracteriza diferentes tipos de arquitetura, conforme os serviços oferecidos,
a saber:
/
• Infraestrutura como serviço (IaaS);
• Plataforma como serviço (PaaS);
• Software como serviço (SaaS);
• Rede como serviço (NaaS).
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
Em uma arquitetura genérica de um sistema de computação em nuvem, qualquer que seja o
tipo, modelo de funcionamento ou serviço a oferecer, sua constituição se baseia na divisão dos
componentes em dois grandes grupos, conforme sua localização e atribuições no processo de
funcionamento do sistema. Os componentes da arquitetura são:
• Front-end - Parte dianteira (“front-end”) que é o que o usuário utiliza para acessar a nuvem;
• Back-end - Parte de fundo ou interna (“back-end”) que é a própria nuvem. A internet é o
elemento mediador que permite a comunicação entre o front-end e o back-end. A figura 2
apresenta, de forma simplificada, os elementos da arquitetura.
 Figura 2: Visão simplificada de arquitetura de computação em nuvem.
/
 Figura 3: Arquitetura de computação em nuvem organizada em componentes para front-
end e para back-end.
A parte dianteira ou “front-end” caracteriza os elementos disponibilizados para o usuário ou
cliente do serviço de computação em nuvem. Na parte superior da figura 3, observa-se um
exemplo de componentes físicos, como desktop, tablets; e componentes lógicos, como
aplicativos; que constituem a arquitetura “front-end”.
O usuário pode utilizar diversos tipos de dispositivos como smartphones, computadores,
tablets, normalmente utilizando um navegador, para acessar os recursos da nuvem.
 COMENTÁRIO
Atualmente, é mais comum ao usuário de um serviço de nuvem interagir apenas com os
componentes que servem de interface para acesso, como o navegador da web. No entanto,
dependendo do tipo de serviço implementado pela arquitetura em uso, as tarefas do usuário
podem crescer.
No próximo módulo, alguns desses componentes serão descritos de forma mais detalhada.
O “back-end” pode ser genericamente entendido como sendo a própria nuvem e é constituído
de diversos componentes, tanto de hardware e software quanto de gestão, responsáveis, em
conjunto, pelo fornecimento dos serviços aos diversos usuários (clientes), especialmente em
/
modelos de nuvem pública, sempre que estes solicitarem algum serviço ao
fornecedor/provedor (servidores).
Os elementos do back-end variam, naturalmente, conforme o modelo e tipo de serviços
adotados pela arquitetura. A figura 4 ilustra os elementos genéricos da parte back-end.
 Figura 4: Componentes da parte back-end.
O back-end engloba a maior parte dos componentes da arquitetura do sistema de computação
em nuvem, isto é, os servidores, máquinas virtuais, dispositivos de armazenamento com alta
capacidade e disponibilidade, a conectividade da rede e softwares que são necessários para a
operação da nuvem. Dentre os softwares o Hypervisor é responsável pela criação de máquinas
virtuais, podendo alocar vários serviços em um mesmo servidor físico. Além das ferramentas
de gerenciamento e desenvolvimentos de software; e os aplicativos de nuvem, como, por
exemplo, o pacote office 365 da Microsoft, esses componentes citados estão ilustrados na
figura 4.
 VOCÊ SABIA
Em geral, estes equipamentos são distribuídos geograficamente distantes dos usuários, o que
contribui para o uso do termo “nuvem”.
/
Da mesma forma que os componentes da parte “front-end” variam de modelo e organização
entre os usuários (embora basicamente sejam do mesmo tipo), também os componentes da
parte “back-end” têm genericamente as mesmas aptidões e características, embora variando
em quantidade, tipo e organização de arquitetura para arquitetura. Nos módulos a seguir, serão
descritos alguns desses componentes e serão apresentadas diversas arquiteturas de
computação em nuvem atuais.
Os diversos componentes normalmente requeridos para uma arquitetura “back-end” podem ser
agrupados conforme sua utilidade no conjunto de atividades para operar e manter o sistema de
computação em nuvem. Os principais componentes são:
Cloud Runtime (execução na nuvem) de aplicações e serviços;
Gerenciamento e desenvolvimento de software;
Infraestrutura com servidores, armazenamento e rede; e
Segurança na nuvem.
No módulo seguinte, estes componentes serão descritos em detalhes.
Você pode perceber pelo que foi apresentado até agora que a computação em nuvem torna-se
viável quando ocorre a necessária conexão entre os elementos do front-end, isto é, da parte do
usuário/cliente e da parte back-end, isto é, da nuvem propriamente dita, ou seja, dos servidores
e aplicativos que fornecem os serviços requeridos pelos clientes.
Esta conexão é usualmente através da internet, permitindo ao usuário solicitar tarefas e
serviços de qualquer parte geográfica do globo terrestre, uma excelente vantagem da
computação em nuvem.
TIPOS DE ARQUITETURA DE SISTEMAS DE
COMPUTAÇÃO EM NUVEM
Há diferentes tipos de arquitetura, cuja organização depende muitas vezes do interesse e
disponibilidade de recursos do usuário e do poder computacional do fornecedor do serviço e
dos tipos de serviços oferecidos.
/
A escolha do modelo de computação em nuvem (se pública ou privada, por exemplo) requer
uma análise profunda de diversos fatores: segurança, no topo da lista, custos de
implementação e de operação do sistema, tipos de aplicações, entre outros. Atualmente, tem
prevalecido o uso de arquiteturas públicas, exceto para empresas onde a disponibilidade e
segurança requeiram uso de nuvem dedicada àquela organização.
Quanto aos serviços, podem ser exercidos de forma completa, como nas arquiteturas SaaS
(software como serviço), isto é, o provedor e controlador da nuvem se responsabiliza pela
realização de todo processamento, infraestrutura, gerência e segurança dos serviços e o
usuário apenas solicita o serviço e é atendido. Ou de forma mais restrita e de menor custo,
como apenas o fornecimento de infraestrutura de armazenamento ou o hardware por completo,
como um servidor completo.
O modo pelo qual os diferentes fornecedores de serviços de computação em nuvem, como
Microsoft, Amazon, Google e outros definem e organizam a sua infraestrutura da arquitetura
em nuvem, além dos diversos serviços oferecidos, varia de acordo com as características dos
tipos de arquitetura específicos e também da necessidade do cliente e, em alguns casos
analisados, como modelos diferentes de computação e arquiteturas para fins específicos de
serviços.
Nos módulos seguintes, ao identificar os diferentes elementos que comporão a infraestrutura
de um sistema de computação em nuvem, será possível reforçar o entendimento das
diferenças entre os modelos e serviços existentes, bem como os dispositivos usados em cada
caso.
/
A simples escolha pelo usuário se irá empregar computação em nuvem ou manterá sua própria
infraestrutura já é, em muitos casos, uma tarefa difícil e que requer análise de diversos fatores,
tais como:
Custo – Seja de instalação e sobretudo de manutenção da infraestrutura;
Atualização do parque de TI — Acesso permanente ao estado da arte em tecnologia de
equipamentos e para desenvolvimento de aplicações (um fator favorável ao uso de
nuvem). Este fator é uma discussão recorrente que ocorre quando se pensa em
aquisições ou aluguel de infraestrutura;
Armazenamento de segurança e recuperação de dados (data backup e restoration) –
Muitos usuários, especialmente pessoas físicas, têm empregado mais o armazenamento
em nuvem pela facilidade em manter cópias dos dados e realizar a restauração.
Trabalho remoto (home office) – Trata-se de uma modalidadede trabalho de uso cada
vez mais frequente, especialmente na atualidade. Há relatos do aumento no número de
empresas avaliando crescer de forma mais permanente o trabalho remoto, seja para
alguns ou todos os colaboradores. Um fator favorável ao uso de computação em nuvem,
pois os dados e informações da empresa seriam facilmente acessíveis através da
internet;
Empresas que realizam muitas tarefas de forma colaborativa entre funcionários
localizados geograficamente afastados, podem considerar a escolha de computação em
nuvem como um dos fatores preponderantes para facilitar a colaboração e
compartilhamento de recursos.
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
/
Esta análise realizada e considerando o conhecimento obtido sobre os diversos modelos de
arquitetura e de serviços auxiliarão o usuário a escolher entre as diversas ofertas existentes
atualmente no mercado.
Decidindo-se pelo uso de computação em nuvem, muitos outros fatores devem ser analisados,
como custo, volume e diversidade de aplicações do usuário, diversidade de instalações (só um
local ou múltiplas filiais), segurança de aplicações e dados, disponibilidade de acesso, entre
outros.
Antes de concluir esta análise sobre os aspectos relevantes e os tipos de arquitetura de
sistemas de computação em nuvem, deve-se lembrar que pode haver outro elemento a ser
considerado pelo usuário na escolha da melhor solução. Trata-se de também analisar a
possibilidade de uso de computação em grade (“grid computing”), uma alternativa à
computação em nuvem e sua modalidade alternativa, a computação em cluster (“cluster
computing”). A computação em grade é uma das tecnologias habilitadoras da computação em
nuvem.
Genericamente, essas duas alternativas utilizam a infraestrutura do cliente/usuário para
aumentar sua capacidade de processamento e armazenamento, sem necessitar de um
fornecedor externo para prover aquelas necessidades.
No caso da computação em grade, pode-se interligar em rede uma quantidade apreciável de
computadores completos (como um PC, com sua memória RAM e HDs) e um aplicativo
específico e especializado gerenciará a divisão de uma grande tarefa de processamento pelos
diversos terminais da rede, os quais “conversam” por troca de mensagens.
Veja, no vídeo a seguir, a estrutura da computação em nuvem e seus componentes.
/
ESTRUTURA GERAL DA COMPUTAÇÃO EM
NUVEM
Terminamos o conteúdo neste módulo e elaboramos algumas questões para você verificar o
seu nível de entendimento sobre o assunto. Se tiver alguma dúvida, não tenha receio de voltar
ao conteúdo e revisá-lo.
VERIFICANDO O APRENDIZADO
/
MÓDULO 2
 Identificar os elementos da estrutura de um sistema de computação em nuvem
No módulo anterior, foi explicado que a arquitetura de um sistema de computação em nuvem é
constituída por componentes de hardware e de software, que estão instalados tanto na área do
usuário da nuvem (front-end), como na área do provedor do serviço de nuvem (back-end)
sendo utilizados de forma diferente conforme o modelo de arquitetura (pública, privada ou
híbrida) ou modelo de serviços (SaaS, IaaS, PaaS).
Agora, vamos apresentar de uma forma mais detalhada os componentes que são empregados
em cada uma dessas partes.
COMPONENTES DO FRONT-END
Os componentes encontrados no front-end podem variar bastante, dependendo do modelo de
serviços de nuvem a ser utilizado. Tipicamente, podemos dizer que a arquitetura de front-end é
dividida em três partes:
/
O software utilizado no front-end permite que o serviço da computação em nuvem seja
executado no lado usuário. Geralmente, o software utilizado é um navegador web ou um
aplicativo do lado cliente, específico para o provedor de nuvem que será acessado.
Quando o usuário emprega apenas um navegador, todo processamento fica no back-end,
situação típica das nuvens SaaS. Já quando o usuário utiliza algum software para acesso à
nuvem, como ocorre nas nuvens PaaS e IasS, as atividades e tarefas podem ficar divididas
entre o front-end e o back-end.
A interface de acesso é a forma pela qual o consumidor da nuvem interage para executar as
tarefas. Em algumas situações, a interface pode ser um editor de texto, como no caso da
utilização do Google Docs, ou uma interface de webmail para troca de mensagens eletrônicas,
como ocorre quando utilizamos o Gmail.
/
O terceiro componente agrega o dispositivo e a rede de comunicação utilizados pelo usuário
da nuvem. O dispositivo pode ser um notebook, um smartphone, ou uma Smart TV, por
exemplo. Genericamente, é um dispositivo computacional que permite ao usuário acessar a
interface da nuvem. Normalmente, o dispositivo do cliente não requer grande capacidade de
processamento porque as tarefas mais pesadas são processadas na nuvem.
Para a conexão entre o dispositivo do usuário e a interface de acesso será utilizada uma rede
de comunicação, que pode ser a própria rede local do usuário, desde que esteja conectada à
internet, ou um acesso através de redes celulares, viabilizando a conexão entre o front-end e o
back-end.
 ATENÇÃO
Sem dúvida, podemos afirmar que uma das grandes vantagens do uso de computação em
nuvem se revela na simplicidade dos equipamentos necessários aos usuários para o
processamento de suas aplicações.
Sem o emprego da nuvem, seria necessário que os usuários estivessem atentos aos requisitos
de escalabilidade, isto é, crescer seu parque computacional à medida que a demanda por
dados e processamento aumentasse, como também manter um parque computacional
atualizado.
/
A preocupação com esses requisitos requer constante atenção dos administradores de TI das
organizações, bem como contribuem para custos crescentes.
O uso da computação em nuvem elimina ou minimiza consideravelmente as necessidades no
lado do usuário (front-end), já que a nuvem pode se responsabilizar pela maior parte do
processo, permitindo que os consumidores da nuvem utilizem equipamentos mais simples.
COMPONENTES DO BACK-END
Agora, vamos ao coração da nuvem. O back-end é a parte da arquitetura de computação em
nuvem que alimenta o front-end. Podemos dizer que, enquanto o front-end são os
componentes que o usuário da nuvem enxerga, o back-end são os que ele não vê.
Aqui estão os componentes principais do sistema em nuvem, como hardwares de
processamento e armazenamento. Geralmente, são constituídos por um conjunto de
servidores, em um local geograficamente distante, no que, normalmente, chamamos de
datacenter.
O back-end é de responsabilidade do provedor de nuvem, que irá disponibilizar recursos que
garantam alta escalabilidade e disponibilidade, garantindo funcionamento contínuo com baixa
latência. Estes incluem vários servidores, computadores, sistemas de armazenamento de
dados, máquinas virtuais e programas que, juntos, constituem a nuvem de serviços de
computação.
/
O lado do back-end também é responsável por fornecer mecanismos de segurança, controle
de tráfego e protocolos que conectam computadores em rede para comunicação.
O back-end é composto de diversos componentes, que, de forma semelhante ao front-end,
pode variar de acordo com o modelo e arquitetura de nuvem empregadas. Geralmente, inclui:
Tempo de execução na nuvem (cloud runtime) para as Aplicações (application) e Serviços
(service);
Serviços de gerenciamento e desenvolvimento de software;
Infraestrutura com servidores (servers), dispositivos de armazenamento (storage), rede
(networking) Serviços de Segurança.
A figura 5 ilustra, de forma genérica, os componentes do back-end para permitir uma melhor
compreensão da distribuição dos componentes.
 Figura 5: Organização dos componentes da arquitetura back-end.
A aplicação é responsável por receber as requisições do usuário do serviço, assim, podemos
afirmar que ela está relacionada à interface de acesso a nuvem. É nesta camada que serão
coordenadas as necessidades do usuário com os recursos no back-end.
O serviço é responsável por fornecer a utilidadeda nuvem em si. É neste componente que
está o coração da nuvem. Qualquer tarefa que o usuário queira executar na nuvem será
/
executada neste componente, independentemente se a nuvem oferece um serviço de
armazenamento, um ambiente de desenvolvimento, ou qualquer outra atividade.
 ATENÇÃO
O cloud runtime é o local do back-end no qual o serviço é executado. São criados com a
ajuda dos softwares de virtualização conhecidos por hypervisor ou monitores de máquina
virtuais. O runtime irá permitir que várias execuções em paralelo possam coexistir no mesmo
servidor.
Para facilitar a compreensão, poderíamos dizer que o cloud runtime seria semelhante ao papel
de um sistema operacional em um computador convencional. O sistema operacional permite
que o usuário possa executar diversas atividades concorrentemente em um único dispositivo
físico. Já o cloud runtime vai permitir, por exemplo, que várias instâncias de máquinas virtuais
possam ser executadas de forma paralela.
O Hypervisor é responsável pela implementação da virtualização. É um componente que cria
e executa máquinas virtuais, sendo a base do funcionamento de uma nuvem, onde diversos
usuários compartilham o mesmo recurso físico, cada um com suas próprias particularidades
(por exemplo, um possui todas as suas aplicações desenvolvidas para executar sob o sistema
operacional Windows, enquanto outros utilizam Linux).
Alguns exemplos de hypervisor são:
Oracle Virtual Box;
VMWare;
KVM – Kernel-Based Virtual Machine, o qual opera em plataforma Linux;
Xen-Usa um microkernel que fornece as ferramentas de virtualização dos servidores;
Hyper-V – Funciona em ambiente MS Windows.
O armazenamento é responsável por manter a consistência das informações, ou seja, é o
local da nuvem aonde todos os dados da nuvem estão armazenados. Para realizar o
/
armazenamento dos dados, podem ser utilizados discos rígidos (HD), unidades de estado
sólido (SSD – Solid State Drive) e, mais recentemente, o Optane.
Ainda hoje, o mais comum é o emprego do disco rígido ou HD, os quais continuam sendo
desenvolvidos com elevadas capacidades individuais (16 TB, por ocasião da produção deste
material). Os SSDs têm como grande vantagem a velocidade, quando comparado ao HD
tradicional, entretanto, o custo ainda é elevado para grandes capacidades e bancos de
memória de massa.
 SAIBA MAIS
Mais recentemente, a Intel está oferecendo o uso da memória Optane, com o dispositivo Intel
Optane DC Persistent Storage, embora a capacidade atual desses dispositivos não seja ainda
tão elevada quanto desejável para seu custo. Torna-se adequado para o uso em aplicações de
tempo real que demande baixa latência de acesso ao dispositivo de armazenamento.
Em uma área de armazenamento, irão existir diversos discos rígidos instalados no próprio
servidor ou em dispositivos especializados chamados de storage. Para que esses discos
possam ser utilizados, é empregado um software de gerenciamento, particionando os discos da
forma que é necessária para que seja oferecido o serviço da nuvem.
Muitos fornecedores utilizam sistemas de armazenamento complexos, sempre com o propósito
de maior segurança e confiabilidade. Um desses tipos é o NAS – Network Attached Storage,
que são equipamentos robustos para armazenar de forma segura grandes volumes de dados.
O NAS (figura 7) é um sistema completo com processador e memória principal e secundária.
Ele pode ser usado por empresas nas suas redes locais, bem como dispositivos de
armazenamento para sistemas de computação em nuvem.
/
 Figura 6: Exemplo de um NAS da empresa Qnap.
Alguns sistemas de computação em nuvem gerenciam o compartilhamento de dados na rede
por meio dos protocolos de compartilhamento de recursos, principalmente, os arquivos e
diretórios.
Dois protocolos principais que podem ser utilizados são o CIFS (Common Internet File System)
e o NFS (Network File System - RFC 7530). Trata-se de dois protocolos semelhantes no
propósito e operação, embora com características e origens diferentes.
Sistemas de nuvem requerem, na maioria das vezes, muita capacidade de armazenamento e,
afastados geograficamente do cliente da nuvem, requerendo esses protocolos de
compartilhamento, de modo a atender às diferentes demandas.
A infraestrutura engloba o hardware de processamento que permite que todos os serviços
sejam executados. Neles estão os servidores de grande capacidade de processamento,
/
usualmente empregando Processadores Xeon da Intel ou Opteron da AMD em face de sua
grande capacidade de processamento e bastante espaço de memória RAM de baixa latência.
É comum que os servidores também empreguem as chamadas GPU (Graphics Processing
Unit), que, por nós usuários comuns, são conhecidas por placas de vídeo, mas que são
empregadas em servidores de alto desempenho para obter maior capacidade de
processamento.
 ATENÇÃO
Além das GPUs, alguns provedores de nuvem podem usar soluções específicas como o
Google’s Tensor Processing Unit, que são circuitos integrados de aplicação específica (ASICs,
na sigla em inglês), desenvolvidos especialmente pelo Google e disponibilizados para os
usuários da Google Cloud Platform, com foco em executar tarefas de inteligência artificial (IA).
Outra particularidade importante e que aumenta os custos refere-se à necessidade de inserir
redundância no processo e armazenamento dos dados/aplicativos, garantindo mais
disponibilidade e confiabilidade. Grandes fornecedores do serviço de nuvem distribuem os
dispositivos de armazenamento em locais geograficamente dispersos nos data centers.
Os data centers são construções projetadas para abrigar de forma bastante segura a
infraestrutura das empresas. Neles estão os servidores, os dispositivos de armazenamento,
todos interconectados por redes de alto desempenho. Os data centers são organizações
/
especializadas em armazenar e processar volumes de dados para múltiplos usuários e são um
dos pilares de sistemas de computação em nuvem.
Ainda na infraestrutura, podemos acrescentar os componentes de rede do back-end. Estes
dispositivos de rede são responsáveis pelas conexões entre os servidores da nuvem, com os
dispositivos de armazenamento e com os sistemas de gerenciamento e segurança.
Genericamente, os dispositivos são normais a qualquer rede, como switches, roteadores e
modems, além, naturalmente, do software de rede apropriado. A grande diferença está
relacionada ao volume de informações que estes equipamentos devem tratar, principalmente,
quando pensamos em nuvens de grande capacidade.
Uma observação interessante relativa a redes, mas não necessariamente a componentes que
implementam o acesso aos extremos da computação em nuvem (usuário e servidores da
nuvem), é a possibilidade de o fornecedor de serviços de nuvem também oferecer serviços de
rede para o usuário. Isso é uma tarefa que pode ser típica em serviços de computação em
nuvem do tipo SaaS, aquele que oferece uma vastidão de serviços aos usuários. Um deles
pode ser o serviço de implementação e manutenção da rede do usuário, que dispensará,
assim, seu esforço e custo para manter e fazer crescer sua rede.
Além dos equipamentos físicos (hardware) utilizados no back-end, há uma apreciável
quantidade de programas de aplicação (software) que viabilizam a gerência, o funcionamento,
controle e segurança da computação em nuvem. Em especial, podemos citar os que são
utilizados para os serviços de gerenciamento e segurança.
SERVIÇOS DE GERENCIAMENTO
Os serviços de gerenciamento permitem que os recursos sejam gerenciados de acordo com
as necessidades do usuário final. Por exemplo, em um servidor, existirão inúmeras instâncias
de máquinas virtuais em execução simultaneamente, compartilhando os recursos do mesmo
servidor físico. Portanto, o software de gerenciamento será essencial para que os recursos
sejam corretamente alocados para cada tarefa, evitando gargalos e permitindo o bom
funcionamento da nuvem.
SERVIÇO DE SEGURANÇA
O serviço de segurança éuma parte importante da arquitetura de software da nuvem. É
primordial que a arquitetura de segurança permita, por exemplo, que os serviços e as
informações sejam acessados por usuários autorizados, que as tarefas críticas não sejam
interrompidas, protegendo o servidor de tentativas de invasão e garantindo que o sistema
/
continue em operação, mesmo quando está sob ataque ou com alguma falha devido a
hardware com defeito.
Esses serviços são essenciais para permitir que o usuário da nuvem tenha uma boa
experiência de uso. No próximo módulo, serão apresentados de forma mais detalhada alguns
dos mecanismos de segurança na nuvem.
A seguir assista ao vídeo com os componentes do front-end e back-end.
OS COMPONENTES DA ARQUITETURA EM
NUVEM
Terminamos o conteúdo neste módulo e elaboramos algumas questões para você verificar o
seu nível de entendimento sobre o assunto. Se tiver alguma dúvida, não tenha receio de voltar
ao conteúdo e revisá-lo.
/
VERIFICANDO O APRENDIZADO
MÓDULO 3
 Identificar mecanismos para funcionamento e segurança da computação em nuvem
A computação em nuvem possui basicamente duas grandes tecnologias facilitadoras que
auxiliam os mecanismos de funcionamento da nuvem: a virtualização e a internet.
A virtualização teve sua utilidade migrada de um único usuário com múltiplos processamentos,
para o uso de uma classe de recursos com múltiplos usuários. A internet – acesso remoto a
recursos compartilháveis – proporciona facilidade de acesso remoto, viabilizando o acesso aos
recursos compartilhados pela virtualização.
MECANISMOS PARA FUNCIONAMENTO DA
COMPUTAÇÃO EM NUVEM
O funcionamento da computação em nuvem depende de um conjunto de mecanismos que
atendam aos requisitos desejados para o provimento de serviços em nuvem. Dentre esses
mecanismos, podemos citar: balanceamento de carga, SLA, medidores do uso da nuvem,
auditoria do funcionamento da nuvem, dentre outros.
BALANCEAMENTO DE CARGA
A computação em nuvem possui diversas vantagens para usuários corporativos bem como
pequenos usuários. Porém, acarreta diversos problemas para o provedor da nuvem. Um
desses problemas refere-se ao balanceamento de carga.
/
Como o data center da nuvem é usualmente constituído de diversos servidores, para poder
atender a uma grande demanda de solicitações de clientes, poderia ocorrer demandas maiores
para uns servidores e menores para outros, com evidente prejuízo de desempenho e
disponibilidade.
Para evitar ou minimizar a ocorrência deste desbalanceamento de carga nas solicitações aos
servidores, utiliza-se de mecanismos de balanceamento de carga para controlar a distribuição
das solicitações entre servidores, equilibrando, assim, sua carga de trabalho.
 EXEMPLO
Para entendermos melhor esse mecanismo, vamos imaginar a situação de utilização da nuvem
por um cliente comum ao realizar validação de cartão de crédito de consumidores em suas
lojas. Pode acontecer que, na época de Natal, a demanda de solicitações aumente
consideravelmente, indo além de um limite preestabelecido. Se o provedor de nuvem possui
um mecanismo adequado de balanceamento de carga, ele pode distribuir as transações por
diversos servidores.
Existem diversos mecanismos de balanceamento de carga, usados por diferentes provedores
de Computação em Nuvem. Podemos citar o DNS Round Robin. Como visto na figura 7,
podemos observar o balanceamento de carga entre o servidor Web1 e servidor Web2 através
da utilização do DNS (sistema de nomes de domínio) para atender à solicitação do cliente.
javascript:void(0)
/
DNS ROUND ROBIN
É um mecanismo de equilíbrio local de carga, usado pelos servidores DNS para compartilhar e
distribuir cargas entre dois ou mais servidores da rede. (BATTISTI, 2020)
 Figura 7: DNS Round Robin.
O balanceamento de carga em computação em nuvem pode ser implementado por diversos
algoritmos, como, por exemplo, os algoritmos de balanceamento dinâmico de carga com fila e
balanceamento dinâmico de carga sem fila que são apresentados em Angonese (2012). A
apresentação da operação desses algoritmos de balanceamento de carga está além do
objetivo deste módulo.
ACORDO DE NÍVEL DE SERVIÇO (SLA –
SERVICE LEVEL AGREEMENT)
O Acordo de Nível de Serviço (ANS) ou Service Level Agreement (SLA) é um acordo firmado
entre o provedor de computação em nuvem e o cliente, que especifica quais serviços o
provedor irá fornecer e quais as regras e condições de provimento desses serviços na nuvem.
 ATENÇÃO
/
Na contratação do serviço de computação em nuvem, esse acordo é um dos itens mais
importantes, especialmente para que o cliente possa monitorar o desempenho do provedor a
partir de dados mensuráveis.
O acordo estabelece tanto as regras para os itens de realização do provimento, quanto a
definição de indicadores métricos para garantir a segurança do contratante (usuário/cliente).
Também é possível incluir itens (check point) de verificação e multas por descumprimento de
prazos ou falhas no atendimento aos requisitos estabelecidos.
Dessa forma, o acordo de nível de serviço beneficia tanto o provedor como o próprio cliente.
Provedor
De um lado, o provedor estará protegido contra exigências absurdas e cobranças indevidas.

Cliente
De outro, o cliente terá a garantia de que o serviço estará disponível no momento certo com a
qualidade necessária.
MEDIDORES DE USO DA NUVEM PELOS
USUÁRIOS PARA EFEITO DE COBRANÇA
Para garantir o funcionamento adequado e com qualidade dos serviços de computação em
nuvem, é necessário o uso de medidas de desempenho em diversos recursos oferecidos,
como computação, armazenamento, rede e aplicações.
Um cliente precisa tomar precauções adequadas para avaliar o provedor de nuvem e constatar
a qualidade do serviço oferecido.
Dentre as medidas de desempenho, existem as que medem dados operacionais como:
Quantidade de transações na unidade de tempo;
/
Rastreamento da quantidade de acessos para leitura e gravação de dados em
dispositivos de armazenamento e análise de previsões.
Além das medidas citadas, existem outras que avaliam o desempenho pelo provedor pelo
tempo médio entre falhas (MTBF - Medium Time Between Fails) e pelo tempo médio para
realizar um reparo.
Ainda, podemos acrescentar as medidas pela vazão do sistema (“throughput”) ou taxa de
transferência de dados e as medidas pelo tempo de resposta, item muito importante quando se
trata de uso de redes.
O provedor de nuvem deve fornecer relatórios sobre o desempenho do serviço e essa
informação deve constar no Acordo de Nível de Serviço (SLA).
ELEMENTOS PARA COLETA DE DADOS PARA
AUDITORIA DE FUNCIONAMENTO DA NUVEM
O processo de operacionalização e funcionamento em ambiente de computação em nuvem
não é o mesmo do processo individual da empresa, sem o uso de uma entidade externa
inserida no processo. Ou seja, as práticas de controle e auditoria são necessariamente
diferentes.
A auditoria da organização não se envolve no processo de migração para o novo processo,
exceto a partir do início de seu funcionamento. Sendo assim, o papel da auditoria deve se
adaptar ao novo modelo e considerar o conjunto de itens importantes citados logo abaixo:
a) Compreensão e educação quanto aos riscos envolvidos com a computação em
nuvem, tais como:
• Segurança, privacidade, integridade dos dados, eficiência e eficácia no emprego de
novos processos empresariais, decorrentes do uso da nuvem (agente externo
envolvido), conformidade com novos aspectos jurídicos e regulatórios.
/
b) Compreensão sobre as possibilidades e riscos dos diferentes serviços oferecidos por
um mesmo provedor, tais como:
• Avaliação dos riscos de uso do serviço SaaS, IaaS ou PaaS.
• Entendimento dos riscos de funcionamento com o modelo público ou com o modelo
privado;
• Avaliação dos riscos internos do uso da computação em nuvem.
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
O serviço de auditoria das empresas em relação à computação em nuvem é um grande auxiliar
parao controle dos aspectos envolvidos principalmente com segurança, pois assegura a
integridade operacional e proteção aos dados dos usuários.
Um dos mecanismos usados para auxiliar na prática de auditoria dos serviços de computação
em nuvem é o emprego de empresas especializadas nesse tipo de auditoria. TPA é o termo em
inglês usado para identificar esse tipo de empresa, elas podem ser usadas tanto no modelo de
nuvem pública quanto em nuvem privada.
Atualmente, e especialmente no exterior, os auditores externos (TPAs) têm sido bastante
utilizados em computação em nuvem, principalmente, na verificação de itens de segurança e
conformidade.
 COMENTÁRIO
Com auxílio de criptografia, os auditores externos verificam os dados armazenados na nuvem
(remotamente). Também sendo possível empregar essa técnica nos modelos de nuvem
pública, devido aos recursos computacionais e de comunicação existentes atualmente.
ELEMENTOS DE SEGURANÇA
REQUERIDOS PARA FUNCIONAMENTO DA
COMPUTAÇÃO EM NUVEM
/
Já se mencionou diversas vezes que um dos fatores mais importantes na definição da
arquitetura de computação em nuvem reside no estabelecimento de mecanismos e processos
voltados para proteger os dados e aplicações dos usuários, deixados sob a guarda da nuvem.
Afinal de contas, os ativos são, muitas vezes, o corpo e a alma de uma organização que, por
razões estratégicas ou financeiras, utiliza-se dos serviços da computação em nuvem oferecidos
por um provedor.
A confiabilidade e segurança desses dados malconduzida pode destruir a reputação e o
negócio de uma empresa ou, se muito bem feito, pode aumentar de forma considerável sua
confiabilidade e visibilidade no mercado.
Como o fornecedor dos serviços de armazenamento e processamento (provedor) está
geograficamente afastado, em se tratando de computação em nuvem, do usuário/cliente, a
transferência de dados se realiza pela internet, daí a segurança ser crítica.
Há diversos mecanismos que podem ser usados para proteção das informações, como:
Isolamento do perímetro de rede;
Auditoria;
Redundância;
Autenticação.
/
ISOLAMENTO DO PERÍMETRO DE REDE
Há diversos tipos e métodos de comprometimento da segurança na computação em nuvem,
tanto por agentes externos (Outside Attackers), quanto por erros de projeto ou nos algoritmos
de funcionamento, que podem comprometer as aplicações/dados tanto quanto invasores
externos.
OUTSIDE ATTACKERS
Em uma tradução de forma literal, significa ataque externo, isto é, entidades ou pessoas
externas à empresa realizando um ataque às instalações de TI. Fonte: Brasil Escola.
Os agentes externos são elementos de fora do sistema, que podem realizar diferentes tipos de
ataques: IP spoofing, Address Resolution Protocol (ARP spoofing), DNS poisoning e
Denial of Service (DoS) que são ataques comuns a qualquer tipo de dispositivo ou ataques
específicos a serviços de nuvem, como ataques contra o Hypervisor ou às máquinas virtuais.
IP SPOOFING
O IP Spoofing é um tipo de ataque em que os criminosos forjam o endereço IP para enganar
redes de computadores corporativas, mascarando-se como um usuário legítimo. Fonte: Grupo
Binário.
ADDRESS RESOLUTION PROTOCOL (ARP
SPOOFING)
O ataque do tipo ARP Poisoning (ou ARP-Spoofing) é o meio mais eficiente de executar o
ataque conhecido por Man-In-The-Middle, que permite que o atacante intercepte informações
confidenciais posicionando-se no meio de uma conexão entre duas ou mais máquinas, forjando
o endereço ARP das estações envolvidas na comunicação. Fonte: Vieira, 2009.
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
/
DNS POISONING
É o envenenamento do cache do servidor DNS. Trata-se de um ataque que visa a mudança de
URL (localizador uniforme de recursos) Web, para prejudicar alguém economicamente e/ou
vazar dados, informações pessoais e senhas. Fonte: GTA.
DENIAL OF SERVICE (DOS)
O ataque do tipo DoS (Denial Of Service, em inglês), também conhecido como ataque de
negação de serviço, é uma tentativa de fazer com que aconteça uma sobrecarga em um
servidor ou computador comum para que recursos do sistema fiquem indisponíveis para seus
utilizadores. Fonte: Canaltech.
 ATENÇÃO
Um dos métodos mais eficazes de combater essas tentativas de comprometimento de
segurança da nuvem é o uso de Firewall. Método adotado por grande parte dos maiores
fornecedores de computação em nuvem, como Amazon e Microsoft.
FIREWALL
Um firewall é um dispositivo de segurança da rede que monitora o tráfego de rede de entrada e
saída e decide permitir ou bloquear tráfegos específicos de acordo com um conjunto definido
de regras de segurança. Os firewalls têm sido a linha de frente da defesa na segurança de rede
há mais de 25 anos. Eles colocam uma barreira entre redes internas protegidas e controladas
que podem ser redes externas confiáveis ou não, como a internet. Um firewall pode ser um
hardware, software ou ambos. Fonte: Cisco.
No entanto, nem sempre o Firewall consegue responder adequadamente aos ataques, devido
a problemas internos ao sistema, já que ele se encontra na porta de saída para a rede externa.
javascript:void(0)
/
Além disso, certos ataques externos podem ser complexos demais e requerem métodos
adicionais ao Firewall para garantir proteção, como o emprego de sistemas de detecção de
intrusão, analisadores de logs, entre outros.
USO DE REDUNDÂNCIA
É importante que o projeto e funcionamento de um sistema de computação em nuvem
considere as diferenças entre os usuários, inclusive no que se refere à segurança de dados e
aplicações.
Aplicações de missão crítica ou de tempo real requerem uma atenção maior do sistema, de
modo que não possam ser interrompidas quando em execução.
Um dos melhores métodos de aumentar a disponibilidade e confiabilidade de uma operação
reside na replicação, ou seja, na redundância dos componentes e dos dados armazenados.
 VOCÊ SABIA
Grandes provedores de computação em nuvem, como a Microsoft ou a Amazon, fornecem
redundância dos seus serviços, pois a sua infraestrutura se estende por todo o planeta. Dessa
/
forma, é possível contratar a redundância da sua aplicação em várias regiões no mundo e,
assim, garantindo a estabilidade e continuidade dos serviços, mesmo em caso de catástrofe.
Naturalmente, tais ações elevam os custos de implementação do hardware e software de
segurança como também de manutenção da operação, mas tem sido compensado na prática
(Amazon, Microsoft, IBM e outras organizações usam estes métodos) com fidelidade dos
clientes e maior visibilidade no mercado das empresas.
OUTROS MECANISMOS
Sendo a segurança do sistema um fator crucial de sucesso para provedor de nuvem, costuma-
se usar diversos meios para prover segurança ao sistema e ao seu funcionamento,
especialmente para deter intrusos, de todas as formas. Entre essas formas, pode-se citar:
a) Uso de Firewall – Já discutido brevemente acima;
b) Uso de Criptografia – Atualmente, a maioria das transmissões na rede é
criptografada, havendo mais de um meio para se realizar esta tarefa, como criptografia
simétrica e assimétrica. O WhatsApp, por exemplo, usa criptografia da origem ao
destino, enquanto bancos usam meios bem seguros, já que um erro que corrompa o
conteúdo de um TEF (transmissão eletrônica de fundos), sem ser percebido, seria um
desastre de credibilidade do sistema;
c) Muitos sistemas de tratamento de erros baseiam-se na execução origem/destino de
um mesmo algoritmo que produz um grupo de sinais (bits) redundantes, acrescentados
aos dados da mensagem; na origem, os bits para proteção são acrescentados ao bloco
de dados, e no destino o sistema separa dados e bits de proteção, aplicando o mesmo
algoritmo aos dados recebidos, produzindo novos bits para proteção. Esses são
comparados com os bits de proteção recebidos. Como resultado, o sistema pode
concluir se recebeu correto ou não;
/
d) Uso de certificados digitais pode acrescentar mais segurança aos seus detentores.
Muitasempresas exigem o uso de certificados digitais pelos clientes para acesso a
dados mais sigilosos, como a Receita Federal.
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
Quando um usuário do serviço de nuvem analisa os serviços oferecidos pelo provedor de
nuvem, deve verificar dentre todos os itens, especialmente os relacionados à segurança. No
entanto, a capacidade do provedor de manter a segurança depende de outros fatores como o
modelo de implantação da computação em nuvem (pública, privada, híbrida ou comunitária),
bem como o modelo de serviços (SaaS, IaaS, PaaS).
 EXEMPLO
A nuvem que opera como SaaS deve oferecer segurança completa aos usuários, diferente dos
sistemas que operam com serviço IaaS, onde diversas atividades de segurança são de
responsabilidade do usuário.
Veja, no vídeo a seguir, como são utilizados os elementos para garantir a segurança na
computação em nuvem.
/
ANALISANDO A SEGURANÇA NA
COMPUTAÇÃO EM NUVEM
Terminamos o conteúdo neste módulo e elaboramos algumas questões para você verificar o
seu nível de entendimento sobre o assunto. Se tiver alguma dúvida, não tenha receio de voltar
ao conteúdo e revisá-lo.
VERIFICANDO O APRENDIZADO
MÓDULO 4
 Identificar algumas arquiteturas fundamentais baseadas na computação em nuvem
ARQUITETURA FUNDAMENTAL
A arquitetura fundamental da computação em nuvem é o conjunto de mecanismos necessários
que compõem a infraestrutura física responsável em tornar a cloud computing uma realidade.
A arquitetura de nuvem tem o objetivo de fornecer aos clientes acesso ininterrupto aos dados e
aplicativos. Além de ser possível acesso à rede sob demanda, existe também a possibilidade
de se mover de forma rápida e eficiente entre servidores. Ou até mesmo entre nuvens,
mantendo de forma eficiente a segurança da rede.
/
Não existe uma única arquitetura para a computação em nuvem. Existem muitas possibilidades
em termos de infraestrutura de hardware, software e comunicação que são muito grandes e
variadas, assim como os serviços disponíveis na nuvem.
 RESUMINDO
Sendo assim, a arquitetura de computação em nuvem oferece flexibilidade ao construir a
nuvem sob medida, conforme a necessidade do cliente.
Os mecanismos de infraestrutura para os serviços de computação em nuvem podem ser
utilizados para a definição de diversos modelos de arquitetura fundamental de serviços em
nuvem que serão abordas neste módulo.
ARQUITETURA DE DISTRIBUIÇÃO DE
CARGA DE TRABALHO
Na arquitetura de distribuição de carga de trabalho, os recursos de TI são escalonados.
Ao ser adicionado um ou mais recursos idênticos, o balanceador de carga distribui
uniformemente a carga de trabalho entre os recursos de TI disponíveis.
Ao observarmos a Figura 8 é possível identificar a redundância do serviço em nuvem com a
implementação do servidor virtual B. O balanceador de carga intercepta as solicitações dos
consumidores de serviços, e as direcionam para os servidores virtuais A e B, garantindo uma
distribuição uniforme da carga de trabalho.
/
 Figura 8: Arquitetura de distribuição de carga de trabalho.
Essa arquitetura pode reduzir, dentro de um limite, tanto a superutilização, como também a
subutilização de recursos de TI, de acordo com a sofisticação dos algoritmos de
balanceamento de carga.
 SAIBA MAIS
Uma das variações dessa arquitetura é a inclusão, além dos servidores virtuais, dos
comutadores virtuais no balanceamento de carga. O comutador virtual é um comutador ao
qual os servidores virtuais estão conectados.
COMUTADOR
O comutador utiliza um mecanismo de filtragem e comutação que consiste em dirigir os fluxos
de dados para as máquinas mais adequadas em função de elementos presentes nos pacotes
de dados. O comutador pode analisar os endereços existentes ou os protocolos utilizados para
realizar o redirecionamento adequado.
javascript:void(0)
/
ARQUITETURA BASEADA EM POOL DE
RECURSOS
Um pool de recursos é um conjunto de recursos disponível para alocação ao consumidor da
nuvem quando quiser acessar os serviços. Em outras palavras, um pool de recursos pode ser
conceituado como uma abstração lógica para o gerenciamento flexível de recursos na nuvem
que serão oferecidos aos usuários.
 EXEMPLO
Quando o consumidor da nuvem contrata um provedor de nuvem com a arquitetura baseada
em pool de recursos, poderá contratar um pool de recursos de servidores virtuais, ou seja um
conjunto de servidores virtuais para serem utilizados de acordo com sua necessidade do
cliente.
A arquitetura baseada em pool de recursos agrupa os recursos de TI idênticos e os mantêm
sob a gestão do sistema de controle que, automaticamente, se certifica se eles permanecem
sincronizados.
Dentre os conjuntos de pools de recursos, podemos destacar os termos:
/
Pools de recursos irmãos
Pools de recursos aninhados.
POOLS DE RECURSOS IRMÃOS
Os recursos de TI são agrupados fisicamente, ao contrário dos recursos de TI espalhados por
diferentes datacenters.
Na figura 9, os pools estão isolados um do outro, para que cada cliente tenha acesso apenas
ao seu respectivo pool.
Os Pools B e C são pools irmãos extraídos do Pool A, que foram alocados para um consumidor
da nuvem. Neste caso, é possível obter os recursos de TI do Pool B e Pool C, a partir de uma
reserva geral de recursos de TI compartilhada em toda a nuvem.
 Figura 9: Pool de recursos irmãos.
POOL DE RECURSOS ANINHADOS
/
No pool de recursos aninhados, os pools maiores são divididos em pools menores, para
agrupamento individual do mesmo tipo de recursos de TI. Dessa forma, é possível atribuir
conjuntos de recursos a diferentes departamentos, ou grupos na mesma organização.
Para entendermos melhor, vamos visualizar a figura 10. Os pools aninhados A.1 e A.2 são
compostos pelos mesmos recursos de TI do pool A, mas em quantidades diferentes. Eles são
usados para provisionar serviços em nuvem que precisam ser instanciados rapidamente,
usando o mesmo tipo de recursos de TI, com as mesmas configurações.
 Figura 10: Pool de recursos aninhados.
Exemplos comuns que envolvem o emprego de pools de recursos:
• Servidores de rede físicos, instalados com sistemas operacionais e outros programas
e/ou aplicativos necessários, prontos para uso imediato.
• Servidores virtuais, usando um dos modelos disponíveis escolhidos pelo consumidor
durante o provisionamento, por exemplo, um consumidor pode configurar servidores
Windows ou Linux.
/
• Elementos de interconexão, compostos de diferentes dispositivos de conectividade de
rede pré-configurados, por exemplo, um conjunto de firewalls virtuais, ou comutadores
de rede físicos criados para conectividade redundante, balanceamento de carga ou
agregação de link.
• CPU, prontos para serem alocados aos servidores virtuais e divididos em núcleos de
processamento individuais.
• Memória RAM física, usados em servidores físicos recentemente provisionados, ou
para dimensionar verticalmente servidores físicos.
 Atenção! Para visualização completa da tabela utilize a rolagem horizontal
ARQUITETURA DE ESCALONAMENTO
DINÂMICO
A arquitetura de escalonamento dinâmico se baseia em um sistema que define condições de
escalonamento predefinidas, aonde a alocação dinâmica de recursos de TI é realizada a partir
de pools de recursos.
A alocação dinâmica possibilita o uso dos recursos conforme a variação da demanda de uso.
Ao configurar o ouvinte (listener) de escalonamento automatizado com os limites de carga
de trabalho definidos, é possível determinar quando novos recursos de TI são adicionados ao
processamento da carga de trabalho.
Os tipos de escalonamento dinâmico mais comuns são:
ESCALONAMENTO DINÂMICO HORIZONTAL
ESCALONAMENTO DINÂMICO VERTICAL
REALOCAÇÃO DINÂMICA
Nesse tipo de escalonamento, os recursos de TI são replicados com as mesmas características
da máquina virtual original e de acordo com os requisitos e permissões. Por exemplo, se a
/
máquina virtual original tem capacidade de memória X, as máquinasduplicadas terão a mesma
capacidade. Essa é a forma mais utilizada porque permite que os recursos sejam
provisionados sem que o sistema fique indisponível. Da mesma forma, caso a demanda caia,
os recursos são desalocados automaticamente.
Nesse tipo de escalonamento, é ajustada a capacidade de processamento de um único recurso
de TI. Por exemplo, suponhamos que a máquina virtual opera com 4GB de memória RAM, um
escalonamento vertical significaria aumentar a capacidade de memória da máquina virtual para
8GB.
O recurso de TI é realocado para um host com mais capacidade.
Para um entendimento melhor, vamos analisar um exemplo de aplicação do escalonamento
dinâmico horizontal na sequência (a), (b), (c) da figura 11.
/
 Figura 11: Escalonamento dinâmico horizontal.
Ao observarmos a figura 11, podemos extrair o movimento de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
PASSO 3
PASSO 4
PASSO 5
/
PASSO 6
PASSO 7
PASSO 8
Os clientes de serviços em nuvem enviam solicitações para a nuvem.
O ouvinte de escalonamento dinâmico monitora o serviço de nuvem, verificando se os limites
de capacidade predefinidos foram excedidos.
Surge um aumento no número de solicitações oriundos dos clientes.
A carga de trabalho excede os limites de desempenho, o ouvinte de escalonamento dinâmico
entra em ação agindo conforme a política de escalonamento existente.
Se a implementação do serviço em nuvem for considerada apta para escalonamento adicional,
o listener inicia o processo de escalonamento.
O listener envia um sinal ao mecanismo de replicação de recursos.
São criadas instâncias do serviço de nuvem.
O listener retoma o monitoramento, diminuindo e adicionando recursos de TI, conforme
necessidade.
ARQUITETURA DE CAPACIDADE DE
RECURSO ELÁSTICO
A arquitetura de capacidade de recurso elástico refere-se ao provisionamento dinâmico de
servidores virtuais, usando um sistema de gerenciamento com mecanismo de automação
inteligente, que aloca e recupera recursos dos processadores e memória principal, em resposta
imediata aos requisitos de processamento dos recursos de TI hospedados, conforme pode ser
visto na sequência (a), (b), (c) da figura 12.
/
 Figura 12: Arquitetura de capacidade de recurso elástico.
Ao observarmos a figura 12, podemos extrair o movimento de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
PASSO 3
/
PASSO 4
PASSO 5
PASSO 6
PASSO 7
PASSO 8
Os consumidores de serviços em nuvem enviam solicitações ativamente para um serviço em
nuvem.
O serviço em nuvem é monitorado por um ouvinte de escalonamento automatizado.
Um script do mecanismo de automação inteligente está implementado com lógica de fluxo de
trabalho.
O script é capaz de notificar o pool de recursos usando solicitações de alocação.
Acontece um aumento das solicitações dos consumidores de serviços em nuvem.
O aumento das solicitações faz com que o listener sinalize o mecanismo de automação
inteligente para executar o script.
O script executa a lógica do fluxo de trabalho; sinaliza ao hypervisor para alocar mais recursos
de TI dos pools de recursos.
O hypervisor aloca CPU e RAM adicionais para o servidor virtual; a carga de trabalho
aumentada pode ser tratada.
Os pools de recursos podem ser usados pelo escalonador, que interage junto com o
hypervisor e/ou VIM (Virtualized Infrastructure Manager), para recuperar e retornar os
recursos de CPU e memória RAM em tempo de execução.
HYPERVISOR
Virtualized Infrastructure Manager: Um hypervisor, também conhecido como monitor da
máquina virtual, é um processo que cria e executa máquinas virtuais (VMs). Um hypervisor
permite que um computador host ofereça suporte a várias VMs guest, compartilhando
virtualmente seus recursos, como memória e processamento.
javascript:void(0)
/
O processamento do servidor virtual é monitorado, para que o poder de processamento
adicional possa ser entregue a partir do pool de recursos por meio de alocação dinâmica, antes
que os limites de capacidade sejam atendidos.
O servidor virtual, e seus aplicativos hospedados e recursos de TI, respondem escalonando
verticalmente.
ARQUITETURA DE BALANCEAMENTO DE
CARGA DE SERVIÇO
A arquitetura de balanceamento de carga de serviço permite que sejam implantadas
redundâncias dos serviços em nuvem, utilizando como base as arquiteturas de balanceamento
de carga de trabalho explicadas anteriormente.
O balanceador de carga pode ser posicionado independentemente dos serviços em nuvem e
de seus servidores host, como pode ser visto na figura 13.
 Figura 13: Balanceador de carga posicionado independentemente dos serviços em nuvem
e de seus servidores host.
O balanceador de carga também pode ser incorporado como parte do aplicativo ou do
ambiente do servidor.
/
No caso, um servidor primário com a lógica de balanceamento de carga pode se comunicar
com os servidores vizinhos para equilibrar a carga de trabalho, conforme mostrado na figura
14.
 Figura 14: Balanceador de carga também pode ser incorporado como parte do aplicativo
ou do ambiente do servidor.
Ao observarmos a figura 14, podemos extrair o movimento de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
As solicitações do consumidor são enviadas para o serviço em nuvem A no servidor virtual A.
O balanceamento de carga integrado distribui solicitações para as implementações vizinhas do
serviço de nuvem A nos servidores virtuais B e C.
As implementações de serviço em nuvem duplicadas são organizadas em um pool de recursos.
Sendo assim, o balanceador de carga permite que os servidores host equilibrem suas cargas
de trabalho.
Dependendo da carga de trabalho prevista, e da capacidade de processamento dos ambientes
do servidor host, várias instâncias de cada implementação de serviço em nuvem podem ser
geradas como parte de um pool de recursos que responde à flutuação dos volumes de
solicitação com mais eficiência.
/
ARQUITETURA CLOUD BURSTING
A arquitetura cloud bursting oferece a opção aos consumidores de utilizarem os recursos de TI
baseados em nuvem somente para atender a demandas em caso de sobrecarga do
processamento on premise. A arquitetura escala ou "expulsa" os recursos executados
localmente (on premise) para a nuvem, sempre que os limites de capacidade predefinidos
forem atingidos.
Ou seja, cloud bursting é uma configuração definida entre uma nuvem privada e uma nuvem
pública para lidar com picos na demanda de TI. Se uma organização que usa uma nuvem
privada alcançar 100% de sua capacidade de recursos, o tráfego excedente será direcionado a
uma nuvem pública para que não haja interrupção de serviços.
A arquitetura também libera recurso computacional da nuvem privada, onde aplicações não
críticas são movidas para a nuvem pública, liberando o processamento on premise para
aplicações críticas do consumidor.
 ATENÇÃO
Os recursos de TI correspondentes baseados na nuvem são redundantemente pré-
implantados, permanecendo inativos até que ocorra uma rajada. Depois que eles não são mais
necessários, os recursos de TI baseados na nuvem são liberados e a arquitetura volta para o
ambiente local.
O ouvinte de dimensionamento automatizado define o momento no qual as solicitações devem
ser redirecionadas para recursos de TI baseados na nuvem. A replicação de recursos é
utilizada para manter a sincronia entre os recursos de TI locais e os recursos de TI baseados
na nuvem, em relação às informações de estado.
Para entendermos melhor essa arquitetura, observem na figura 15 o funcionamento do cloud
bursting.
/
 Figura 15: Arquitetura cloud bursting.
Ao observarmos a figura 15, podemos extrair o movimento de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
Um serviço automatizado monitora o uso do serviço A, redirecionando uma solicitação do
consumidor de serviço C para uma implementação redundante do serviço A quando o limite de
uso do serviço A é excedido.
Um sistema de replicação de recursos é utilizadopara manter sincronizados os bancos de
dados de gerenciamento de status.
ARQUITETURA DE PROVISIONAMENTO
ELÁSTICO DE DISCO
A arquitetura de provisionamento elástico de disco estabelece um sistema dinâmico de
provisionamento de armazenamento que garante que o consumidor da nuvem seja cobrado
pela quantidade exata de armazenamento que ele realmente usa, ao invés de ser cobrado por
um espaço de armazenamento fixo.
/
 EXEMPLO
Imaginamos o cenário no qual o consumidor contrata um servidor virtual com três discos
rígidos de 150GB, sendo assim, será cobrado pelo uso de 450GB de espaço de
armazenamento após a instalação do sistema operacional, embora ainda não tenha instalado
nenhum software.
Vamos visualizar a figura 16 para entendermos melhor o funcionamento da arquitetura de
provisionamento elástico de disco.
 Figura 16: Arquitetura de provisionamento elástico de disco.
Ao observarmos a figura 16, podemos extrair os passos de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
PASSO 3
PASSO 4
PASSO 5
O consumidor solicita um servidor virtual com três discos rígidos com capacidade de 150GB
cada um.
/
O servidor virtual é provisionado com um total de 450GB de espaço em disco.
Os 450GB são definidos como o uso máximo de disco permitido para o servidor virtual. Ainda
não existe reserva ou alocação de espaço.
O consumidor não instalou nenhum software, logo o espaço usado está em 0GB.
O consumidor da nuvem não é cobrado por nenhum uso de espaço em disco (o espaço em
disco alocado é igual ao espaço usado real).
A arquitetura usa um provisionamento fino para alocação dinâmica de espaço de
armazenamento, sendo também suportado pelo monitoramento de uso em tempo de execução,
para uma coleta minuciosa dos dados de uso a serem cobrados.
ARQUITETURA DE ARMAZENAMENTO
REDUNDANTE
A arquitetura de armazenamento redundante oferece uma duplicação dos dados em dispositivo
de armazenamento secundário da nuvem como parte de um sistema de failover, que
sincroniza seus dados com os dados do dispositivo de armazenamento primário da nuvem.
FAILLOVER
Failover em computação significa tolerância a falhas. Quando um sistema, servidor ou outro
componente de hardware ou software fica indisponível, um componente secundário assume
operações sem que haja interrupção nos serviços. Sistemas de alta disponibilidade (HA) são
tolerantes a falhas, ou seja, são construídos com equipamentos / aplicações redundantes e,
caso um dos componentes fique indisponível por falha ou manutenção, nenhum serviço é
interrompido. Fonte: Controle Net.
Em outras palavras, essa arquitetura possui um gateway que desvia as solicitações do
consumidor da nuvem para o dispositivo secundário sempre que o dispositivo primário falhar,
conforme pode ser visto na sequência (a), (b), (c) da figura 17.
javascript:void(0)
/
 Figura 17: Arquitetura de armazenamento redundante.
Ao observarmos a figura 17, podemos extrair os passos de atuação da arquitetura como
apresentado logo abaixo:
PASSO 1
PASSO 2
PASSO 3
O dispositivo de armazenamento primário é replicado rotineiramente no dispositivo de
armazenamento secundário da nuvem.
Quando o armazenamento primário fica indisponível, o gateway encaminha as solicitações do
consumidor da nuvem para o dispositivo de armazenamento secundário.
/
VERIFICANDO O APRENDIZADO
CONCLUSÃO
CONSIDERAÇÕES FINAIS
Arquitetura de computação em nuvem é a coleção de componentes necessários para a cloud
computing. É a infraestrutura física e lógica que torna a computação em nuvem uma realidade.
A arquitetura de nuvem é destinada a fornecer aos usuários largura de banda alta, permitindo
que os usuários tenham acesso ininterrupto a dados e aplicativos. Além disso, acesso à rede
ágil sob demanda, com possibilidade de se mover de forma rápida e eficiente entre servidores
ou, até mesmo, entre nuvens, e mais importante, segurança dos dados.
O estudo do contexto de cloud computing requer a atenção para vários aspectos importantes
relacionados aos conceitos, modelos, tecnologias, mecanismos, arquiteturas, dentre outros. Os
vários tipos de mecanismos implementados nos serviços baseados em nuvem deverão ser
usados para compor as várias arquiteturas de serviços que possibilitam o oferecimento dos
mais diversos tipos de serviços.
A arquitetura de computação em nuvem pode ser dividida, sobretudo, em duas partes: front-
end e back-end. O front-end é o que o cliente usa para acessar a nuvem e o back-end é a
própria nuvem.
O front-end não precisa ter muito poder de processamento, porque a nuvem cuida de todos os
cálculos. O back-end, no entanto, refere-se à própria nuvem. Com isso, ela é composta pelos
recursos necessários para serviços de computação em nuvem. Consiste em máquinas virtuais,
servidores, armazenamento de dados, mecanismo de segurança etc. Está sob controle de
provedores.
O mediador entre o front-end e o back-end geralmente é a internet, que pode ser acessada
através de uma rede local de uma empresa ou através de redes móveis. E para que seja feita a
/
O dispositivo de armazenamento secundário proporciona aos consumidores da nuvem
continuarem acessando seus dados.
Veja agora exemplos em situações reais de aplicação de algumas arquiteturas fundamentais.
APLICAÇÃO DAS ARQUITETURAS
FUNDAMENTAIS DA COMPUTAÇÃO EM
NUVEM
Terminamos o conteúdo neste módulo e elaboramos algumas questões para você verificar o
seu nível de entendimento sobre o assunto. Se tiver alguma dúvida, não tenha receio de voltar
ao conteúdo e revisá-lo.
/
conexão entre o front-end e back-end, de forma segura, é necessário o emprego de
mecanismos de segurança para minimizar os riscos no uso da nuvem.
Os mecanismos de infraestrutura para os serviços de computação em nuvem podem ser
utilizados para a definição de diversos modelos de arquitetura fundamental de serviços em
nuvem que foram abordados neste módulo, como: arquitetura com distribuição de carga,
arquitetura com balanceamento de carga, arquitetura baseada em pool de recursos, dentre
outras.
A computação em nuvem distribui o sistema de arquivos por vários discos rígidos e máquinas.
Os dados nunca são armazenados em um único local. Portanto, no caso de uma unidade
falhar, a outra assumirá automaticamente todo serviço. O espaço em disco do usuário é
alocado no sistema de arquivos distribuído, enquanto outro componente importante é o
algoritmo para alocação de recursos. Para finalizar, a computação em nuvem é um ambiente
distribuído forte e depende de um algoritmo também forte.
Existe um conjunto de arquiteturas fundamentais, que servirão de base para a composição de
arquiteturas mais avançadas.
 PODCAST
REFERÊNCIAS
ANGONESE, César. Balanceamento de carga de trabalho em computação em nuvem
baseado em redes magnéticas virtuais. Dissertação (Mestrado em Informática) - Pontifícia
Universidade Católica do Paraná, Curitiba, 2012.
BATTISTI, J. Tutorial de TCP/IP - Júlio Battisti - Parte 30 -Configurações do DNS – Final. In:
Juliobattisti.com.br. Consultado em meio eletrônico em: 22 jul. 2020.
/
BRASIL ESCOLA. O que é hacker? In: Brasil Escola. Consultado em meio eletrônico em: 22
jul. 2020.
CANUTO, Everaldo. Balanceamento de carga fácil, barato e eficiente. In: Canaltech.
Consultado em meio eletrônico em: 22 jul. 2020.
CCM. Equipamentos rede: o comutador (switch). In: CCM. Consultado em meio eletrônico em:
22 jul. 2020.
CISCO. O que é um firewall? In: CISCO. Consultado em meio eletrônico em: 22 jul. 2020.
CONTROLE.NET. O que Failover e como funciona. In: Controle.Net. Consultado em meio
eletrônico em: 22 jul. 2020.
ENVOY, Matt Klein. Introduction to modern network load balancing and proxying. SL: SE,
2017.
ERL, Thomas; PUTTINI, Ricardo; ZAIGHAM, Mahmood. Cloud Computing: Concepts,
Technology & Architecture. New Jersey: Prentice Hall, 2013.
GOOGLE PLAY. Cloud Security Concepts, Methodologies, Tools and Applications. E-
book. Google play. Mgmt. Association Information Resources, 2020.
GRUPO BINÁRIO.IP spoofing ‒ O que é e como se proteger dele. In: Grupo Binário.
Publicado em: 22 jul. 2019.
GTA UFRJ. DNS Cache Poisoning ‒ O ataque. In: GTA UFRJ. Consultado em meio eletrônico
em: 22 jul. 2020.
KAVIS, Michael J. Architecting the cloud: design decisions for cloud computing service
models (SaaS, PaaS, and IaaS). New Jersey: John Wiley & Sons, 2014.
KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: uma abordagem
top-down. 6. ed. São Paulo: Pearson, 2013.
LITTAU, D.; BOLEY, D. Clustering Very Large Data Sets with Principal Direction Divisive
Partitioning. In: KOGAN, J.; NICHOLAS, C.; TEBOULLE, M. (eds). Springer, Berlin,
Heidelberg: Grouping Multidimensional Data, 2006
LIU, Fang et al. NIST Cloud Computing Reference Architecture Recommendations of the
National Institute of Standards and Technology. Natl. Inst. Stand. Technol. Spec. Publ. 500,
2011.
REDAÇÃO. O que é DoS e DDoS? In: Canaltech. Consultado em meio eletrônico em: 22 jul.
2020.
/
RFC 7530. Network File System (NFS) Version 4 Protocol. In: Tools. Consultado em meio
eletrônico em: 22 jul. 2020.
VIEIRA, Luis. ARP Poisoning: compreenda os princípios e defenda-se. In: Viva o Linux.
Consultado em meio eletrônico em: 22 jul. 2020.
VMWARE. O que é um hypervisor? In: VMWARE. Consultado em meio eletrônico em: 22 jul.
2020.
EXPLORE+
Para saber mais sobre os assuntos tratados neste tema, pesquise:
Sobre como avaliar a melhor arquitetura de computação em nuvem para sua empresa.
Sobre as arquiteturas front-end e back-end.
Sobre clustering de failover no Windows Server, procure na documentação da Microsoft,
Google Cloud e Amazon.
Sobre auditoria, procure pelo termo auditoria em computação em nuvem.
Sobre os principais provedores de computação em nuvem, procure por provedores de
computação em nuvem.
CONTEUDISTA
Fabio Henrique Silva
 CURRÍCULO LATTES
javascript:void(0);

Continue navegando