Características e Desafios com os serviços IAAS

É muito importante visualizar uma infra-estrutura de tecnologia da informação (TI) como um conjunto, o hardware, a rede, o software básico, os links e tantos outros componentes e conceitos que compõem um parque tecnológico. Ou seja, infraestrutura como um serviço, representa um ambiente completo e gerenciado.

O modelo de entrega IaaS consiste de vários conceitos e componentes que foram desenvolvidos e amadurecidos ao longo dos últimos anos, entretanto utilizar estes componentes juntos em um ambiente terceirizado e compartilhado revela vários desafios.

Dentre eles, destacam-se a segurança e a privacidade, como os mais significativos. [Dawoud, 2010] descreveu uma série de componentes e conceitos fundamentais ao contexto de uma IaaS, sendo estes e outros apresentados a seguir.  

Máquinas Virtuais

Representam uma unidade básica da computação no sistema, podem ser persistentes ou não. 

Com máquinas virtuais (MV) não persistentes, tudo o que foi alterado durante sua execução é perdido quando a mesma é encerrada. Dados que precisam ser preservados devem ser movidos da MV para outro meio de armazenamento antes da mesma ser encerrada. Não existe a possibilidade de parar a máquina para depois continuar o trabalho de onde parou, pois tudo que lhe diz respeito deixa de existir após o desligamento. 

Ao contrário disto, MV persistentes suportam armazenamento permanente, normalmente feito através de discos virtuais. Isto permite que uma máquina seja 21 reiniciada no mesmo estado que estava quando foi encerrada pela última vez. 

Assim com em máquinas físicas, as virtuais também são suscetíveis a falhas de hardware.

 Discos Virtuais 

Correspondem a um espaço de armazenamento permanente com tamanho configurável que pode ser disponibilizado para uma máquina virtual em execução e mesmo após o seu desligamento os dados armazenados continuam preservados.

Também são suscetíveis a falhas de hardware. 

Região Geográfica 

Embora as máquinas e os discos detenham a alcunha de virtuais este recursos existem de forma física em algum lugar.

A região geográfica corresponde ao lugar onde residem fisicamente os recursos que alimentam as entidades virtuais. A sua importância é ressaltada quando se discute sobre latência e situações de calamidade.

O tamanho de uma região geográfica varia de uma nuvem para outra, por exemplo, a Amazon utiliza regiões com milhares de quilômetros de distância, embora pequenas nuvens possam utilizar regiões para representar servidores em edifícios distintos que estejam inclusive na mesma rua. 

Normalmente, quanto maior a distância entra as regiões geográficas maior será o isolamento e a latência entre eles, tornando-se um efetivo desafio para o ambiente de nuvem. 

Zonas isoladas de falhas

Considerando falhas em grande escala, advindos de catástrofes como terremotos, furacões, etc., as regiões geográficas são muito úteis para contornar estas situações. 

Porém, as Zonas isoladas de falhas correspondem a sub-divisões das regiões geográficas, que tem o propósito, tanto quanto for possível, de separar regiões menores de possíveis falhas localizadas, como problemas em disco ou falta de 22 energia, por exemplo.

A representatividade destas zonas, assim como das regiões geográficas varia grandemente de uma nuvem para outra.

Service Level Agreement (SLA)

A computação em nuvem agrega um conjunto de complexidades ao gerenciamento das tecnologias de informação, logo se faz necessário o uso de SLA para garantir um nível aceitável da qualidade dos serviços (Quality of Services - QoS).

Um SLA é composto por uma definição do contrato, regras de negociação, regras de acompanhamento e de execução [Open Group, 2004].

A definição do contrato e a fase de negociação são muito importantes para determinar os benefícios e responsabilidades de cada parte, pois mal-entendidos podem afetar a segurança do sistema e deixar um cliente exposto a vulnerabilidades. 

As fases de acompanhamento e execução são importantes para construção de uma relação de confiança entre o provedor e o cliente que é imprescindível para uma relação duradoura. 

Nos ambientes dinâmicos das nuvens, para se impor o SLA, deve-se monitorar constantemente os atributos de QoS [Open Group, 2004]. Em [Frankova, 2007] é apresentado um Web SLA, WSLA, que é um framework com o propósito de monitorar e executar SLA em uma arquitetura orientada a serviços (SOA).

O uso de WSLA para gerenciar SLA em nuvens computacionais foi proposto em [Patel, 2009] e apresenta a idéia de delegar o controle e execução do SLA a uma terceira parte, resolvendo assim, qualquer problema de confiança. 

Normalmente, os clientes da nuvem são obrigados a confiar no monitoramento do SLA feito pelos provedores, até uma adequada padronização do ambiente da computação em nuvem, fato que é um grande desafio, a adoção de terceiros para mediar o controle de SLA parece ser uma boa solução.

Computação Utilitária 

 Não é um conceito novo e já desempenhou um papel muito importante na implantação das grades computacionais.

De forma resumida, o que acontece é que os recursos como tempo de processamento, largura de banda, capacidade de armazenamento, são encapsulados como serviços e entregues aos clientes.

Este modelo apresenta pelo menos duas grandes vantagens, uma relacionase a redução de custos, dado que o cliente não precisa possuir os recursos e só paga pelo que tiver utilizado. 

A segunda vantagem é que o modelo foi desenvolvido para suportar sistemas escaláveis, logo, se houver um rápido crescimento com grandes picos de demanda do sistema, o proprietário não terá problemas em manter sua aplicação funcionando adequadamente. 

Medição dos serviços

Considerando um quadro de cascateamento de serviços, onde um provedor de grande porte fornece um serviço para um provedor de serviço de porte médio que por sua vez também fornece serviços. 

Ambos devem medir a quantidade de serviço utilizada pelos seus clientes para a devida cobrança, porém, estas múltiplas camadas tornam os sistemas mais complexo e estas medições representam um desafio visto a necessidade de maior esforço para seu gerenciamento.

Outro desafio são os ataque feitos com a intenção de utilizar os serviços sem pagar e até mesmo controlar o gerenciamento de uma empresa em uma desta scamadas. 

Software da Nuvem 

Existem muitas implementações de software de código aberto para IaaS, como o Eucalyptus, [Eucalyptus, 2011], e o Nimbus, [Nimbus, 2011], e existem também os softwares proprietários também.

Um software da nuvem utiliza diversos componentes juntos. Normalmente não se pode dar garantias contra vulnerabilidades e bugs nos softwares disponíveis, além disso, os prestadores de serviços, normalmente fornecem APIs para executar a maioria das funções de gestão.

Como exemplo, um cliente pode usar a ferramentas Amazon EC2, que possui uma interface amplamente utilizada, para consumir serviços implementando aplicações próprias ou simplesmente pode utilizar interfaces web oferecidas pelo provedor.

Em ambos os casos, o usuário utilizará protocolos de serviços web sendo que os serviços de segurança da web são muito relevantes e representam grandes desafios na segurança dos serviços na nuvem. 

Plataforma de Virtualização

A virtualização é uma tecnologia fundamental para os serviços da nuvem. 

Vários sistemas stand-alone totalmente distintos podem ser utilizados em uma mesma plataforma de hardware. A abstração de hardware esconde a complexidade do gerenciamento de plataformas computacionais físicas e simplifica a escalabilidade dos recursos computacionais.

Desta forma, a virtualização propicia o atendimento a múltiplos usuários e a escalabilidade que são características importantes em nuvens computacionais.

Um supervisor é responsável pelo isolamento das máquinas virtuais (MV) para que elas não acessem diretamente outros discos, memórias virtuais ou aplicações no mesmo host. Em ambientes compartilhados é necessário uma configuração precisa e segura para manter o isolamento, o que normalmente representa um grande desafio.

Os provedores de serviços na nuvem empreendem um esforço substancial para proteger seus sistemas, com a intenção de minimizar as ameaças que resultam dos processos de comunicação, monitoração, alteração, migração e mobilidade, sendo que existem muitos riscos e vulnerabilidades que afetam particularmente a entrega do modelo IaaS.

Conectividade com redes e internet 

Para manter a disponibilidade e o desempenho, a infra-estrutura da nuvem utiliza múltiplas regiões geográficas para reduzir a latência e os danos provenientes de catástrofes. 

Cada site conectado localmente está ligado aos outros sites via conexões de internet de alta velocidade. O conjunto de todos os sites corresponde a infraestrutura da nuvem que atende remotamente os cliente a partir da internet.

Sendo assim, o ambiente de nuvens, herda as vulnerabilidades inerentes aos ambientes de redes e da internet sendo vulnerável a ataques como DoS (Denial of Services), MITM (Man in the middle), IP Spoofing e Port Scanning. 

Além disto, existe a possibilidade de ataques a partir de MV internas contra serviços internos, que acabam sendo mais graves porque normalmente contam com privilégios de administrador que findam por permitir a instalação e execução de aplicações maliciosas.

Outro fato relevante é o contexto dinâmico do ambiente IaaS, onde se cria, remove e migra máquinas virtuais o tempo todo, isto é um agravante a mais no desafio do planejamento de planos de defesa contra eventuais tentativas de intrusão. 

Certamente, em todo o ambiente da nuvem, o IaaS é o mais suscetível a estes tipos de ataques. 

Hardware do Computador

Uma IaaS provê uma interface para um repositório de recursos computacionais físicos distribuídos, como processador, memória, armazenamento e redes, e entrega um modelo de negócios compartilhado para atender múltiplos usuários que desejam utilizar estes recursos. 

ATIVIDADE DE FIXAÇÃO

Postagens mais visitadas deste blog

Benefícios dos Modelos PaaS

Fundamentos da Computação em Nuvem

Segurança de Acesso ao Software na Computação em Nuvem