Você está na página 1de 31

Alta disponibilidade na computação em

nuvem

Apresentação
A busca pela alta disponibilidade faz com que as empresas migrem cada vez mais para os ambientes
de nuvem, pois uma de suas maiores vantagens é a oferta de disponibilidade em torno de
99,9999%, ou seja, quase em tempo integral. Isso porque a computação em nuvem usa serviços de
virtualização, facilitando a utilização de hardware sem perdas desnecessárias e aumentando a
disponibilidade.

Quando se fala em computação em nuvem, é muito difícil pensar em indisponibilidade. No entanto,


existem vários exemplos de grandes empresas que passaram por algum período de
indisponibilidade na nuvem, devido a motivos diversos. Um deles é a plataforma de computação em
nuvem da Amazon, que, em 2011, ficou com alguns servidores indisponíveis, derrubando serviços
importantes da Web, como a rede social Foursquare, o agregador de notícias Reddit e o sistema de
perguntas e respostas Quora, além dos milhares de usuários que foram afetados. Já no Brasil, de
acordo com uma pesquisa realizada pela Global Data Protection Index, em 2018 cerca de 72% das
empresas com mais de 200 funcionários registraram incidentes com perda ou indisponibilidade de
dados.

Nesta Unidade de Aprendizagem, você vai aprender um pouco mais sobre as principais ameaças, as
causas e os desafios da alta indisponibilidade na computação em nuvem. Também vai caracterizar o
gerenciamento de disponibilidade em ambientes virtuais, bem como a importância da alta
disponibilidade de hardware, redes e software para a computação em nuvem.

Bons estudos.

Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:

• Identificar as principais ameaças, as causas e os desafios da alta indisponibilidade na


computação em nuvem.
• Caracterizar o gerenciamento de disponibilidade em ambientes virtuais.
• Discutir sobre a importância da alta disponibilidade de hardware, redes e software para a
computação em nuvem.
Infográfico
A computação em nuvem foi criada com a intenção de permitir uma alta disponibilidade. De acordo
com um artigo da Forbes, de 2019, 83% das cargas de trabalho das empresas já estão em nuvem e a
previsão é de que, em 2025, haja em torno de 25 bilhões de dispositivos IoT (Internet das Coisas).
Essa pesquisa apontou que parte dessas cargas de trabalho será mantida em nuvem pública, mas
que a maioria será dividida em nuvem privada, multicloud híbrida e ambiente local (on-premises).

No entanto, como ocorre em todo ambiente, os ambientes em nuvem também são passíves
de falhas. Uma das soluções mais eficientes para que as empresas não corram riscos de
indisponibilidade é a redundância de nuvem, pois, se uma falhar, a outra assume. Nesse contexto,
esse tipo de ambiente traz alguns desafios, como uma infraestrutura mais complexa e
a alta demanda do tráfego de dados.

Veja, no Infográfico, um pouco mais sobre os desafios das empresas frente à alta disponibilidade, as
estratégias que estão sendo utilizadas para a alta disponibilidade em nuvem, alguns desafios sobre
a complexidade desse ambiente e uma dica de como tratar um ambiente de nuvens múltiplas.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do livro
A maioria das organizações utiliza a tecnologia para fornecer seus serviços a usuários finais e
clientes. Com o crescimento da computação em nuvem, as empresas estão confiando seus serviços
de infraestrutura de TI a provedores, uma vez que são muitos os benefícios da adoção da nuvem.
Os fornecedores de serviços em nuvem prometem 99,999% de disponibilidade, porém todos os
recursos estão sujeitos a falhas, e até mesmo os maiores fornecedores em nuvem já tiveram
momentos de interrupção.

Conheça, no capítulo Alta disponibilidade na computação em nuvem, da obra Redes de alta


disponibilidade, base teórica desta Unidade de Aprendizagem, as possíveis indisponibilidades na
nuvem, a alta disponibilidade em ambientes virtuais e os recursos altamente disponíveis.

Boa leitura.
REDES DE ALTA
DISPONIBILIDADE

Juliane Adélia Soares


Alta disponibilidade
na computação em nuvem
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:

„„ Identificar as principais ameaças, as causas e os desafios da alta indis-


ponibilidade na computação em nuvem.
„„ Caracterizar o gerenciamento de disponibilidade em ambientes
virtuais.
„„ Discutir sobre a importância de alta disponibilidade de hardware,
redes e software para a computação em nuvem.

Introdução
As organizações estão migrando cada vez mais para a computação em
nuvem, devido aos inúmeros benefícios, tanto operacionais quanto fi-
nanceiros, que essa tecnologia acrescenta para os negócios. No entanto,
embora o ambiente seja projetado para gerar alta disponibilidade para
seus clientes, os recursos computacionais estão sempre sujeitos a falhas,
inclusive por acidentes e causas naturais.
Neste capítulo, você conhecerá as possíveis indisponibilidades na
nuvem. Além disso, verá como é feito o gerenciamento de alta dispo-
nibilidade em ambientes virtuais. Por fim, verá quais são os recursos
altamente disponíveis.
2 Alta disponibilidade na computação em nuvem

1 Indisponibilidade na computação em nuvem


A computação em nuvem se tornou um componente fundamental para um
ambiente de alta disponibilidade, principalmente em virtude da redução de cus-
tos, pois torna-se extremamente caro possuir internamente uma infraestrutura
altamente disponível. Como é imprescindível manter recursos redundantes,
muitas organizações confiam em fornecedores de nuvem para operar e fornecer
os serviços de infraestrutura de tecnologia da informação (TI).
Com a adoção da computação em nuvem, toda essa função e responsabi-
lidade é do provedor contratado. Para o provedor, os riscos de uma indisponi-
bilidade são basicamente os mesmos de uma infraestrutura tradicional, desde
falhas de hardware, software, redes até falhas de armazenamento e segurança.
Raza (2019) destaca que as interrupções na nuvem podem resultar de uma
variedade de causas dentro e fora do controle dos fornecedores da nuvem.
O autor cita as seguintes causas comuns de interrupções na nuvem:

„„ Segurança: a nuvem não está livre de ataques cibernéticos, como o


DDoS (Distribuited Denial of Service; ou Negação de Serviço Distri-
buído, em português). O DDoS, também conhecido como ataque de
negação de serviço distribuído, é uma tentativa de sobrecarregar os
servidores para que os recursos dos sistemas fiquem indisponíveis para
os usuários. Nesse ataque, um computador pode gerenciar até milhões
de computadores, fazendo eles acessarem um determinado recurso
em um determinado servidor, todos ao mesmo tempo, de maneira
ininterrupta. Isso gera uma sobrecarga, impossibilitando o servidor de
atender a qualquer pedido dos usuários legítimos do sistema. Embora
haja sistemas de proteção adequados, os hackers conseguem explorar
brechas ocultas, que acionam o mecanismo de proteção que isola os
serviços de usuários, vazam dados e podem até mesmo tornar o sistema
indisponível por completo.
„„ Erro humano: as pessoas são muito suscetíveis a errar. Um único
comando incorreto pode reduzir potencialmente todo o serviço de in-
fraestrutura de TI. Embora existam protocolos e sistemas rigorosos para
evitar imprevistos, às vezes, eles inevitáveis. A Amazon Web Service
(AWS) passou por isso em 2017, quando um erro de digitação deixou
um data center por mais de três horas inativo, derrubando diversos
servidores virtuais e impactando, inclusive, a Netflix e o Spotify.
Alta disponibilidade na computação em nuvem 3

„„ Problemas de software: a infraestrutura em nuvem é um sistema


complexo que envolve tecnologias de software e hardware. As falhas
causadas por bugs são praticamente inevitáveis em data centers de
nível corporativo que prestam serviços para organizações de todos os
tamanhos e setores. Além disso, elas podem ocorrer devido a envelhe-
cimento do software, erros no design do aplicativo e algum software
malicioso. Se ignorados, esses problemas podem acabar se tornando
um incidente de serviço real que afetará a todos os usuários finais.
Quando não é possível uma resolução imediata ou ocorre um problema
com causa e solução desconhecidas, o serviço pode ficar indisponível.
„„ Falhas físicas: as falhas no hardware se propagam verticalmente ao
longo da hierarquia do sistema da nuvem, ou seja, elas iniciam da
camada física e se propagam para as camadas de virtualização e apli-
cativo. Contudo, elas também podem se propagar horizontalmente e
afetar vários componentes do hardware, causando indisponibilidade
dos servidores. Por exemplo, a falha de um servidor pode produzir
sobrecarga de tráfego nos demais servidores no pós-falha caso eles não
estejam capacitados para o recebimento das cargas extras, causando,
posteriormente, falhas em mais servidores.
„„ Problemas de rede: os fornecedores de nuvem podem fazer parceria
com provedores de serviços de telecomunicações, que operam as redes
de comunicação a longas distâncias. Quando o problema é associado a
redes externas, a resolução pode estar fora do alcance do provedor de
serviços, principalmente em termos de resolução de um problema de
conectividade. Além disso, quando a falha ocorre fora da organização
e a solução está além de seus controles internos, pode ocorrer indispo-
nibilidade se o serviço da empresa de telecomunicações não garantir
a rápida resolução do problema.
„„ Manutenção: na computação em nuvem, os fornecedores dos serviços
são responsáveis pelas operações, pelas manutenções e pelo gerencia-
mento da infraestrutura de TI. Assim, eles devem garantir a melhora
dos serviços continuamente, incluindo manutenção e atualizações
agendadas e não programadas. Contudo, esses procedimentos podem
exigir interrupção dos serviços, transferência de cargas de trabalho
entre data centers ou correções gerais, que exigem uma reinicialização
completa do sistema. Durante esse período, o serviço poderá perma-
necer indisponível para os usuários finais, o que é considerado uma
interrupção na nuvem.
4 Alta disponibilidade na computação em nuvem

„„ Acidentes e desastres naturais: enchentes, incêndios, tempestades


ou terremotos podem atingir o data center de um provedor, causando
um grande estrago, pois deixariam vários sistemas indisponíveis e
causariam a perda de dados de todos os clientes.

Leia no site Tecnoblog, mais informações sobre a interrupção na AWS devido a um


erro humano e entenda o impacto que isso pode causar para um serviço em nuvem.

Os riscos apresentados não são de exclusividade da computação em nu-


vem, porém, caso essas situações ocorram em um data center de nuvem,
muitas organizações e usuários serão afetados ao mesmo tempo, causando
uma indisponibilidade muito grande, além de afetar diversos setores e causar
muitos prejuízos operacionais e financeiros aos clientes. Desse modo, se não
mantiver uma infraestrutura e um gerenciamento que atendam aos requisitos
do SLA (Service Level Agreement; Acordo de Nível de Serviço, em português),
a fim de proporcionar alta disponibilidade a seus clientes, o provedor terá de
arcar com as multas pelas indisponibilidades ou até mesmo passará por uma
rescisão contratual.
Implantar a computação em nuvem é uma ótima alternativa para a alta
disponibilidade dos negócios, porém não basta contratar servidores na nuvem
e achar que isso garantirá a disponibilidade. Como visto, a nuvem também
apresenta riscos de indisponibilidade, riscos estes muitas vezes inevitáveis.
Sendo assim, o provedor deve oferecer garantia de alta disponibilidade para
os seus contratantes, entregando uma infraestrutura quase 100% disponível.
Para tanto, existem alguns desafios, como os listados a seguir.

„„ Redes de servidores redundantes: os provedores da nuvem devem


possuir servidores redundantes em locais diferentes conectados via rede.
Por exemplo, possuir VMs (virtual machines; ou máquinas virtuais, em
português) redundantes é extremamente necessário, porém elas devem
estar em servidores fisicamente diferentes para garantir a disponibili-
dade, visto que, se ocorrer uma falha de hardware no servidor, todas
as VMs nele configuradas serão afetadas. Portanto, se os servidores
principais apresentarem problemas, toda a carga de trabalho é transferida
Alta disponibilidade na computação em nuvem 5

para o servidor em espera, garantindo o seu total funcionamento. Outro


ponto importante para manter a comunicação entre esses servidores é
possuir planos de internet de operadoras diferentes, para não correr o
risco de faltar comunicação entre os servidores e entre os data centers
e os usuários.
„„ Planos de recuperação de desastre: os provedores devem possuir
data centers redundantes em outras regiões, pois, caso ocorra um de-
sastre natural ou acidental que venha a atingir o data center principal,
a disponibilidade dos serviços e dos dados dos usuários estará garantida,
desde que seja seguida uma rotina de backups regulares. Por exemplo,
em uma empresa X, houve um incêndio que causou indisponibilidade
a todos os seus clientes durante horas. Isso ocorreu porque a empresa
possuía todo o seu data center no mesmo prédio, de modo que, embora
o incêndio não tenha afetado a todos, pois foi controlado rapidamente,
toda a energia do prédio teve de ser desligada até ser realizada a perícia
para encontrar a causa do incidente. Portanto, mesmo os servidores
redundantes, programados para receber a carga em caso de falhas,
foram desligados, de modo que todos os usuários que utilizavam os
serviços do provedor foram afetados.
„„ Proteção dos dados: a computação em nuvem deve garantir maior
disponibilidade à rede por meio das políticas de segurança adotadas.
Os níveis de acesso dos usuários devem ser predefinidos para que eles
possam acessar seus sistemas com logins e senhas. Todas as senhas
e os dados armazenados na nuvem devem ser criptografados para se
tornarem ilegíveis em casos de invasão. Desse modo, se ocorrer uma
invasão e tentativa de exclusão de informações, os backups garantem
a recuperação.
„„ Garantia de backups: grande parte da disponibilidade da rede depende
dos backups, os quais garantem o acesso praticamente imediato a dados
e sistemas, principalmente no momento em que ocorrer uma falha no
servidor principal. Então, é de responsabilidade do provedor utilizar
ferramentas que automatizem os processos de cópias.
„„ Disponibilidade necessária: uma das características essenciais da
computação em nuvem é a elasticidade rápida, de modo que uma nuvem
altamente disponível deve estar preparada para receber o aumento
da demanda de seus usuários, a fim de garantir que não ocorram so-
brecargas que indisponibilizem a rede devido ao aumento de uso dos
recursos disponíveis.
6 Alta disponibilidade na computação em nuvem

É importante destacar a necessidade da definição de SLAs entre clientes e


servidores para entender às expectativas do cliente em relação à nuvem, bem
como as obrigações do provedor de garantir a alta disponibilidade. Critchley
(2015) afirma que os SLAs para computação em nuvem são mais difíceis de
definir, pois o ambiente operacional não é controlado pela organização do
cliente, que deve definir as expectativas, e o provedor da nuvem precisará
mapeá-las no ambiente em nuvem. O autor acrescenta, ainda, que os SLAs
variam de acordo com o modelo de serviço (IaaS, PaaS e SaaS) escolhido pela
organização e cita dez áreas de SLAs que um cliente e um fornecedor de nuvem
precisam considerar e concordar, descritas a seguir (CRITCHLEY, 2015).

„„ Entender os papéis e as responsabilidades: devem ser definidas quais


as atribuições do provedor e quais as do cliente. Por exemplo, deve-se
definir quem é responsável por detectar e relatar as ocasiões em que o
serviço de nuvem falha.
„„ Avaliar políticas de nível de negócios: ao escolher o provedor do
serviço, os clientes devem considerar os requisitos de política e con-
formidades relevantes para eles, pois cada provedor tem suas políticas
já expressas em relação à legislação e à proteção de dados, que podem
não se encaixar com o que o usuário necessita.
„„ Entender as diferenças de modelo de serviço e implantação: para cada
um dos modelos de serviço da nuvem, existem diferenças significativas
em relação a abstração, objetivos de nível de serviço e indicadores de
desempenho. Então, o SLA deve declarar as métricas para cada um dos
modelos, conforme os serviços contratados pelo cliente, além de conter
a especificação de qual modelo de implantação (nuvem privada, comu-
nitária, pública ou híbrida) está sendo contratado e quais tecnologias
de implantação serão adotadas.
„„ Identificar objetivos críticos de desempenho: as metas de desempe-
nho na computação em nuvem estão diretamente relacionadas com a
eficiência e a precisão da prestação de serviços pelo provedor. Disponi-
bilidade, tempo de resposta e velocidade de processamento são algumas
das considerações típicas de desempenho. A partir disso, os clientes
devem decidir quais medidas são mais críticas para seu ambiente de
nuvem específico e garantir que essas medidas sejam incluídas no SLA.
Alta disponibilidade na computação em nuvem 7

„„ Avaliar os requisitos de segurança e privacidade: as posturas de


segurança, as políticas de respostas e os esquemas de controle de um
provedor devem ser integradas aos do consumidor. Contudo, a base
necessária para a segurança independe da solução em nuvem a ser
utilizada, pois é um esquema de classificação de segurança que se
aplica a toda a empresa e se baseia na criticidade e na sensibilidade dos
ativos da empresa. A classificação deve ser a base para a aplicação de
métodos de controle de acesso, arquivamento e criptografia. Em relação
à privacidade, quando os dados de uma empresa são transferidos para
a nuvem, a obrigação de protegê-los é do provedor. Portanto, deve ser
definido no SLA que qualquer perda, dano ou uso indevido dos dados
é de responsabilidade do prestador de serviço.
„„ Identificar os requisitos de gerenciamento de serviço: todo sistema
de computação requer controles internos, gerenciamento, automação
e autocura. Na nuvem, esses gerenciamentos devem se aplicar a todas
as camadas de serviço, como fornecimento de infraestrutura principal,
operadoras de rede e ISP (Internet Service Provider; ou Provedor de
Serviço Internet, em português), armazenamento de dados com ou sem
backup e espelhamento e aplicativos com ou sem armazenamento de
dados. O SLA deve incluir disposições para auditoria, monitoramento
e relatórios, medição de uso de serviço, provisionamento de serviços,
mudança de gestão, atualizações e patches (programas de computador
criados para atualizar ou corrigir um software).
„„ Preparar-se para o gerenciamento de falhas de serviço: o gerencia-
mento de falhas de serviços está relacionado com o que ocorre quando
um serviço em nuvem não é entregue de maneira satisfatória. Assim, no
SLA, devem ser definidos objetivamente os recursos e o desempenho
esperados do provedor, para que uma falha seja reconhecida como tal.
A preparação para o gerenciamento de falhas deve ter como objetivo
reduzir o impacto e a duração da falha.
„„ Entender o plano de recuperação de desastres: o plano de recuperação
de desastres (DR, disaster recovery) para os clientes é de extrema im-
portância quando eles migram para a nuvem, pois estão deixando seus
dados e sistemas sob a responsabilidade de terceiros. Então, no SLA,
devem ser definidos princípios do plano de DR: cada cliente tem prio-
ridades únicas, como a importância de seus componentes e aplicativos
de infraestrutura, então um plano de DR de nuvem é específico para
cada empresa, sendo orientado por essas prioridades; o processo começa
com a identificação e a priorização de aplicativos, serviços e dados;
8 Alta disponibilidade na computação em nuvem

os objetivos de tempo de recuperação (RTO, recovery time objective) e


os objetivos de ponto de recuperação (RPO, recovery point objective)
são estabelecidos separadamente para cada serviço, a fim de minimizar
o impacto nos negócios; o plano de DR deve ser testado regularmente.
„„ Definir um processo de gerenciamento eficaz: no SLA, devem ser
definidos processos de governança fortes e detalhados dentro da orga-
nização do cliente, para o uso dos serviços em nuvem. A primeira parte
diz respeito ao controle e à supervisão das etapas anteriores, ao passo
que a segunda parte do processo é a necessidade da revisão contínua do
uso de todos os serviços em nuvem, a fim de garantir que eles atendam
aos requisitos de negócios e resultem na satisfação do usuário.
„„ Entender o processo de saída (p. ex., no caso de não cumprimento
dos critérios do SLA): no SLA, deve ser definido um plano de saída
do cliente, seja por incapacidade do provedor de entregar os níveis de
serviço exigidos, ou, quando antes do término do contrato, pelo fato
de que o cliente deseja realizar a mudança para um novo provedor.
Esse plano garante a eficiência dos procedimentos para transferir com
segurança e rapidez dados e aplicativos dos usuários para o outro ser-
viço, garantindo a continuidade dos negócios. Além disso, devem ser
especificadas métricas para assegurar que o provedor de nuvem esteja
implementando efetivamente esses procedimentos.

2 Disponibilidade em ambientes virtuais


Os provedores de computação em nuvem utilizam VMs em seus servidores,
de modo a reduzir custos, melhorar a gestão do ambiente de TI e aumen-
tar a disponibilidade. Um ponto positivo de se utilizar várias VMs em uma
única infraestrutura física é que os recursos de hardware são aproveitados
ao máximo, pois atingem a maior parte do processamento do hardware.
A utilização da virtualização em ambientes de computação em nuvem traz
inúmeras vantagens, pois as VMs apresentam certas flexibilidades, como as
listadas a seguir.

„„ Particionamento: possibilidade de várias aplicações e sistemas ope-


racionais serem suportados em um único servidor físico, bem como a
divisão de recursos de acordo com a necessidade de cada usuário que
está acessando a VM.
Alta disponibilidade na computação em nuvem 9

„„ Isolamento: cada VM é isolada do hardware do host e das outras


VMs presentes no mesmo host. Sendo assim, se uma das VMs falhar,
as demais não serão afetadas.
„„ Multitenancy: é a capacidade da aplicação de suportar a execução de
diversos usuários ou grupos de usuários, em que cada um terá seus
dados separados, configurações próprias e funcionando de forma in-
dependente, porém com uma única aplicação rodando. Na computação
em nuvem, a virtualização cria um modelo de múltiplos inquilinos,
flexibilizando o compartilhamento de uma única infraestrutura física
de um provedor entre vários usuários.
„„ Mapeamento dinâmico: o sistema consegue medir de maneira auto-
matizada o uso dos recursos, fazendo a distribuição de armazenamento,
processamento, memória e largura de banda de acordo com o uso va-
riável de cada cliente.

Contudo, apesar da flexibilidade apresentada com a utilização de VMs, exis-


tem riscos que podem causar indisponibilidade dos serviços em um ambiente
não projetado para a alta disponibilidade. Os riscos citados na seção anterior
também devem ser considerados aqui, porém o maior risco de disponibilidade
que as VMs podem apresentar é o SPoF (Single Point of Failure; ou Ponto
Único de Falha, em português).
Possuir diversos servidores virtuais configurados em um único servidor
físico é uma grande vantagem, porém acaba se tornando um SPoF, pelo mesmo
motivo. A virtualização em um servidor host executará várias cargas de
trabalho de produção, de modo que precisa ser altamente disponível. Então,
um único problema no hardware ou no hypervisor (virtualizador; i.e., quem
executa a comunicação entre as máquinas virtuais e os recursos físicos) pode
tornar todas as VMs indisponíveis, causando um grande transtorno a todos
os usuários que dependem do funcionando dos sistemas nelas configurados.
Salvador (2019) descreve algumas abordagens utilizadas para manter as
aplicações em execução em tempo integral, são elas:

„„ Clustering: essa solução envolve agrupar hypervisors através de múltiplos


servidores físicos, para que, caso ocorra uma falha em algum deles, as VMs
ativas sejam transferidas para outro servidor. Os servidores se comunicam
por meio de mensagens de heartbeat, de modo que o servidor secundário
entende que o primário falhou e, então, assume as cargas de trabalho para
elas que não fiquem indisponíveis. O heartbeat funciona como um pulso
cardíaco, o qual recebe e envia sinais entre os nós de um cluster para iden-
10 Alta disponibilidade na computação em nuvem

tificar quando um deles falha, a fim de que não ocorra indisponibilidade


das VMs afetadas, eliminando, assim, o SPoF do ambiente.
„„ Armazenamento compartilhado: como uma VM pode ser movida
entre diferentes hosts físicos e os hardware podem falhar, os dados
não devem ser armazenados localmente em cada servidor. Para que
as informações se mantenham seguras e acessíveis, faz-se necessária
a utilização de um armazenamento compartilhado, conhecido como
Disk Array (ou Matriz de Disco). O Disk Array é um sistema de ar-
mazenamento em disco que contém várias unidades de disco. Esses
sistemas de armazenamento utilizam hardware e software especiais,
juntamente aos drives de disco, visando a fornecer um armazenamento
rápido e confiável, com proteção avançada para o processamento de
dados. Dentro desse contexto, há normalmente dois tipos básicos de
virtualização que podem ocorrer: virtualização em bloco, que são redes
de armazenamento distribuído que aparentam ser um único dispositivo
físico; e virtualização em arquivos, em que o sistema de armazenamento
concede acesso a arquivos armazenados em vários hosts.
„„ Alta disponibilidade: se alguma falha no sistema operacional for
detectada, o hypervisor automaticamente reinicializa a VM que se
encontra com falha. Se o hardware subjacente de uma VM apresentar
interrupção, ele reiniciará a aplicação em outro servidor físico.
„„ Tolerância a falhas: a tolerância a falhas busca contornar os problemas
das VMs e prover sua disponibilidade contínua, mesmo com alguma
falha no servidor, pois o serviço cria uma instância cópia (i.e., uma
VM redundante que está em sincronia com a original), de modo que,
ao ser ativada, ela se encontre atualizada. Ou seja, é um método de
espelhamento. A instância cópia assumirá o controle imediatamente
se a VM de produção se tornar indisponível.

Todas essas abordagens podem ser observadas nas Figuras 1 e 2. Na Figura 1,


existem três servidores físicos, com um hypervisor instalado em cada um
deles, sendo que os servidores físicos 1 e 3 possuem duas VMs em execução
em cada um deles e o servidor 2 executa apenas uma VM. Todas as VMs estão
compartilhando o acesso em um dispositivo de armazenamento. O cluster
do hypervisor é ativado e controlado por meio de um gerenciador central
da infraestrutura virtualizada (VIM, virtualized infrastructure manager).
O VIM gerencia e controla os recursos físicos e virtuais de uma rede, enviando
mensagens regulares de heartbeat entre os servidores físicos para confirmar
que todos estão em funcionamento.
Alta disponibilidade na computação em nuvem 11

Servidor Servidor Servidor Servidor Servidor


virtual virtual virtual virtual virtual
A B C D E

Hypervisor Hypervisor Hypervisor

Servidor Servidor Servidor


físico A físico B físico C

5
Mensagens
VIM de hearbeat

Figura 1. Abordagens de disponibilidade para VMs antes da falha.


Fonte: Adaptada de Erl, Mahmood e Puttini (2013).

Na Figura 2, a seguir, é possível observar a ocorrência da falha no servidor


físico 2, que ficou indisponível. Quando os outros servidores físicos e o VIM
param de receber as mensagens de heartbeat do servidor físico 2, o VIM analisa
a capacidade disponível em todos os hypervisors do cluster e escolhe qual
possui maior capacidade. Nesse exemplo, a escolha foi pelo servidor físico 3.
Por meio do dispositivo de armazenamento compartilhado, que contém os
arquivos de configuração dos servidores virtuais, é realizada a migração ao
vivo da VM C (live VM migration), que é um sistema capaz de realocar os
servidores virtuais ou instâncias de servidor virtual em tempo de execução.
12 Alta disponibilidade na computação em nuvem

Essa migração permite mover de forma transparente as VMs de um host para


outro, com tempo de inatividade quase impercebível. A migração ao vivo da
VM C só é possível devido ao compartilhamento de armazenamento, pois
ela só migra o estado do sistema e o conteúdo dinâmico da memória. Sendo
assim, o servidor virtual C é migrado ao vivo para o hypervisor em execução
no host físico 3 até que o servidor 2 esteja apto a retomar as operações normais.

Migração ao vivo da VM

Servidor Servidor orr


o
Servidor S
Servidor Servidor
virtual virtual al
virtual virtual virtual
A B C D E

Hypervisor Hypervisor

Servidor Servidor Servidor


físico 1 físico 2 físico 3

VIM

Figura 2. Abordagens de disponibilidade para VMs após a falha.


Fonte: Adaptada de Erl, Mahmood e Puttini (2013).
Alta disponibilidade na computação em nuvem 13

3 Recursos altamente disponíveis


A nuvem possui uma arquitetura que descreve o seu mecanismo de trabalho.
Ela pode ser dividida em quatro camadas, com base no acesso da nuvem pelo
usuário, conforme a Figura 3. Essas camadas são rigorosas e, para qualquer
aplicativo em nuvem, devem ser seguidas.

Camada 1: Camada usuário/cliente

Camada 2: Camada de rede

Camada 3: Camada de gerenciamento de nuvem

Camada 4: Camada de recursos de hardware

Figura 3. Arquitetura da nuvem.


Fonte: Adaptada de Chandrasekaran (2015).

Apesar de transparente para o usuário, a computação em nuvem dentro dos


provedores é dependente dos recursos subjacentes, como hardware, software
e rede. Sem o pleno funcionamento deles, os provedores não conseguem dis-
tribuir os seus serviços aos clientes, e qualquer falha, em qualquer um deles,
pode acarretar sérios problemas, tanto para o prestador dos serviços como
para inúmeros clientes que dependem desses serviços. Nesta seção, daremos
destaque apenas às camadas dois, três e quatro, para citar a importância da
alta disponibilidade de cada uma delas para a nuvem. Essas camadas são
descritas a seguir (CHANDRASEKARAN, 2015).
14 Alta disponibilidade na computação em nuvem

„„ Camada 2 – Camada de rede: camada que permite a conexão dos


usuários com a nuvem. A computação em nuvem, assim como a maioria
dos aplicativos empresariais, depende totalmente da conectividade da
rede. Portanto, a internet deve estar continuamente disponível para que
o consumidor possa acessar o serviço, uma vez que toda a comunicação
entre provedor e cliente é realizada através da rede. A computação
em nuvem é uma técnica de compartilhamento de recursos em que
servidores, armazenamento e outras infraestruturas de computação
em vários locais são conectados por redes. Desse modo, o desempenho
da rede é um dos principais fatores de determinação de desempenho
da nuvem. Para acessar a nuvem, faz-se necessário ter uma largura de
banda mínima, que pode ser definida pelo provedor. Contudo, essa
camada não se enquadra no âmbito dos SLAs, ou seja, não é levada
em consideração a conexão entre o usuário e a nuvem para a qualidade
de serviço.
„„ Camada 3 – Camada de gerenciamento da nuvem: essa camada
consiste em software utilizados no gerenciamento da nuvem. Esses
software geralmente permitem o gerenciamento de recursos, a otimi-
zação e a governança interna da nuvem. Essa camada é de competência
dos SLAs, de modo que qualquer atraso no processamento, ou qualquer
discrepância no fornecimento de serviços, pode levar a uma violação
do SLA, o que resultaria em uma penalidade aplicada ao provedor de
serviços.
„„ Camada 4 – Camada de recursos de hardware: essa camada consiste
em provisões reais de hardware. Em geral, é utilizada em um data
center, sendo a camada mais importante que está sob a alçada dos
SLAs. Sempre que um usuário acessa a nuvem, ela deve estar disponível
o mais rápido possível e dentro do tempo definido pelos SLAs, uma
vez que pode haver penalidade ao provedor caso haja discrepância no
provisionamento dos recursos ou aplicativos. Pode haver vários data
centers para uma nuvem e várias nuvens podem compartilhar um data
center. A disponibilidade das camadas de hardware e software andam
juntas. Se o hardware falha, o hypervisor também perde seu funcio-
namento e, consequentemente, todas as VMs hospedadas neste host
também irão parar. Os provedores de nuvem têm obrigação de garantir
a alta disponibilidade a seus clientes. No entanto, nenhum recurso da
infraestrutura da nuvem está livre de falhar, assim como ocorre em
servidores tradicionais, por isso, o clustering de host se torna a melhor
opção para garantir o funcionamento em full-time aos consumidores.
Alta disponibilidade na computação em nuvem 15

A Figura 4, a seguir, apresenta um exemplo sobre a dependência entre


software, hardware e VMs.

Servidor virtual A Servidor virtual B


Servidor virtual A Servidor virtual B indisponível indisponível

Hypervisor Hypervisor

1 2

Servidor físico A Servidor físico A


desligado
Figura 4. Falha de hardware e software.
Fonte: Adaptada de Erl, Mahmood e Puttini (2013).

A Figura 5, a seguir, mostra um servidor físico A e um servidor físico B.


Se o servidor A ficar indisponível, ele será migrado para o servidor B, que
possui outro hypervisor que faz parte do cluster. Essa migração também ocorre
se apenas o hypervisor principal falhar, por isso a necessidade do clustering.
16 Alta disponibilidade na computação em nuvem

Servidor virtual A Servidor virtual A

Hypervisor Hypervisor

Host com Novo


falha host

Servidor físico A Servidor físico B

Figura 5. Clustering.
Fonte: Adaptada de Erl, Mahmood e Puttini (2013).

A comunicação entre os cluster é realizada através da rede, ou seja, todos


os componentes subjacentes da arquitetura da computação em nuvem são
dependentes um do outro. A indisponibilidade de qualquer um desses recursos
causa a indisponibilidade de todo um ambiente em nuvem. Por mais isoladas
do hardware que as VMs estejam, ele é a base para as suas criações, assim
como a rede é a base para o funcionamento do software, tanto interna quanto
externamente. Desse modo, a alta disponibilidade se torna imprescindível em
qualquer uma das camadas da infraestrutura.
Como visto, indisponibilidades podem ocorrer na computação em nuvem,
porém muitas das falhas que ocorrem são inevitáveis, principalmente as que
fogem da alçada dos administradores de redes, como acidentes ou desastres
naturais. Uma arquitetura em nuvem é dependente de seus componentes
subjacentes, como hardware, software e rede, de modo que todos devem ser
projetados para a alta disponibilidade, pois se qualquer um deles falhar, todas
as VMs disponibilizadas no host falharão também, afetando todos os usuários
que utilizam seus serviços. No mundo dos negócios, qualquer segundo de
indisponibilidade pode causar enormes prejuízos operacionais e financeiros
tanto para usuários como para fornecedores, daí a importância de possuir
ambientes altamente redundantes e disponíveis.
Alta disponibilidade na computação em nuvem 17

CHANDRASEKARAN, K. Essentials of cloud computing. Boca Raton: CRC, 2015.


CRITCHLEY, T. High availability: IT services. Boca Raton: CRC, 2015.
ERL, T.; MAHMOOD, Z.; PUTTINI, R. Cloud computing: concepts, technology and archi-
tecture. Upper Saddle River: Prentice Hall, 2013.
RAZA, M. What is a cloud outage? Cloud outages explained. Irvine: BMC, 2019. Disponível
em: https://www.bmc.com/blogs/cloud-outage/. Acesso em: 4 jun. 2020.
SALVADOR, M. B. Guia de virtualização: eclipse software. [S. l.]: Elipse Knowledgebase,
2019. Disponível em: https://kb.elipse.com.br/guia-de-virtualizacao-elipse-software/.
Acesso em: 5 jun. 2020.

Leituras recomendadas
BAUER, E.; ADAMS, R. Reliability and availability of cloud computing. New York: John
Wiley & Sons, 2012.
CLOUD STANDARDS CUSTOMER COUNCIL. Practical guide to cloud service agreements:
version 2.0. Needham: OMG, 2015. Disponível em: https://www.omg.org/cloud/delive-
rables/CSCC-Practical-Guide-to-Cloud-Service-Agreements.pdf. Acesso em: 5 jun. 2020.

Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
Dica do professor
O ambiente em cloud computing utiliza o modelo em nuvem, para otimização do ambiente e
tecnologias. No entanto, o ambiente virtualizado traz consigo algumas vulnerabilidades específicas,
que podem comprometer a alta disponibilidade dos serviços em nuvem.

Confira, nesta Dica do Professor, um pouco sobre essas vulnerabilidades de tecnologia


compartilhada. Ou seja, infraestrutura virtual, virtualização de tecnologia em nuvem, modelos de
tecnologa em nuvem, vulnerabilidades em nuvem e em erros de configuração.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Na prática
A alta disponibilidade tornou-se uma necessidade para as empresas que buscam maior competição
no mercado, fazendo com que os clientes não desistam de seus serviços por lentidão ou
indisponibilidade, indo para a concorrência. Nesse sentido, quando as empresas procuram serviços
de nuvem, devem levar em consideração várias questões, até mesmo para saber qual o melhor
ambiente para disponibilizar seus serviços e dados. Para isso, é importante considerar o tipo de
informações, a segurança, a agilidade e os investimentos necessários, visto que há várias
possibilidades de serviços em nuvem, como a pública, a privada e a híbrida.

Confira, Na Prática, como escolher um provedor de computação em nuvem a partir do caso da


empresa MZA Marketing Corporativo, que deseja migrar para a nuvem e precisa analisar a melhor
estratégia a ser implementada, considerando seus ativos. O modelo utilizado para a decisão é
baseado em estudos do instituto Cloud Security Alliance (CSA).
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:

O imperativo da complexidade da nuvem


Este artigo avalia os motivos para levar as organizações a unificar e simplificar o gerenciamento de
seus ambientes de nuvem, cada vez mais em expansão, mostrando o quanto podem ganhar em
experiência e facilidade de gerenciamento da nuvem.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

ARQDEP: Arquitetura de computação em nuvem com


dependabilidade
Nas páginas 48 a 52 e 55 a 84 deste material, você confere uma avaliação da computação em
nuvem como uma tecnologia que requer confiança entre provedor e consumidores. O texto
também aborda as definições de computação em nuvem e os conceitos de dependabilidade
inseridos, como as ameaças. Além disso, é apresentada a arquitetura de computação em nuvem
com dependabilidade, denominada ArqDep.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Análise de sensibilidade aplicada à identificação de pontos que


requerem melhoria na disponibilidade em infraestrura de
Cloud
Aqui você confere uma análise da sensibilidade aplicada à identificação de pontos de melhorias na
infraestrutura de nuvem visando a uma melhor disponibilidade. Para isso, é apresentada uma
metodologia aplicada ao domínio dos sistemas em nuvem, combinando proposta e adequação das
estratégias para uma análise de sensibilidade com métodos já existentes.

Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.

Você também pode gostar