quarta-feira, 23 de abril de 2014

Cloud Computing - Tudo nas Nuvens

             
        




O que é Cloud Computing ?

Você deve ver diagramas de redes com uma  nuvem de fumaça representando componentes que ficam ocultos para os usuários. 
A nuvem fornece a noção de que você realmente não saber a localização ou o número de servidores que entregam os serviços.
A sensação que se tem é a que quando você pede um serviço - basta dizer : quero uma conexão de voz; uma web-conferência; ou meu status da  taxa de retorno sobre investimentos - e então,  por alguma razão mágica, Zás...

                             
você recebe o que pediu.  


Embora saibam disto ou não, muitas pessoas usam serviços da computação em nuvem para seu uso pessoal. Por exemplo, muitas pessoas usam sites de redes sociais ou webmail, e estes são serviços de cloud computing.
Fotografias que as pessoas antes mantinham em seus próprios computadores, estão sendo agora, armazenadas em servidores pertencentes a serviços terceirizados. Estes também são serviços de computação em nuvem.
Serviços em nuvem são populares porque as pessoas podem acessar seus e-mails, sites de rede social ou serviços de foto de qualquer lugar do mundo, em qualquer tempo, com mínimo ou nenhum custo.
Portanto, de forma simplificada, computação em nuvem, é a entrega de serviços de computação pela internet.Alguns provedores  em nuvem podem entretanto, utilizar informação pessoal de seus usuários para propósito de markting ou para conhecer mais sobre seus usuários para outras razões.

O escritório de comissão de privacidade do Canadá (OPC) tem sido critica com algumas destas praticas, principalmente porque elas ocorrem sem o pleno conhecimento por parte do usuário que suas informações individuais, estão sendo usadas na nuvem. 
As pessoas devem ter cuidadosa atenção para escolher como a companhia de computação em nuvem protege suas informações pessoais.
Os usuários devem também proteger suas informações pessoais usando qualquer aplicação de privacidade que o serviço possa oferecer. 

A seguinte definição  de cloud computing tem sido apresentada pela a US. National Institute of Standarts and Technology (NIST)
Cloud computing é um modelo para habilitar convenientemente, um acesso de rede sobre demanda  a um conjunto compartilhado de recursos configuráveis de computação. 
Por exemplo, serviço de rede, servidores, armazenamento, aplicações e serviços que podem ser rapidamente fornecido e apresentados com o mínimo gerrenciamento de  esforço ou interação com provedor de serviços.
                
Este modelo de nuvem promove disponibildades e é composto de cinco essenciais características, três modelos de serviços e quatro modelos de utilização.

Modelos de Serviço 

Software como um serviço (SaaS) habilitação para assinantes de serviços acessar uma aplicação de software proveniente de um software de vendas pela web.

Plataforma como um serviço (PaaS) deixar uma capacidade de computação e espaço em disco disponivel em uma plataforma de recursos na rede da nuvem(cloud computimg). Um exemplo recente é o Google app Engine, uma ferramenta de desenvolvimento que habilita os desenvolvedores criar aplicações em escala para a Web e acioná-las na infra-estrutura do Google (icluindo 500 MB de armazenamento persistente e largura de banda e CPU capaz de habilitar 5 milhões de vistas mensais/ página) 
                  


Infra-estrutura como um serviço (IaaS) refere-se á entrega de um ambiente com uma infra-estrutura virtual como um serviço. Ao invés da compra de servidores, software, recursos de data centers, equipamento de redes e equipes para operá-las, os clientes podem comprar estes recursos como um serviço externo entregue através da rede instalada na nuvem.

IT como um serviço (ITaaS) é um modelo de serviço onde uma organização ou individuo contrata um provedor de serviços para obter conectividade de rede e outro individual ou pacotes de serviços (por exemplo, backup de rede, recuperação de desastre, VPN, VoiP, hostimg, vigilância por vídeo, e web conferência ). 

Modelos de Implantação na Nuvem


1. Pública;
2. Privada, interna /em termos;
3. Privada, externa (incluindo infraestrutura
compartilhada ou dedicada);
4. Comunitária (considerando posição geográfica do host, conhecimento dos outros membros da comunidade e potencial provedor do serviço);
5. Hibrida. Para efetivamente avaliar uma nuvem hibrida, é preciso conhecer um pouco onde a arquitetura, componentes e dados vão se localizar.

Adotar a Cloud Computing significa colocar dados particulares em servidores espalhados até mesmo ao redor do mundo, de forma que estes dados viajarão pela internet, fato que ocasiona preocupações com a segurança do sistema como um todo.

  Segurança da Cloud
                 
            
  OS SETE PECADOS MORTAIS DE SEGURANÇA EM CLOUD COMPUTING
Jim Reavis, diretor executivo da CSA (Cloud Security Alliance), uma entidade não governamental dedicada à segurança em cloud computing divulgou uma lista com "os sete pecados mortais de segurança em Cloud Computing", uma lista de 7 itens de segurança na cloud computing que
devem ser observados com mais atenção. A lista foi elaborada por ele e 29 consultorias e fornecedores do serviço.
Esta lista levanta questões de forma superficial, sem entrar em maiores detalhes, mas é uma ótima introdução para o tema.
Segue a lista
1) Perda de dados ou vazamento
Segundo Reavis, não existe um nível aceitável de controle de segurança na nuvem. Segundo ele, aplicativos podem deixar dados vazarem, resultado de um mal controle de APIs, má geração de chaves, problemas de armazenamento ou gestão fraca. Além disso, políticas de destruição de dados
podem simplesmente não existir, tanto não dando esta opção para o cliente ou mesmo indicando falsamente que o dado foi removido, sendo que esta foi apenas retirado do índice de dados, e não propriamente deletados.

2) Vulnerabilidade de tecnologias compartilhadas
Na nuvem, uma única configuração errada pode ser duplicada em um ambiente no qual vários servidores e máquinas virtuais compartilham essa informação. Devem existir acordos de nível de serviço (SLAs) para garantir gerenciamento de atualizações e melhores práticas possíveis para manutenção da rede e configuração dos servidores.
3) Internos Maliciosos
É preciso confiar na equipe da empresa provedoras do serviço. Cada empresa provedora tem seus próprios níveis de segurança sobre o acesso aos datacenters, o que gera diferentes níveis de controle sobre a equipe entre as diferentes empresas.
Segundo Reavis, Muitos dos provedores fazem um bom trabalho nesse sentido, mas é algo desigual.
De acordo com Archie Reed, tecnólogo selecionado pela HP e também membro da CSA, as empresas contratantes dos serviços de cloud computing tem interesse em colher os frutos do custo, disponibilidade e flexibilidade, benefícios oferecidos pela nuvem, mas se esquecem de considerar o risco de criar brechas para perdas de dados e queda de finanças e produtividade.
4) Desvio de tráfego, contas e serviços
Muitos dados, aplicativos e recursos estão presentes na nuvem. A autenticação feita de forma insegura pode colocar o acesso a todos esses itens se obtiver acesso à máquina virtual de um cliente em dois casos básicos:
a) Acesso à conta do cliente: neste caso, um cliente tem todo conteúdo de sua máquina virtual exposto ao invasor;
b) Acesso ao administrador da nuvem: neste cenário, o invasor tem poder sobre todas as máquinas virtuais de todos os clientes, uma ameaça bem maior.

5) Interfaces de programação de aplicativos (APIs) inseguras
APIs inseguras permitem que usuários mal intencionados utilizem-se de seus serviços para invadirem contas Segundo Reed, APIs inseguras são o "Oeste Selvagem" para ameaças de segurança. Existem milhares de apps de Web 2.0 hoje desenvolvidas por  programadores com pressa em divulgar seu trabalho funcionando. 
Alguns exemplos são os ataques à apps da Adobe e Microsoft, colocando bad loads ou cross scripting. 
Esses bad loads são colocados em uma máquina via e-mail, e comprometem o ambiente. Segundo Reed, esse ataque não é especificamente um problema para a Cloud Computing, mas para qualquer sistema.
Todavia, a nuvem corre este risco.
Outro exemplo foi como o Google foi atingido pelo governo chinês. Segundo Reed, não se sabe se o ataque partiu do governo chinês ou de alguém mal intencionado dentro do mesmo, mas o que o ataque, batizado de Operação Aurora, mostra, é que esse tipo de ataque pode acontecer com qualquer banco, companhia de energia ou banco.
6) Abuso e uso nefasto da cloud computing
É quando os serviços hospedados na nuvem sofrem acesso por pessoas não autorizadas com fins mal intencionados, como quebra de senhas ou outras ameaças para negócios.
Reed disse que coisas como o uso nefasto da cloud computing deixam os usuários com medo de possíveis ataques botnet no Amazon Web Service, por exemplo.
O Serviço recentemente foi derrubado e a partir disso passou a ser usado como exemplo da nuvem sendo comprometida. "Todos podem se cadastrar, criar uma conta e começar a usar o serviço para fazer coisas ruins". 
O impacto disso não está apenas na ação direta destes, mas em IPs bloqueados para aqueles que
dividem a nuvem com o transgressor. O transgressor está tirando recursos de quem precisaria, causando um mal indireto.
7) Perfil de risco desconhecido
Se por um lado a transparência facilita algumas coisas para o desenvolvedor que se utiliza da cloud computing, por outro lado essa transparência faz o contratante ver apenas uma interface, sem saber exatamente as plataformas sobre as quais seu serviço está rodando, ou mesmo os níveis de segurança empregados.


               

DESAFIOS

Cloud computing  é um paradigma recente, ainda em sua "infância" e com muitos desafíos em aberto
Padronização: 
Como cada organização utiliza diferentes APIs e protocolos, a integração e a interoperabilidade de todos os serviços e aplicações é um grande desafío.
Alocação dinâmica de serviços: O objetivo de um provedor de serviço é alocar e desalocar recursos a partir da cloud, minimizando seu custo operacional. Todavia, não é trivial o mapeamento desse objetivo em termos de requisitos de QoS, CPU e memória.
Migração de máquinas virtuais: 
Virtualização permite a migração de maquinas virtuais e o balanceamento de carga entre data centers. 
Assim o seu principal benefício é evitar pontos carregados (hotspots), o que não é uma tarefa simples pois falta agilidade para responder a  rápidas modifícações da carga de trabalho.
Consolidação de servidores: 
Migração de máquinas virtuais é frequentemente utilizado para consolidar multiplas máquinas virtuais a partir de servidores subutilizados em um único, onde o restante dos servidores pode minimizar seu consumo de energia. 
A formulação do problema em questão é NP-Difícil. 
Adicionalmente, a consolidação não  pode ferir o desempenho da aplicação e dependências entre  Màquinas virtuais como por exemplo, requisitos de comunicação
Gerência de energia (green computing): 
O objetivo não é apenas cortar os custos de energia em data centers, mas também manter regulamentações governamentais e ambientais.
O desafio chave é alcançar um bom equilíbrio entre desempenho da aplicação e redução  no consumo de energia
Análise e gerência de tráfego: 
Conhecimento sobre o tráfego através da rede é importante afim de tomar decisões sobre gestão e planejamento. Nesse sentido, existem diversos
Desafios na medição de trafego e métodos de análise na Internet e para empresas aplicarem ao data center.
Mecanismos de segurança de informaçôes: 
Uma vez que o provedor de serviços não possui acesso ao sistema de segurança físico, ele depende do provedor de infraestrutura para fornecer completa segurança dos dados. Objetivos como
confíabilidade e auditabilidade são fundamentais em provedores de infrastrutura. Adicionalmente, o ambiente dinâmicos (a partir da migração de máquinas virtuais) disponíveis em cloud torna a tarefa ainda mais complexa.
Frameworks de software: 
Ao mitigar o gargalo de acesso aos recursos, o tempo de execução das aplicações pode ser reduzido signifídamente 
Os desafíos incluem modelagem de desempenho de frameworks tais como Hadoop para escalabilidade e tolerância a falhas.
Tecnologias para armazenamento e gerência de informações:
Provedores tipicamente utilizam diferentes sistemas de arquivos (como GFS e HDFS). Estes sistemas de arquivos são diferentes dos sistema de arquivos distribuídos tradicionais em termos de estrutura de armazenamento, padrões de acesso e da API. Nesse contexto, questões de compatibilidade são importantes uma vez que elas não implementam o padrão POSIX.
Novas arquiteturas para cloud: 
Hoje, implementações de clouds comerciais enfrentam limitações como altos custos em energia elétrica e alto investimento inicial. Nesse contexto, data centers de portes menores podem trazer vantagens.
Adicionalmente, a característica de geodiversidade é frequentemente desejável para por exemplo, reduzir o tempo de resposta de serviços críticos.

A CSA (Cloud Security Alliance) tem um pequeno guia de análise de riscos sobre migração para a nuvem. (cloudsecurityalliance.org )
         
                    

                          

Nenhum comentário:

Postar um comentário