














Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
computacao em nuvens
Tipologia: Notas de estudo
1 / 22
Esta página não é visível na pré-visualização
Não perca as partes importantes!















Nampula, Novembro,
Nampula, Novembro,
Computação em nuvem é uma tendência recente de tecnologia cujo objectivo é proporcionar serviços de Tecnologia da Informação (TI) sob demanda com pagamento baseado no uso. Tendências anteriores à computação em nuvem foram limitadas a uma determinada classe de usuários ou focadas em tornar disponível uma demanda específica de recursos de TI, principalmente de informática. Computação em nuvem pretende ser global e prover serviços para as massas que vão desde o usuário final que hospeda seus documentos pessoais na Internet até empresas que terceirizarão toda a parte de TI para outras empresas. Nunca uma abordagem para a utilização real foi tão global e completa: não apenas recursos de computação e armazenamento são entregues sob demanda, mas toda a pilha de computação pode ser aproveitada na nuvem.
humana com os provedores de cada serviço. O hardware e o software dentro de uma nuvem podem ser automaticamente reconfigurados, orquestrados e estas modificações são apresentadas de forma transparente para os usuários, que possuem perfis diferentes e assim podem personalizar os seus ambientes computacionais, por exemplo, instalação de software e configuração de rede para a definição de determinados privilégios.
Recursos são disponibilizados por meio da rede e acessados através de mecanismos padronizados que possibilitam o uso por plataformas thin ou thin client, tais como celulares, laptops, tablete e PDAs. A interface de acesso a nuvem não obriga os usuários a mudar suas condições e ambientes de trabalho, como por exemplo, linguagens de programação e sistema operacional. Já os softwares clientes instalados localmente para o acesso à nuvem são leves, como um navegador de Internet.
Os recursos computacionais do provedor são organizados em um pool para servir múltiplos usuários usando um modelo multi-tenant, com diferentes recursos físicos e virtuais, dinamicamente atribuídos e ajustados de acordo com a demanda dos usuários. Estes usuários não precisam ter conhecimento da localização física dos recursos computacionais, podendo somente especificar a localização em um nível mais alto de abstracção, tais como o país, estado ou datacenter.
Recursos “ dados” podem ser adquiridos de forma rápida e elástica, em alguns casos automaticamente, caso haja a necessidade de escalar com o aumento da demanda, e liberados, na
retração dessa demanda. Para os usuários, os recursos disponíveis para uso parecem ser ilimitados e podem ser adquiridos em qualquer quantidade e a qualquer momento.
Sistemas em nuvem automaticamente controlam e optimizam o uso de recursos por meio de uma capacidade de medição. A automação é realizada em algum nível de abstracção apropriado para o tipo de serviço, tais como armazenamento, processamento, largura de banda e contas de usuário activas.
Em ambientes de computação em nuvem podem-se ter três modelos de serviços. Estes modelos são importantes, pois eles definem um padrão arquitectural para soluções de computação em nuvem.
O modelo de SaaS proporciona softwares com propósitos específicos que são disponíveis para os usuários através da Internet. Os softwares são acessíveis a partir de vários dispositivos do usuário por meio de uma interface thin client como um navegador Web. No SaaS, o usuário não administra ou controla a infra-estrutura subjacente, incluindo rede, servidores, sistemas operacionais, armazenamento, ou mesmo as características individuais da aplicação, excepto configurações específicas. Com isso, os desenvolvedores se concentram em inovação e não na infra-estrutura, levando ao desenvolvimento rápido de softwares.
Abstracção (do latim abstractio) é uma operação intelectual que consiste em isolar, por exemplo num conceito, um elemento à exclusão de outros, do qual então se faz abstracção
certas empresas não desejam que todos os usuários possam acessar e utilizar determinados recursos no seu ambiente de computação em nuvem. Neste sentido, surge a necessidade de ambientes mais restritos, onde somente alguns usuários devidamente autorizados possam utilizar os serviços providos. Os modelos de implantação da computação em nuvem podem ser divididos em: público, privado, híbrido e comunidade
No modelo de implantação privado, a infra-estrutura de nuvem é utilizada exclusivamente para uma organização, sendo esta nuvem local ou remota e administrada pela própria empresa ou por terceiros. Neste modelo de implantação são empregados políticas de acesso aos serviços. As técnicas utilizadas para prover tais características podem ser em nível de gerenciamento de redes, configurações dos provedores de serviços e a utilização de tecnologias de autenticação e autorização. Um exemplo deste modelo seria o cenário de uma universidade e seus departamentos. A universidade pode estar interessada em disponibilizar serviços para seus departamentos e outros órgãos desta instituição não devem ter acesso a esses serviços.
No modelo de implantação público, a infra-estrutura de nuvens é disponibilizada para o público em geral, sendo acessado por qualquer usuário que conheça a localização do serviço. Neste modelo de implantação não podem ser aplicadas restrições de acesso quanto ao gerenciamento de redes, e menos ainda, aplicar técnicas de autenticação e autorização.
No modelo de implantação comunidade ocorre o compartilhamento por diversas empresas de uma nuvem, sendo esta suportada por uma comunidade específica que partilhou seus interesses, tais como a missão, os requisitos de segurança, política e considerações sobre flexibilidade. Este tipo modelo de implantação pode existir localmente ou remotamente e pode ser administrado por alguma empresa da comunidade ou por terceiros.
No modelo de implantação híbrido, existe uma composição de duas ou mais nuvens, que podem ser privadas, comunidade ou pública e que permanecem como entidades únicas e ligadas por uma tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicações.
Os papéis são importantes para definir responsabilidades, acesso e perfil para os diferentes usuários que fazem parte e estão envolvidos em uma solução de computação em nuvem. Já a escalabilidade de nuvem é importante para transparecer para o usuário a ilusão de recursos computacionais infinitos. Além disso, a escalabilidade aumenta o desempenho dos recursos utilizados pelos usuários da solução em nuvem. Essa escalabilidade pode acontecer como composição de serviços ou na adição de recursos físicos computacionais.
Para entender melhor a computação em nuvem, pode-se classificar os atores dos modelos de acordo com os papéis desempenhados.
A computação em nuvem é composta por uma enorme rede de nós que necessita ser escalável. A escalabilidade deve ser transparente para os usuários, podendo estes armazenar seus dados na nuvem sem a necessidade de saber onde os dados estão armazenados ou como são acessados. Pode-se identificar pelo menos duas dimensões de escalabilidade: a horizontal e a vertical.
Uma nuvem escalável horizontalmente possui a capacidade de conectar e integrar múltiplas nuvens para o trabalho como uma nuvem lógica. Por exemplo, uma nuvem fornecendo serviços de cálculo pode acessar uma outra nuvem fornecendo serviços de armazenamento com o objetivo de manter resultados intermediários ou dois serviços de processamento podem ser integrados em uma grande nuvem de cálculo.
Uma nuvem escalável verticalmente pode melhorar a própria capacidade, incrementando individualmente seus nós existentes, como por exemplo, através da disponibilização de um servidor com mais memória física ou melhorar a largura de banda que conecta dois nós.
A arquitectura de computação em nuvem é baseada em camadas, sendo que cada uma destas trata de uma particularidade na disponibilização de recursos para as aplicações. Uma camada é uma divisão lógica de componentes de hardware e software. Alguns destes recursos computacionais podem ser agrupados e organizados para realizar uma determinada tarefa do sistema como um todo. Cada camada pode ter seu gerenciamento ou monitoramento de forma independente das outras camadas, melhorando a flexibilidade, ré usabilidade e
escalabilidade no tocante a substituição ou adição de recursos computacionais sem afectar as outras camadas.
A camada de mais baixo nível é a de infra-estrutura física, que contem datacenters, clusters, desktops e outros recursos de hardware, podendo ter recursos heterogéneos. Com isso, fornece certa flexibilidade e facilidade de agregação de novos recursos a medida que se tornem necessários. Uma camada de middleware é responsável por gerenciar a infra-estrutura física e tem por objectivo fornecer um núcleo lógico de uma nuvem. Estes serviços contém negociações de QoS, gerenciamento dos SLA, serviços de cobrança, serviços para verificar aceitação de requisições baseado no QoS e preço, serviços para cálculo, serviços de gerenciamento de virtualização, entre outros. No nível acima da camada de middleware, encontra-se a camada responsável por prover suporte para a construção de aplicações e que contem ferramentas ou ambientes de desenvolvimento.
No modelo MapReduce cada operação é composta por duas funções. A primeira chamada de função de Mapeamento recebe uma porção do arquivo de entrada e de acordo com a especificação do usuário emite um conjunto de duplas intermediárias no formato chave-valor. A segunda função, chamada Redução, recebe um conjunto de valores associados a cada chave, chamados de blocos.
Fases do MapReduce
1.8.2 Amazon EC O Amazon EC2 é um ambiente de computação em nuvem disponível através de serviços Web e com características de escalabilidade, disponibilidade, elasticidade e desempenho para aplicações executadas neste ambiente. O EC2 disponibiliza uma infra-estrutura completa para computação em diversos níveis de processamento, desde tarefas simples até de
alto desempenho e possui uma gerência eficaz dos recursos. Do ponto de vista de economia, o EC2 reduz os custos, através da computação sob demanda, optimizando os recursos computacionais além de fornecer aos desenvolvedores ferramentas para construir aplicações escaláveis.
O EC2 permite um controle completo de suas instâncias, sendo possível acessar e interagir com cada umas destas, de forma similar a máquinas convencionais. Também é possível escolher as características de cada instância, tais como sistema operacional, pacotes de softwares e as configurações das máquinas, como CPU, memória e armazenamento. Para garantir a segurança, o EC2 utiliza firewall para controlar o acesso às instâncias, criando ambientes virtuais privados. Para utilizar o EC2, primeiro é necessário criar uma imagem de máquina para executar as aplicações, chamada de AMI (Amazon Machine Image), que contem os aplicativos, bibliotecas, dados e configurações associadas. Esta imagem é armazenada em um repositório seguro, rápido e confiável.
Diversos tipos de aplicações baseadas em computação em nuvem estão disponíveis. Serviços de webmail, sites, softwares como serviços em geral são alguns exemplos. Outras aplicações estão relacionadas à bioinformática e processamento de imagens.
Computação em nuvem apresenta diversas vantagens, mas também possui uma série de desafios a serem superados na utilização desse tipo de ambiente. A seguir destacam se alguns destes desafios.
Segurança A Computação em nuvem é um modelo que utiliza a Internet para disponibilizar seus serviços. Assim, deve-se ter formas para impedir o acesso não autorizado a informações e que os dados sensíveis permaneçam privados, pois estes serão processados fora da empresa. Questões de segurança devem ser consideradas para prover a autenticidade, confidencialidade e integridade. No que diz respeito à confiabilidade e responsabilidade o provedor deve fornecer recursos confiáveis, especialmente se a computação a ser realizada é crítica e existindo uma clara delimitação de responsabilidade.
Gerenciamento de Dados
O gerenciamento de dados é considerado um ponto crítico no contexto de computação em nuvem.
Autonomia A computação em nuvem é um sistema autónomo gerenciado de forma transparente para os usuários. Hardware e software dentro de nuvens podem ser automaticamente reconfigurados,
orquestrados e estas modificações são apresentadas ao usuário como uma imagem única. Essa autonomia é importante, pois reduz o custo de equipe de monitoramento do sistema tanto no âmbito centralizado quanto distribuído. Comparados com sistemas tradicionais, é possível identificar três factores complexos: intervenção humana limitada, alta alternância na carga de processamento e uma variedade de infra-estruturas compartilhadas.
Disponibilidade de Serviços
A disponibilidade de serviços permite aos usuários acessar e utilizar a nuvem onde e quando desejarem. Como se trata da Internet podem ocorrer atrasos e sistemas indisponíveis. Os ambientes de computação em nuvem devem prover alta disponibilidade. Para tanto, esses podem utilizar técnicas de balanceamento de carga dinâmico e composição de nuvens de forma a atender as necessidades dos usuários. Por exemplo, podem-se construir aplicações altamente disponíveis com a implantação de duas ofertas de nuvem diferentes. Caso uma das nuvens falhe, a outra nuvem continua a apoiar a disponibilidade das aplicações.