Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

16
Tecnologias Atuais de Redes Cloud Computing ete.fagnerlima.pro.br 1 Cloud Computing 1. Introdução Vamos dizer que você é um executivo de uma grande empresa. Suas responsabilidades incluem assegurar que todos os seus empregados tenham o software e o hardware de que precisam para fazer seu trabalho. Comprar computadores para todos não é suficiente - você também tem de comprar software ou licenças de software para dar aos empregados as ferramentas que eles exigem. Sempre que você tem um novo contratado, você tem de comprar mais softwares ou assegurar que sua atual licença de software permita outro usuário. Isso é tão estressante que você tem dificuldade para dormir todas as noites. Há uma alternativa para executivos como você. Em vez de instalar uma suíte de aplicativos em cada computador, você só teria de carregar uma aplicação. Essa aplicação permitiria aos trabalhadores logar-se em um serviço baseado na web que hospeda todos os programas de que o usuário precisa para seu trabalho. Máquinas remotas de outra empresa rodariam tudo - de e-mail a processador de textos e a complexos programas de análise de ados. Isso é chamado Computação em Nuvem e pode mudar toda a indústria de computadores. 2. Conceitos e Terminologias Também conhecido no Brasil como Computação nas Nuvens ou Computação em Nuvem, Cloud Computing se refere, essencialmente, à ideia de utilizarmos, em qualquer lugar e independente de plataforma, as mais variadas aplicações por meio da internet com a mesma facilidade de tê-las instaladas em nossos próprios computadores. A Computação em Nuvem é uma área em evolução e tem diferentes conotações para os profissionais de TI, dependendo de seus pontos de vista e frequentemente dos seus produtos e serviços. Não existe uma definição universalmente aceita entre os profissionais de TI para o termo Computação em Nuvem. O NIST (National Institute of Standards and Technology) apresenta a seguinte definição: "A Computação em Nuvem é um modelo que possibilita acesso, de modo conveniente e sob demanda, a um conjunto de recursos computacionais configuráveis (por exemplo, redes, servidores, armazenamento, aplicações e serviços) que podem ser rapidamente adquiridos e liberados com mínimo esforço de configuração ou interação com o provedor de serviços." (Mell & Grance, 2011, p. 2). Embora a Computação em Nuvem seja um campo emergente da ciência da computação, a ideia está por aí há anos. É chamada de Computação em Nuvem porque os dados e as aplicações existem em uma nuvem de servidores web.

Transcript of Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Page 1: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 1

Cloud Computing 1. Introdução Vamos dizer que você é um executivo de uma grande empresa. Suas responsabilidades

incluem assegurar que todos os seus empregados tenham o software e o hardware de que

precisam para fazer seu trabalho. Comprar computadores para todos não é suficiente - você

também tem de comprar software ou licenças de software para dar aos empregados as

ferramentas que eles exigem. Sempre que você tem um novo contratado, você tem de

comprar mais softwares ou assegurar que sua atual licença de software permita outro usuário.

Isso é tão estressante que você tem dificuldade para dormir todas as noites.

Há uma alternativa para executivos como você. Em vez de instalar uma suíte de aplicativos

em cada computador, você só teria de carregar uma aplicação. Essa aplicação permitiria aos

trabalhadores logar-se em um serviço baseado na web que hospeda todos os programas de

que o usuário precisa para seu trabalho. Máquinas remotas de outra empresa rodariam tudo

- de e-mail a processador de textos e a complexos programas de análise de ados. Isso é

chamado Computação em Nuvem e pode mudar toda a indústria de computadores.

2. Conceitos e Terminologias Também conhecido no Brasil como Computação nas Nuvens ou Computação em Nuvem ,

Cloud Computing se refere, essencialmente, à ideia de utilizarmos, em qualquer lugar e

independente de plataforma, as mais variadas aplicações por meio da internet com a mesma

facilidade de tê-las instaladas em nossos próprios computadores.

A Computação em Nuvem é uma área em evolução e tem diferentes conotações para os

profissionais de TI, dependendo de seus pontos de vista e frequentemente dos seus produtos

e serviços. Não existe uma definição universalmente aceita entre os profissionais de TI para

o termo Computação em Nuvem. O NIST (National Institute of Standards and Technology)

apresenta a seguinte definição: "A Computação em Nuvem é um modelo que possibilita

acesso, de modo conveniente e sob demanda, a um conjunto de recursos computacionais

configuráveis (por exemplo, redes, servidores, armazenamento, aplicações e serviços) que

podem ser rapidamente adquiridos e liberados com mínimo esforço de configuração ou

interação com o provedor de serviços." (Mell & Grance, 2011, p. 2).

Embora a Computação em Nuvem seja um campo emergente da ciência da

computação, a ideia está por aí há anos. É chamada de Computação em Nuvem

porque os dados e as aplicações existem em uma nuvem de servidores web.

Page 2: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 2

Em um modelo de computação tradicional, para construir ou atualizar infraestruturas de TI, os

usuários têm que se preocupar com a instalação, configuração e atualização de softwares,

adequação do espaço físico e de recursos humanos, além de outros gastos como com

licenças de softwares. Com a Computação em Nuvem, os usuários passam a poder acessar

os serviços sob demanda e independente de localização. A nuvem é uma metáfora para a

Internet ou a infraestrutura de comunicação entre os componentes arquiteturais, deixando

evidente uma abstração que oculta para o usuário toda a complexidade da infraestrutura e

tecnologias empregadas para oferecer os serviços.

Figura 1: Cloud Computing.

A Computação em Nuvem permite:

• Diminuir os custos de aquisição de equipamentos;

• Facilitar o planejamento das empresas, que podem, a partir de então, adequar sua

infraestrutura de acordo com a demanda dos clientes;

• Que as empresas se concentrem em agregar valor aos serviços oferecidos aos

clientes, em vez de se gastar esforços e recursos humanos com instalação e

manutenção da infraestrutura de suporte.

Page 3: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 3

3. Características Algumas características são consideradas essenciais em um ambiente de Computação em

Nuvem. Apesar de algumas delas poderem não estar presentes em uma solução específica,

é o seu conjunto que guia o desenvolvimento da Computação em Nuvem e a difere de outros

paradigmas como, por exemplo, os serviços hospedados.

• Elasticidade e escalabilidade : capacidade de expandir ou reduzir a quantidade de

recursos de acordo com as demandas específicas de cada serviço. Por exemplo, um

grande número de servidores pode ser necessário para a realização de uma tarefa

específica de duração limitada. Após a finalização da tarefa, tais recursos podem,

então, ser liberados. Para os usuários, os recursos disponíveis para uso parecem ser

ilimitados e podem ser adquiridos em qualquer quantidade e a qualquer momento.

• Contabilização por tempo de uso : o pagamento pela utilização dos serviços na

nuvem é feito somente quando os serviços são, de fato, utilizados. O sistema de

contabilização é utilizado em um nível de abstração que varia de acordo com o tipo de

serviço tais como armazenamento, processamento, largura de banda e contas de

usuário ativas.

• Serviços sob demanda : capacidade de adquirir serviços apenas quando necessário,

sem que se tornem partes permanentes da infraestrutura de TI – uma vantagem

significativa em relação aos serviços de TI internos de uma empresa – e sem precisar

de interação humana com os provedores do serviço. Com serviços na nuvem, não há

necessidade de ter recursos computacionais dedicados esperando ser utilizados,

como é o caso de serviços internos.

• Amplo acesso : os recursos são disponibilizados pela rede e podem ser acessados

por diferentes plataformas, como celulares, laptops, tablets ou desktops. A interface

de acesso à 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.

• Multi-inquilino : os provedores de serviços em nuvem podem hospedar serviços que

são utilizados por múltiplos usuários dentro de uma mesma infraestrutura. O

isolamento destes usuários pode ser físico ou virtual, dependendo das necessidades

específicas de cada usuário.

4. Arquitetura A arquitetura de Computação em Nuvem é baseada em camadas, em que cada camada trata

de uma particularidade na disponibilização de recursos. A camada é uma divisão lógica de

componentes de hardware e software, em que esses recursos são agrupados e organizados

para realizar uma determinada tarefa do sistema como um todo. Cada camada pode ter seu

Page 4: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 4

gerenciamento ou monitoramento realizado de forma independente das outras camadas,

melhorando a flexibilidade, reuso e escalabilidade no tocante a substituição ou adição de

recursos computacionais sem afetar as outras camadas.

Figura 2: Arquitetura da Computação em Nuvem.

A figura 2 ilustra as camadas referentes à arquitetura da Computação em Nuvem e suas

respectivas associações. É possível distinguir na figura quatro diferentes camadas que se

deslocam progressivamente da perspectiva do sistema para a do usuário final.

A camada de mais baixo nível é a de infraestrutura física, que pode conter dispositivos de

armazenamento, clusters, desktops e outros recursos de hardware. Esta camada fornece

flexibilidade e facilidade de agregação de novos recursos à medida que se tornem

necessários.

Uma camada de middleware é responsável por gerenciar a infraestrutura física e tem por

objetivos prover um ambiente de execução apropriado para as aplicações e explorar de

maneira eficaz os recursos físicos. Esta camada pode ser dividida em duas subcamadas: uma

responsável por garantir o isolamento de processos e aplicações, qualidade de serviço,

podendo utilizar tecnologias de virtualização; e outra camada responsável por prover um

conjunto de serviços que auxiliam os provedores de serviços comerciais e profissionais para

os usuários finais – dentre os serviços dessa camada podem ser encontrados negociação de

Qualidade de Serviço (QoS), gerenciamento de SLA's, serviços de cobrança, gerenciamento

de requisições, entre outros.

Page 5: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 5

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 contém ferramentas ou ambientes de

desenvolvimento. Estes ambientes possuem interfaces Web 2.0, mashups, componentes,

recursos de programação concorrente e distribuída, suporte a workflows, bibliotecas de

programação e linguagens de programação. Esta camada de desenvolvimento não é utilizada

pelos usuários finais, e sim, pelos usuários mais experientes, aqueles que desenvolvem as

soluções para Computação em Nuvem. Esta camada middleware no nível de usuário constitui

o ponto de acesso das aplicações à infraestrutura da nuvem.

Por fim, encontra-se a camada das aplicações de Computação em Nuvem. Esta camada é de

interesse do usuário, pois é por meio dela que eles utilizam os aplicativos. As camadas abaixo

desta são responsáveis pelas características de escalabilidade, disponibilidade, ilusão de

recursos infinitos e alto desempenho.

5. Virtualização Um dos conceitos mais presentes na literatura de Computação em Nuvem é o conceito de

Virtualização . A virtualização de recursos está no coração da maioria das arquiteturas de

nuvem. Seu conceito traz uma visão abstrata dos recursos físicos, o que inclui servidores,

dispositivos de armazenamento de dados, redes e aplicações. A ideia básica é partilhar

recursos físicos e gerenciá-los como um todo.

Figura 3: Virtualização de plataforma.

Virtualização de plataforma é uma técnica para abstrair os recursos de um computador de

tal maneira que o sistema operacional se separa dos recursos físicos do computador. Ao invés

de utilizar diretamente os recursos de hardware, o sistema operacional passa a interagir com

uma nova camada de software, conhecida como hypervisor. Esta nova camada acessa o

Page 6: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 6

hardware e apresenta ao sistema operacional um conjunto virtual de recursos de hardware.

Isto possibilita que várias Máquinas Virtuais (Virtual Machines - VM's) possam ser

executadas sobre um único servidor físico e novas instâncias podem ser geradas e

executadas sob demanda, criando a base para a elasticidade de recursos computacionais.

Virtualização não é um conceito novo – foi inventado e popularizado pela IBM nos anos 60

com o objetivo de executar múltiplos contextos de software em seus mainframes. Na última

década, o conceito voltou a ganhar popularidade em datacenters devido às preocupações

com a utilização média dos servidores.

Um hypervisor pode ser implementado em um servidor, seja executando diretamente sobre o

hardware (hypervisor Tipo 1) ou executando sobre um sistema operacional (hypervisor Tipo

2). O hypervisor permite executar múltiplas VM's e é responsável por escalonar o acesso

dessas VM's aos recursos de hardware, provendo um acesso consistente a CPU, memória e

dispositivos de entrada e saída (E/S). Uma VM tipicamente executa um sistema operacional

e aplicações. As aplicações não são informadas de que estão sendo executadas em um

ambiente virtualizado, e dessa maneira não precisam sofrer alterações para serem

executadas apropriadamente.

A virtualização traz alguns benefícios para a Computação em Nuvem. Dentre estes benefícios,

tem-se:

• Elasticidade e Escalabilidade : criar e remover VM's envolve menor esforço quando

comparados a ligar e desligar servidores físicos;

• Migração de workload : com facilidades como a migração de VM's em tempo real, o

esforço para migração de workload é muito menor se comparado à migração entre

servidores físicos dispostos geograficamente separados;

• Resiliência (confiabilidade ): falhas em servidores físicos podem ser facilmente

contornadas, bastando migrar as VM's para outros servidores, preservando a

disponibilidade dos serviços dos clientes.

Apesar de estar presente em diversas soluções, a virtualização não é um pré-requisito para a

Computação em Nuvem. Contudo, a virtualização provê um conjunto de ferramentas valiosas

e permite uma flexibilidade significativa em projetos de Computação em Nuvem.

6. Modelos de Serviços Os modelos de serviços podem ser considerados como a definição de uma fronteira que

delimita onde terminam as responsabilidades, gerenciamento e a rede do cliente e onde

começam as do provedor de serviços na nuvem.

Page 7: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 7

Existem diversos modelos de serviços descritos na literatura, geralmente descritos da forma:

XaaS, do inglês "<Something> as a Service" (<Alguma coisa >como um Serviço).

O NIST define três modelos de serviços para a Computação em Nuvem. São eles:

• SaaS (Software as a Service - Software como um Serviço);

• PaaS (Plataform as a Service - Plataforma como um Serviço);

• IaaS (Infrastructure as a Service - Infraestrutura como um Serviço).

Muitos outros modelos foram mencionados na literatura como, por exemplo: STaaS (Storage

as a Service - Armazenamento como um Serviço), DaaS (Development as a Service -

Desenvolvimento como um Serviço), DBaaS (Database as a Service - Banco de Dados como

um Serviço), TaaS (Testing as a Service- Ensaio como um Serviço), CaaS (Communication

as a Service - Comunicação como um Serviço). Contudo, os modelos definidos pelo NIST

englobam todas as outras possibilidades.

Figura 4: Modelos de Serviços para a Computação em N uvem.

6.1. Software como um Serviço (SaaS)

Neste modelo de serviço, o provedor de serviços oferece a seus clientes a capacidade de

utilizar sistemas de propósitos específicos que são executados sobre a infraestrutura física do

provedor. Esses sistemas são acessíveis a partir de diversos dispositivos por intermédio de

uma interface cliente, como um navegador Web, ou por uma Application Programming

Interface (API). No SaaS, o usuário não administra ou controla a infraestrutura subjacente,

incluindo rede, servidores, sistemas operacionais, armazenamento ou mesmo características

individuais da aplicação, exceto configurações específicas limitadas ao domínio do usuário.

Page 8: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 8

No modelo organizacional tradicional de TI, as empresas possuem um conjunto de licenças

de software para as várias aplicações que ela utiliza. Estas aplicações podem estar nos

setores de recursos humanos, finanças ou vendas, por exemplo. No modelo SaaS, em vez de

comprar licenças para desktops e servidores para as aplicações, a empresa pode obter as

mesmas funções utilizando os serviços em nuvem de um provedor através da Internet ou

alguma rede de comunicações.

O modelo SaaS elimina a complexidade com instalação, manutenção e atualização de

softwares para a equipe de TI dentro da empresa, pois o software é agora gerenciado de

maneira centralizada pelo provedor do serviço. Como a aplicação está, geralmente, na Web,

os usuários podem acessá-la de qualquer lugar com conectividade e a qualquer momento,

permitindo maior integração entre unidades de uma mesma empresa ou outros serviços de

software. A cobrança pelo serviço é feita tipicamente por usuário, para uma quantidade fixa

de banda e de armazenamento. O monitoramento do desempenho da entrega do serviço é

de responsabilidade do provedor.

O modelo SaaS fornece para diferentes clientes a funcionalidade de aplicativos que são

completamente hospedados em nuvem, mas os clientes possuem flexibilidade limitada. Por

meio do modelo SaaS, o tempo para que a solução chegue ao mercado e o tempo de reação

às demandas do segmento é bastante curto. Como exemplo de SaaS destaca-se o

GoogleDocs .

6.2. Plataforma como um Serviço (PaaS)

O modelo de PaaS traz os benefícios que o SaaS trouxe para as aplicações, mas para o

mundo de desenvolvimento de software. O PaaS provê uma plataforma de software na qual

os usuários podem desenvolver e testar suas próprias aplicações e hospedá-las na

infraestrutura do próprio provedor do serviço e sema complexidade de comprar e manter o

software e a infraestrutura necessária durante todo o ciclo de desenvolvimento. O usuário não

administra ou controla a infraestrutura subjacente, incluindo rede, servidores, sistemas

operacionais ou armazenamento, mas tem controle sobre as aplicações implantadas e,

possivelmente, sobre as configurações das aplicações hospedadas nessa infraestrutura. O

serviço fornece um sistema operacional, linguagens de programação e ambientes de

desenvolvimento para as aplicações, auxiliando a implementação de sistemas de software, já

que contém ferramentas de desenvolvimento e colaboração entre desenvolvedores.

Em geral, os desenvolvedores dispõem de ambientes escaláveis, mas têm que aceitar

algumas restrições sobre o tipo de software que se pode desenvolver, desde limitações que

o ambiente impõe na concepção de aplicações até a utilização de sistemas de gerenciamento

Page 9: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 9

de banco de dados (SGBD's) do tipo chave-valor, em vez de SGBD's relacionais. Como

exemplos de PaaS têm-se o Google App Enginee o Microsoft Azure .

6.3. Infraestrutura como um Serviço (IaaS)

O modelo de IaaS tem por principal objetivo tornar mais fácil e acessível o fornecimento de

recursos, tais como servidores, rede, armazenamento e outros recursos de computação

fundamentais em que o usuário pode instalar e executar softwares arbitrários, que podem

incluir sistemas operacionais e aplicativos. A IaaS possui algumas características, tais como

uma interface única para administração da infraestrutura, Application Programming Interface

(API) para interação com hosts, switches, balanceadores, roteadores e o suporte para a

adição de novos equipamentos de forma simples e transparente. Em geral, o usuário não

administra ou controla a infraestrutura da nuvem, mas tem controle sobre os sistemas

operacionais, armazenamento e aplicativos implantados, e, eventualmente, seleciona

componentes de rede, tais como firewalls.

Em geral, o termo IaaS se refere a uma infraestrutura computacional baseada em técnicas de

virtualização de recursos de computação. Esta infraestrutura pode escalar dinamicamente,

aumentando ou diminuindo os recursos de acordo com as necessidades das aplicações. Do

ponto de vista de economia e aproveitamento do legado, em vez de comprar novos servidores

e equipamentos de rede para a ampliação de serviços, podem-se aproveitar os recursos

disponíveis e adicionar novos servidores virtuais à infraestrutura existente de forma dinâmica.

7. Modelos de Implantação Os modelos de implantação tratam sobre o acesso e disponibilidade de ambientes de

computação em nuvem. A restrição ou abertura de acesso depende do processo de negócio,

do tipo de informação e do nível de visão. Algumas empresas podem não desejar 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:

• Nuvem pública ;

• Nuvem privada ;

• Nuvem comunidade ;

• Nuvem híbrida .

Page 10: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 10

Figura 5: Modelos de implantação de Computação em N uvem.

Os modelos de implantação se diferenciam pela localização onde o serviço está sendo

executado e pelo nível de acesso à infraestrutura.

7.1. Nuvem Privada

No modelo de implantação de nuvem privada , a infraestrutura de nuvem é utilizada

exclusivamente por uma organização. A nuvem pode ser detida, gerenciada e operada pela

própria organização, por terceiros ou uma combinação destes, e está localizada dentro da

empresa.

Em relação à nuvem privada hospedada , este modelo se difere do anterior (nuvem privada)

ao fazer uso de uma infraestrutura de nuvem situada remotamente.

7.2. Nuvem Pública

No modelo de implantação de nuvem pública , a infraestrutura da nuvem é disponibilizada

para o público em geral, sendo acessada por qualquer usuário que conheça a localização do

serviço. A infraestrutura pode ser detida, gerenciada e operada por uma organização

empresarial, acadêmica, governamental ou alguma combinação entre estes. A infraestrutura

fica localizada internamente no provedor.

Page 11: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 11

7.3. Nuvem Comunidade

No modelo de implantação de nuvem comunidade , a infraestrutura de nuvem é

compartilhada por várias organizações e oferece suporte a uma comunidade específica que

possui as mesmas preocupações (por exemplo, missão, requisitos de segurança, política e

considerações de conformidade). Este tipo de modelo de implantação pode existir localmente

ou remotamente e pode ser detida, gerenciada e operada por uma ou mais organizações

pertencentes à comunidade, por terceiros ou alguma combinação destes.

7.4. Nuvem Híbrida

No modelo de implantação de nuvem híbrida , existe uma composição de duas ou mais

nuvens – que podem ser privadas, comunidade ou pública – e que permanecem como

entidades exclusivas, mas que são agrupadas por tecnologia padrão ou proprietária,

possibilitando a portabilidade de dados e de aplicativos (por exemplo, extrapolação de nuvem

para balanceamento de carga entre nuvens).

8. Desafios A definição do modelo de Computação em Nuvem é uma área ainda em desenvolvimento e,

portanto, existe uma série de desafios e preocupações que devem ser levados em

consideração no momento da escolha por utilizar ou não este modelo.

8.1. Segurança

Segurança é uma preocupação significativa para diretores de empresas de TI ao contratar

um provedor de serviços na nuvem. Segurança física por intermédio do isolamento da

infraestrutura é um requisito crítico para nuvens privadas, mas nem todos os usuários de

serviços na nuvem necessitam desse nível de investimento. Para aqueles usuários, o

provedor da nuvem deve garantir isolamento dos dados e disponibilidade da aplicação por

intermédio do isolamento de múltiplos inquilinos. Além disso, autenticação e autorização dos

usuários e criptografia do caminho da rede do usuário até o provedor da aplicação são outros

fatores a serem considerados.

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 deve existir uma

delimitação de responsabilidade entre o provedor e o usuário. Dessa forma, devem existir (ou

deve-se ter) meios para impedir o acesso não autorizado a informações e que os dados

sensíveis permaneçam privados, pois estes podem ser processados fora das empresas. Em

geral, cada sistema tem seu próprio modelo de dados e política de privacidade dos dados.

Quando ocorre a movimentação de dados entre sistemas, deve-se garantir a privacidade dos

Page 12: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 12

dados - mesmo com a mudança entre modelo de dados - e que aplicações multi-inquilino

acessem dados de outras aplicações apenas de acordo com as políticas definidas.

8.2. Disponibilidade

A disponibilidade de serviços permite aos usuários acessar e utilizar a nuvem onde e quando

desejarem. Como geralmente os serviços são disponibilizados pela 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.

8.3. Escalabilidade e Desempenho

A escalabilidade foi uma das características fundamentais que conduziram ao surgimento da

Computação em Nuvem. As nuvens de serviços e as plataformas oferecidas podem ser

dimensionadas levando em consideração diversos fatores, tais como localizações geográficas

e desempenho. Apesar das limitações de rede e segurança, as soluções de Computação em

Nuvem devem fornecer elevado desempenho, além de serem flexíveis para se adaptar diante

de uma determinada quantidade de requisições. Como os ambientes de computação em

nuvem possuem acesso público, é imprevisível e variável a quantidade de requisições

realizadas, tornando mais complexo fazer estimativas e garantias de QoS.

8.4. Preocupações Regulatórias e Legais

Preocupações regulatórias e legais são fatores que se tornam importantes, especialmente

nos casos envolvendo armazenamento de dados na nuvem. Neste caso, poderia acontecer

de as leis de onde os dados estão de fato armazenados não serem as leis de jurisdição onde

a organização está localizada.

As leis de proteção e privacidade de dados em alguns casos podem requerer que dados

privados permaneçam em território nacional e em alguns casso que esses dados não possam

ser hospedados fora da empresa. Alguns fornecedores já oferecem serviços especializados

que levam em consideração tais requisitos, como serviços com datacenters com localização

definida e políticas de acesso especiais.

Page 13: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 13

8.5. Acordos de Nível de Serviço (SLA)

Embora os usuários de serviços na nuvem não tenham controle sobre a infraestrutura de

base, eles necessitam da garantia da qualidade de serviço, confiabilidade e desempenho dos

recursos contratados, visto que a migração envolve transferir funções vitais de seus negócios

para a nuvem. Em outras palavras, torna-se vital para os usuários obter garantias de entrega

de serviço dos provedores. Tipicamente, essas garantias são providas por SLA 's (Service

Level Agreements - Acordos de Nível de Serviço) negociados entre os provedores e clientes.

9. Serviços Gratuitos A seguir, alguns serviços que incorporam claramente o conceito de Computação em Nuvem.

9.1. Dropbox

Um dos serviços mais eficientes e famosos é o Dropbox . Ele permite sincronizar todos os

documentos que você deseja no serviço de nuvem e também manter seus dados atualizados

com o HD do seu computador.

O aplicativo funciona da seguinte forma: toda vez que você copiar ou mover um arquivo, ele

será duplicado no servidor do Dropbox e em outros aparelhos que tenham o mesmo aplicativo

instalado.

Outra possibilidade é você entrar no site do Dropbox, inserir seu login e senha (criados na

hora em que você baixar o aplicativo no seu computador). Feito isso você terá acesso a todos

os seus arquivos sincronizados e salvos. Ou ainda, uma pasta apenas virtual, sem vínculo

com computador.

A Computação em Nuvem também permite que você compartilhe fotos, documentos, vídeos

e o que mais quiser com amigos de forma segura. Ao compartilhá-los você tem privacidade,

pois pode controlar quem vê o quê. Comisso, é possível trabalhar em equipe como se todos

os membros estivessem usando o mesmo computador simultaneamente. O serviço é gratuito

e oferece, inicialmente, 2 GB de armazenamento. Existem algumas outras opções como

indicações de amigos e vínculos com outros aplicativos que podem expandir sua capacidade

de armazenamento gratuito.

Um Acordo de Nível de Serviço (SLA - Service Level Agreement) é um acordo

firmado geralmente, haja vista que outras áreas da empresa também podem se

beneficiar desse recurso, entre a área de TI e seu cliente interno, que descreve o

serviço de TI, suas metas de nível de serviço, além dos papéis e responsabilidades

das partes envolvidas no acordo.

Page 14: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 14

9.2. OneDrive

A Microsoft também possui o seu serviço de armazenamento online, o OneDrive (antigo

SkyDrive ). Assim como os outros citados acima, este também permite que o internauta

guarde seus arquivos na rede e os acesse de qualquer outro computador que esteja

conectado à Internet. O OneDrive oferece um aplicativo na área de trabalho para que o usuário

sincronize os arquivos da sua máquina ou de qualquer dispositivo móvel, como smartphones

e tablets, automaticamente.

Para ter acesso ao serviço, basta possuir uma conta da Microsoft, seja no Skype, Outlook.com

ou Xbox. Atualmente, o OneDrive oferece 7 GB de armazenamento grátis, com algumas

opções de bônus para aumento dessa capacidade.

Assim como o Google Drive , o SkyDrive oferece o Office Web Apps para editar documentos.

9.3. Google Drive

A Google oferece diversos serviços de nuvem para facilitar a vida do internauta, como o seu

aplicativo Google Drive . O sistema, além do armazenamento, oferece várias ferramentas no

estilo do pacote Office que possibilitam redigir textos, criar e editar planilhas e até criar e

visualizar apresentação de slides online.

Ele também permite o envio e o compartilhamento de fotos, vídeos, documentos e outros

arquivos importantes para o Google Drive. Assim como o Dropbox, o serviço é gratuito para

até 15 GB (compartilhados com outros serviços da Google, como o Gmail ).

9.4. Outros Serviços

Alguns outros serviços de Computação em Nuvem:

• Amazon : é um dos maiores serviços de comércio eletrônico do mundo. Para suportar

o volume de vendas no período de Natal, a empresa montou uma superestrutura de

processamento e armazenamento de dados, que acaba ficando ociosa na maior parte

do ano. Foi a partir daí que a companhia teve a ideia de "alugar" estes recursos, o que

acabou resultando em serviços como o Simple Storage Solution (S3) para

armazenamento de dados e o Elastic Compute Cloud (EC2) para uso de máquinas

virtuais.

• Google Apps : é um pacote de serviços que a Google oferece que conta com

aplicativos de edição de texto, planilhas e apresentações (Google Docs ), ferramenta

de agenda (Google Calendar ), comunicador instantâneo integrado (Google Talk ), e-

mail com o domínio próprio (por exemplo, [email protected]), entre

Page 15: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 15

outros. Todos estes recursos são processados pela Google - o cliente precisa apenas

criar as contas dos usuários e efetuar algumas configurações. O Google Apps oferece

pacotes gratuitos e pagos, de acordo com o número de usuários. Um dos maiores

clientes do Google Apps é a Procter & Gamble , que contratou os serviços para mais

de 130 mil colaboradores.

• iCloud : trata-se de um serviço da Apple que armazena músicas, fotos, vídeos,

documentos e outras informações do usuário. Seu objetivo é o de fazer com que a

pessoa utilize "as nuvens", em vez de um computador em sua rede, como hub para

centralizar suas informações. Com isso, se o usuário atualizar as informações de um

contato no iPhone, por exemplo, o iCloud poderá enviar os dados alterados

automaticamente para outros dispositivos.

• Mega: é o sucessor do Megaupload . O site foi lançado em 19 de janeiro de 2013 para

coincidir com o aniversário de um ano do término do Megaupload. Depois que o Gabão

negou o domínio me.ga, Kim Dotcom (proprietário do Mega) anunciou que o site seria

registrado na Nova Zelândia, colocando-o para fora da jurisdição dos Estados Unidos.

Usuários gratuitos têm 50 GB de espaço de armazenamento gratuito.

• Panda Cloud Antivirus : como o nome indica, este é um programa antivírus da Panda

Software, mas com uma grande diferença: a maior parte do trabalho necessário à

ferramenta para pesquisar e eliminar malwares fica por conta das "nuvens". Com isso,

de acordo com a Panda, essa solução acaba evitando que o antivírus deixe o

computador lento.

10. Exercícios de Fixação 1) O que você entende por Cloud Computing?

2) Quais são as principais características da Computação em Nuvem? Cite vantagens e

desvantagens de sua utilização.

3) Descreva a arquitetura da Computação em Nuvem, relacionando cada uma de suas

camadas.

4) Fale sobre virtualização .

5) Cite os principais modelos de serviço da Computação em Nuvem e suas principais

características.

6) Em relação aos modelos de implantação da Computação em Nuvem (nuvem privada,

pública, comunidade e híbrida), explique cada um deles.

7) Por que a segurança é um grande desafio para a Computação em Nuvem?

8) Cite alguns serviços em nuvem (ex.: Google Apps).

Page 16: Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]

Tecnologias Atuais de Redes

Cloud Computing

ete.fagnerlima.pro.br 16

11. Referências

• Computação em Nuvem

o http://www.infowester.com/cloudcomputing.php

o http://www.tecmundo.com.br/computacao-em-nuvem/738-o-que-e-

computacao-em-nuvens-.htm

o http://www.teleco.com.br/tutoriais/tutorialservnuvopers1/default.asp

o http://olhardigital.uol.com.br/pro/noticia/36215/36215

o http://www.oficinadanet.com.br/artigo/923/computacao_nas_nuvens

o http://www.lia.ufc.br/~flavio/papers/ercemapi2009.pdf

o http://tecnologia.hsw.uol.com.br/computacao-em-nuvem.htm

o http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem