Tecnologias Atuais de Redes Cloud Computing 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. 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. 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). ete.fagnerlima.pro.br 1 Tecnologias Atuais de Redes Cloud Computing 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. ete.fagnerlima.pro.br 2 Tecnologias Atuais de Redes Cloud Computing 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 ete.fagnerlima.pro.br 3 Tecnologias Atuais de Redes Cloud Computing 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. ete.fagnerlima.pro.br 4 Tecnologias Atuais de Redes Cloud Computing 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 ete.fagnerlima.pro.br 5 Tecnologias Atuais de Redes Cloud Computing 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. ete.fagnerlima.pro.br 6 Tecnologias Atuais de Redes Cloud Computing 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 Nuvem. 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. ete.fagnerlima.pro.br 7 Tecnologias Atuais de Redes Cloud Computing 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 ete.fagnerlima.pro.br 8 Tecnologias Atuais de Redes Cloud Computing 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. ete.fagnerlima.pro.br 9 Tecnologias Atuais de Redes Cloud Computing Figura 5: Modelos de implantação de Computação em Nuvem. 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. ete.fagnerlima.pro.br 10 Tecnologias Atuais de Redes Cloud Computing 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 ete.fagnerlima.pro.br 11 Tecnologias Atuais de Redes Cloud Computing 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. ete.fagnerlima.pro.br 12 Tecnologias Atuais de Redes Cloud Computing 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. 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. 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. ete.fagnerlima.pro.br 13 Tecnologias Atuais de Redes Cloud Computing 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), email com o domínio próprio (por exemplo, [email protected]), entre ete.fagnerlima.pro.br 14 Tecnologias Atuais de Redes Cloud Computing 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). ete.fagnerlima.pro.br 15 Tecnologias Atuais de Redes Cloud Computing 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-ecomputacao-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 ete.fagnerlima.pro.br 16