UNIJUI – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEENG – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS CLOUD COMPUTING – ESTUDO DE CASO: FERRAMENTAS DE ARMAZENAMENTO ROBERTO ELI SANMARTIM Ijuí Dezembro/2013 UNIJUI – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEENG – DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS CLOUD COMPUTING – ESTUDO DE CASO: FERRAMENTAS DE ARMAZENAMENTO ROBERTO ELI SANMARTIM Trabalho de Conclusão de Curso apresentado ao curso de Ciência da Computação do Departamento de Ciências Exatas e Engenharias (DCEEng), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para obtenção do titulo Bacharel em Ciência da Computação. Orientador: Prof. Ms. Edson Luiz Padoin Ijuí Dezembro/2013 CLOUD COMPUTING – ESTUDO DE CASO: FERRAMENTAS DE ARMAZENAMENTO ROBERTO ELI SANMARTIM Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação do Departamento de Ciências Exatas e Engenharias (DCEENG), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para obtenção do titulo Bacharel em Ciência da Computação _____________________________________ Orientador: Prof. Ms. Edson Luiz Padoin BANCA EXAMINADORA _____________________________________ Prof. Ms. Rogerio Samuel de Moura Martins Ijuí Dezembro/2013 AGRADECIMENTOS Agradeço primeiramente a Deus pela sabedoria e por sempre me iluminar e me dar forças nos momentos difíceis. Meu maior agradecimento a meus pais Clecio e Maria Izabel por sempre me encorajarem em minhas escolhas, sempre me dando força para seguir em frente em busca de meu sonho em se tornar um profissional da área da Computação. Não medindo esforços para me ajudar sempre em tudo, sempre disponível para o que precisar. A meu irmão Gabriel pelos momentos engraçados que me faziam esquecer por algum instante a tensão de finalizar meu TCC. Ao meu professor orientador Ms. Edson Luis Padoin pela sua disponibilidade, auxílio e apoio em todas as horas. Por topar ser meu orientador mesmo estando a milhares de quilômetros de distância. Aos demais professores pelos ensinamentos transmitidos, pela amizade, dedicação e paciência em todos os momentos do curso. Aos meus colegas pelos momentos de alegria e companheirismo. MUITO OBRIGADO!!! RESUMO A Computação em Nuvem se tornou nos últimos anos uma ferramenta muito importante na área da tecnologia. Tarefas como obtenção, compartilhamento, manipulação e exploração de uma grande quantidade de dados são comuns nesta área. A computação em nuvem pode contribuir com este cenário à medida que pode disponibilizar recursos de processamento, memória, armazenamento para utilização imediata. A procura pelo uso da computação em nuvem hoje no mercado é muito grande. Existem muitas ferramentas de armazenamento em nuvem, algumas são mais conhecidas e outras menos. Este trabalho tem como objetivo entender o que é a computação em nuvem, quais os benefícios e risco a sua utilização, os modelos de serviço e os tipos de nuvem. Também fazer uma análise das ferramentas de armazenamento em nuvem, apontando suas principais características. Palavras chave: Armazenamento em Nuvem, Casos de Uso, Computação em Nuvem. ABSTRACT Cloud computing has become in recent years a very important tool in the area of technology. Tasks such as obtaining, sharing, manipulation and exploration of a large amount of data is common in this area. Cloud computing can contribute to this scenario as it can provide processing resources, memory, storage for immediate use. The demand for the use of cloud computing in today's market is very large. There are many tools for cloud storage, some are more and others less known. This study aims to understand what is cloud computing, what benefits and risk its use, service models and cloud types. Also make an analysis of cloud storage tools, pointing out their main characteristics. Keywords: Cloud Storage. Cloud Computing. Use Cases. LISTA DE ABREVIATURAS API – Application Programming Interface CaaS – Comunication as a Service CPU – Central Processing Unit DASD – Direct access storage device DBaaS – Data Base as a Service DevaaS – Development as a Service EaaS – Everything as a Service IaaS – Infra-estrutura como Serviço NIST – National Institute of Standards and Technology PaaS – Plataforma como Serviço PDA – Personal digital assistants QoS – Quality of Service SaaS – Software como Serviço SGBD – Sistema de Gerenciamento de Banco de Dados SLA – Services Level Agreement TI – Tecnologia da Informação VoIP – Voz sobre IP LISTA DE FIGURAS Figura 1. Cloud Computing 17 Figura 2. Segurança na nuvem 21 Figura 3. Principais camadas de aplicação 33 Figura 4. Modelo de serviço SaaS 36 Figura 5. Modelo de serviço PaaS 38 Figura 6. Modelo de serviço IaaS 40 Figura 7. Modelos de Implantação 42 Figura 8. Nuvem Híbrida 46 Figura 9. Tela inicial Dropbox 53 Figura 10. Versionamento 55 Figura 11. Tela inicial Skydrive 57 Figura 12. Histórico de versões 59 Figura 13. Tela inicial Google Drive 60 Figura 14. Gerenciar versões 62 Figura 15. Tela inicial iCloud 64 Figura 16. Tela inicial Ubuntu One 67 Figura 17. Tela inicial Sugarsync 70 Figura 18. Todas as versões 71 LISTA DE TABELAS Tabela 1. Modelos de Serviços 40 Tabela 2. Valor Planos Dropbox 54 Tabela 3. Valor planos Skydrive 58 Tabela 4. Valor planos Google Drive 61 Tabela 5. Valor planos iCloud 65 Tabela 6. Valor planos Ubuntu One 68 Tabela 7. Valor planos Sugarsync 71 Tabela 8. Comparação entre as ferramentas 75 SUMÁRIO 1 INTRODUÇÃO ....................................................................................................... 12 1.1 Justificativa........................................................................................................ 14 1.2 Objetivo Geral .................................................................................................... 14 1.3 Objetivos específicos........................................................................................ 14 2 COMPUTAÇÃO EM NUVEM ................................................................................. 16 2.1 Histórico ............................................................................................................. 18 2.2 Tecnologias ....................................................................................................... 19 2.2.1 Segurança ....................................................................................................................19 2.2.2 Escalabilidade .............................................................................................................21 2.2.3 Interoperabilidade .......................................................................................................22 2.2.4 Confiabilidade..............................................................................................................23 2.2.5 Disponibilidade ...........................................................................................................24 2.2.6 Auto-serviço sob demanda .......................................................................................24 2.2.7 Pooling de Recursos ..................................................................................................25 2.2.8 Elasticidade..................................................................................................................26 2.2.9 Serviço Medido............................................................................................................27 2.2.10 Portabilidade..............................................................................................................27 2.2.11 Alta velocidade no acesso a banda larga ............................................................27 2.2.12 Recursos Compartilhados ......................................................................................28 2.2.13 Dispositivos de acesso ...........................................................................................29 2.2.14 Dispositivos de armazenamento ...........................................................................29 2.2.15 Pay as you go ............................................................................................................31 2.2.16 Service Level Agreement (SLA) .............................................................................32 2.3 Modelos de Serviço .......................................................................................................32 2.3.1 Software como Serviço (SaaS).................................................................................34 2.3.2 Plataforma como Serviço (PaaS) .............................................................................36 2.3.3 Infraestrutura como Serviço (IaaS) .........................................................................38 2.3.4 Comparação entre os tipos de serviços. ...............................................................40 2.3.5 Outros Modelos de Serviço ......................................................................................41 2.4 Tipos de Nuvens ................................................................................................ 41 2.4.1 Nuvem Pública ............................................................................................................43 2.4.2 Nuvem Privada ............................................................................................................44 2.4.3 Nuvem Híbrida .............................................................................................................45 2.4.4 Comunidade .................................................................................................................46 2.5 Benefícios .......................................................................................................... 47 2.6 Riscos................................................................................................................. 49 3 ESTUDO DE CASO: FERRAMENTAS DE ARMAZENAMENTO EM NUVEM ..... 52 3.1 DropBox ............................................................................................................. 53 3.2 SkyDrive ............................................................................................................. 57 3.3 Google Drive ...................................................................................................... 60 3.4 iCloud ................................................................................................................. 63 3.5 Ubuntu One ........................................................................................................ 66 3.6 SugarSync .......................................................................................................... 70 3.7 Comparativos .................................................................................................... 73 4 CONCLUSÃO ........................................................................................................ 77 5 REFERÊNCIAS BIBLIOGRÁFICAS ...................................................................... 79 12 1 INTRODUÇÃO Neste trabalho serão analisados quais os benefícios que a Cloud Computing traz aos usuários. Quais as vantagens de se usar aplicações de armazenamento em nuvem. Vivemos na era da informação, nosso ambiente é cercado de tecnologias que visam nos manter conectados com o mundo. Uma pessoa processa cerca de 34 gigabytes por dia e nos últimos três anos criou-se mais informações do que nos últimos quarenta mil anos de humanidade, toda essa evolução foi possível graças à inovação tecnológica, principalmente a criação da Internet (LIMA, 2010). Com o crescente avanço tecnológico e maior velocidade e disponibilidade de acesso a internet, muitas empresas passaram a utilizar a computação em nuvem, ou cloud computing, que consiste em colocar dados, softwares e hardwares na rede, sem precisar instalá-los localmente. Muitas das empresas estão aderindo a essa tendência devido a um custo mais acessível que esse serviço proporciona ao invés de investir em uma ampla infraestrutura de TI dentro da empresa. Apesar da vantagem de não ser preciso manter os aplicativos, os computadores e nem as bases de dados dentro da própria organização, deve-se atentar para a segurança, pois quem estará com todas as informações são as empresas que oferecem os serviços de computação em nuvem (DIAS, 2013). A evolução da computação e da internet foi relativamente rápida. Em menos de 40 anos mudamos um cenário centralizado com mainframes, em que as aplicações e os dados eram locais e distribuídos através de redes internas passando para aplicações desktops que compartilham a mesma base de dados. Depois, as aplicações passaram a ser acessadas via browser, disponibilizadas localmente pelas empresas até chegarmos ao nosso cenário atual, em que as aplicações são armazenadas em servidores públicos, com alto poder de processamento e disponibilidade, visando mantê-las sempre em funcionamento com o menor custo possível (SOUSA, MOREIRA e MACHADO, 2009). A computação em nuvens trouxe de volta uma ideia de forma remodelada, a centralização. Criam-se vários datacenters distribuídos, controlados por empresas gigantescas como Microsoft, Google e Amazon e outras. Coloca-se o hardware feito 13 sob demanda, centrais de energia e resfriamento de última geração e softwares de controle que provêm aos clientes uma forma rápida de somar, ou retirar, máquinas de seu pátio computacional. Isto é a computação em nuvem. Uma forma de prover serviços com pagamento sob demanda de uso. Você paga pelo que usa e pelo que necessita (COMPUTERWORLD, 2010). Este trabalho tem como objetivo demonstrar as vantagens da utilização da computação em nuvem através de um estudo das suas tecnologias, de seus riscos e benefícios e os diversos tipos de nuvem e também da analise de algumas ferramentas de armazenamento em nuvem. Será feito um estudo sobre cada uma das principais ferramentas de armazenamento em nuvem disponível no mercado. Qual ferramenta possui melhor custo/beneficio, qual delas tem uma maior preocupação quanto à segurança das informações dos usuários. O trabalho está assim organizado em cinco capítulos, sendo o primeiro a parte introdutória, onde explano sobre meus objetivos com o desenvolvimento deste trabalho. No segundo capítulo será abordada a história da computação em nuvem, as tecnologias de segurança, escalabilidade, interoperabilidade, confiabilidade e disponibilidade. Os modelos de serviços. Também será abordado sobre os tipos de computação em nuvens, os benefícios e riscos. No terceiro capítulo será abordado um estudo de caso das diversas ferramentas de armazenamento em nuvens disponíveis no mercado. As principais ferramentas abordadas serão Dropbox, Skydrive, Google Drive, iCloud, Ubuntu One, SugarSync. O estudo foi feito sobre essas ferramentas por serem as que estão em maior evidência e em constante evolução. No quarto capítulo uma conclusão sobre o trabalho, o que de mais relevante foi possível abordar com este estudo. E por fim o referencial teórico, apresentando todas as referências utilizadas neste estudo. 14 1.1 Justificativa A motivação para desenvolver este trabalho, vem da grande procura do uso da computação em nuvem no mercado. Há muitas ferramentas para armazenamento em nuvem, algumas mais conhecidas e outas menos. Existem questionamentos sobre quais são os pontos positivos e negativos destas ferramentas, se os arquivos armazenados estão bem protegidos na nuvem, dentre as principais ferramentas disponíveis no mercado, quais possuem maiores facilidades para o uso no dia a dia. 1.2 Objetivo Geral Esta pesquisa tem como objetivo geral analisar quais são os pontos favoráveis à utilização de computação em nuvem, quais suas funcionalidades, benefícios e riscos. Também será feito um estudo de diversas ferramentas de armazenamento em nuvem e um comparativo entre elas. Justificando quais são mais recomendadas, usando como critérios, o custo, velocidade, segurança, Sistemas Operacionais que a aplicação suporta, tamanho máximo de cada arquivo e versionamento. 1.3 Objetivos específicos Os objetivos específicos desta pesquisa são: • Entender o que é computação em nuvem; • Quais os benefícios de se usar; • Segurança das aplicações; • Sua confiabilidade; • Seus riscos; • Tipos de Computação em Nuvem; Também foi feito um estudo de caso, abordando algumas das principais ferramentas de armazenamento em nuvem. Fazendo uma análise destas 15 ferramentas, usando como critério, o custo, velocidade, segurança, sistema operacional que a aplicação suporta e se possui versionamento e outras características de cada ferramenta. 16 2 COMPUTAÇÃO EM NUVEM Neste capítulo foi abordado o referencial teórico da computação em nuvem, o histórico e suas tecnologias, também foram abordados os modelos de serviço, os tipos de nuvens e os benefícios e riscos que ela traz a computação. O termo computação em nuvem, do inglês, Cloud Computing, surgiu como um novo modelo de computação baseado em uma rede massiva de servidores virtuais ou físicos. É visto por alguns especialistas como um conceito mais avançado de virtualização (TAURION, 2007). A computação em nuvem é uma revolução quanto à questão de armazenamento de dados e informações, pois nada mais é instalado e armazenado na própria maquina, tudo esta disponível na internet e pode ser acessado em qualquer lugar. O conceito de computação em nuvem significa possuir uma grande capacidade de armazenamento, processamento e compartilhamento de informações na qual o próprio cliente estabelece quais são as suas necessidades e paga pelos recursos ou tempo ao qual esta utilizando. Por isso ela é considerada como um serviço e não como um produto (FUGULIN, 2010). O conceito de computação em nuvem usa da premissa da utilização de software ou sistemas em rede e da capacidade de dispor recursos ao usuário sob demanda. Desta maneira, as informações são permanentemente armazenadas em servidores na Internet (localizados na “nuvem”), sendo realizadas caches destes dados em notebooks, desktops, dispositivos móveis, entre outros computadores desktop, notebooks, dispositivos móveis, os quais estarão fazendo uso da infraestrutura em nuvem (FUGULIN, 2010). Computação em nuvem é a computação considerada como um serviço, não como um produto. O interessado adquire hardware ou software, mas aluga e paga apenas pelo que utilizar (FERNANDEZ, 2011). 17 Figura 1. Cloud Computing Fonte: VELTE, 2012, p.5. A figura 1 é uma ilustração de como é a prestação de serviço, a empresa que contrata não paga pelo hardware e pela manutenção. Quem fica responsável por isso é a prestadora que deve compra equipamentos e fazer a manutenção dos mesmos (VELTE, 2012). Com o Cloud Computing, o usuário não precisa investir na compra de computadores e infraestrutura de rede, pois vai utilizar os dispositivos na nuvem. Quem fica responsável por toda a infraestrutura física é o fornecedor, que possui uma rede escalável e elástica, sendo assim apenas cobra a demanda que o cliente usou de sua infraestrutura (VELTE, 2012). Em suma, o Cloud Computing pode ser definido como um modelo no qual a computação (processamento, armazenamento e software) está em algum lugar da rede e é acessada remotamente, via internet. O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente irão usar (FEIJÓ, 2009). Há muitos motivos pelos quais as empresas estão mudando as soluções de tecnologia da informação, o que inclui computação em nuvem. Em primeiro lugar, o mercado de computação em nuvem ainda está em crescimento constante, as falhas ainda podem ser mais frequentes nesse primeiro momento, grandes empresas começarão a comprar estes conceitos que ajudarão a reduzir seus respectivos custos, pois irão obter os recursos apenas quando precisar deles e pagará apenas o 18 que for usar. Novas ferramentas de gerenciamento chegarão ao mercado, possibilitando o melhor uso desta nova tecnologia e consequentemente nuvens mais seguras irão surgir, isto é só uma questão de tempo (TAURION, 2009). 2.1 Histórico O Conceito de computação em nuvem surgiu na década de 1960 por J.C.R. Licklider que imaginava a computação na forma de uma rede global e quem também introduziu a ideia de uma rede de computadores intergaláctica (CHIRIGATTI, 2009) (KAUFMAN, 2009; MODAMED, 2009). Na década de 60, John McCarthy, famoso e importante pesquisador da área da informática, propôs a ideia de que a computação deveria ser organizada na forma de um serviço de utilidade pública (CHIRIGATI, 2009). A primeira vez que o termo computação em nuvem foi utilizado, foi no ano de 1997 pelo então professor de sistemas de informação da University of Southern Califórnia Ramnath Chellappa (FERNANDEZ, 2011). Outro marco importante para a computação em nuvem foi em 1999, com o surgimento da Salesforce.com, que foi a pioneira em disponibilizar aplicações empresarias através da internet. A partir de então outras empresas começaram a investir nesta área, como a Amazon, Google, IBM e Microsoft (MOHAMED, 2009) (CHIRIGATI, 2009). Um fator predominante para o grande crescimento na demanda de computação em nuvem é o crescimento gigantesco de armazenamento de dados. De acordo com projeções da CenturyLink grande empresa do ramo de comunicação de dados dos EUA até 2015, a procura para armazenamento de dados irá aumentar em quatro vezes levando em conta novos dados e também os dados replicados (CANTU, 2012). 19 2.2 Tecnologias A computação em nuvem não é somente uma nova tecnologia, mas sim a combinação de muitas tecnologias que já existiam anteriormente. Estas tecnologias têm crescimento em ritmos diferentes e em diferentes contextos e não foram desenvolvidas em um todo coerente, porém se uniram para criar o ecossistema para a computação em nuvem. Novos avanços nas tecnologias de armazenamento em disco, conexão banda larga e os servidores de baixo custo, combinaram para fazer da computação em nuvem uma solução mais convincente aos usuários (MATHER, 2009). O entusiasmo com a computação em nuvem se deve às inúmeras vantagens que ela pode oferecer tanto aos fornecedores de tecnologia quanto aos usuários (MATHER, 2009). 2.2.1 Segurança Um dos maiores desafios a serem enfrentados pela computação em nuvem, sem nenhuma dúvida é a segurança. Nesse novo modelo de computação, o Data Center armazena informações que os usuários armazenariam em seus próprios computadores. Além disso, esses usuários não sabem onde estão armazenados seus dados nem a fonte dos dados que estão armazenados junto aos deles. Assim, a proteção da privacidade dos usuários e a integridade das informações devem ser de responsabilidade dos prestadores de infraestrutura e de serviços (DIKAIAKOS, 2009). A questão da incerteza quanto à segurança da computação em nuvem é o que mais tem causado preocupação quando se é abordado este tema (MATHER, 2009). A disponibilidade de serviços permite que o usuário possa utilizar a nuvem onde e quando quiser. Como a nuvem fica na internet podem ocorrer atrasos e sistemas indisponíveis. Os ambientes de computação em nuvem possuem alta disponibilidade, portanto, estes podem utilizar técnicas de balanceamento de carga e composição de nuvens de forma a atender às necessidades dos usuários. Por 20 exemplo, podem-se construir aplicações altamente disponíveis com a implantação de duas ofertas de nuvem diferentes. Se caso uma nuvem falhar, a outra nuvem continua a apoiar a disponibilidade das aplicações (SOUZA, 2009). Velte A., Velte T. e Elsenpeter (2010) destacam alguns pontos relevantes para a segurança nas nuvens. • Monitoramento: maior facilidade no controle da segurança, pois o monitoramento não se da em servidores e em numerosos clientes, mas sim na nuvem; • Intercâmbio Instantâneo: caso ocorram problemas com os dados armazenados, pode ser feito uma transferência instantânea para outro computador, sem compromete a integridade das informações; • Construções Seguras: a rede e o software da própria empresa podem ser agrupados, gerando assim um nível maior de segurança nos dados. • Melhoria da Segurança de Software: como os fornecedores não querem perder vendas, eles aplicam os melhores softwares para obter a maior segurança possível dos dados; • Teste de Segurança: nos serviços SaaS, os testes de segurança que são realizados nas aplicações não são cobras dos clientes. A utilização da computação em nuvem está crescendo principalmente em empresas de pequeno e médio porte, pela necessidade de maior segurança dos dados destas organizações. Na maioria das vezes estas empresas não possuem uma ampla área de TI para assegurar a integridade dos dados. E com o uso dos serviços nas nuvens, os níveis de segurança obtidos são bem maiores, garantindo assim maior qualidade dos dados e um menor investimento inicial (DIAS, 2012). Conforme Velte (2012) p.138, para se proteger os dados, a maioria dos sistemas usa uma combinação das seguintes técnicas: • Criptografia: um logaritmo complexo é usado para codificar a informação. Para decodificar os arquivos criptografados, o usuário precisa da chave de criptografia. Embora seja possível quebrar informações criptografadas, é muito difícil e a maioria dos hackers não tem acesso à quantidade de poder de processamento do computador que eles teriam de quebrar o código; 21 • Processos de autenticação: isto requer que o usuário crie um nome e uma senha; • Práticas de autorização: o cliente enumera as pessoas que estão autorizadas a ter acesso às informações armazenadas no sistema de nuvem. Muitas têm vários níveis de autorização. Por exemplo, um trabalhador de linha de frente poderia ter acesso limitado a dados armazenados na nuvem e o chefe do departamento de TI pode ter completo e livre acesso a tudo. Figura 2. Segurança na nuvem Fonte: VELTE, 2012, p.139. Mas mesmo com essas medidas em vigor, ainda existem preocupações de que os dados armazenados em um sistema remoto são vulneráveis. Há sempre a preocupação de que um hacker vai encontrar um caminho para um sistema seguro e acesso a dados. Além disso, um funcionário descontente poderá alterar ou destruir os dados usando as suas próprias credenciais de acesso (VELTE, 2012). 2.2.2 Escalabilidade Embora as organizações possam ter centenas ou milhares de sistemas, a computação em nuvem fornece a capacidade de escala a dezenas de milhares de sistemas, bem como a capacidade de uma rede sólida, de banda e espaço de armazenamento (MATHER 2009). A computação em nuvem é composta por uma enorme rede de nós que necessita ser escalável. A escalabilidade deve ser transparente para o usuário, 22 podendo estes dados estar na nuvem e armazenados em qualquer lugar sem a necessidade de saber onde estão estes dados e como eles são acessados (SOUSA, 2009). A escalabilidade é uma característica fundamental na computação em nuvem. As aplicações desenvolvidas para uma nuvem precisam ser escaláveis, de forma que os recursos utilizados possam ser ampliados ou reduzidos de acordo com a demanda. Para que isso seja possível, as aplicações e os seus dados devem ser flexíveis (ou “elásticos”) o suficiente. Porém, tornar as aplicações e os dados “elásticos” pode não ser tão simples assim, dependendo da implementação (CHIRIGATI, 2009). Além das aplicações e dos seus dados serem escaláveis, essa escalabilidade também deve ser realizada rapidamente, ou seja, a resposta das aplicações à demanda dos recursos não pode demorar. Essa particularidade é essencial, visto que, na computação em nuvem, trabalha-se com o modelo pay-per-use e, consequentemente, é importante evitar que os usuários desperdicem dinheiro (ARMBRUST, 2009). Se o usuário é surpreendido por uma demanda repentina, a computação em nuvem pode ajudá-lo a gerenciar ao invés de comprar os ciclos da CPU ou armazenamento de um terceiro. Uma vez que os custos são baseados no consumo, provavelmente não teria de pagar tanto como se fosse o caso de comprar o equipamento. Depois de ter cumprido a necessidade de equipamento adicional, basta parar de usar o prestador de serviços em nuvem e o usuário não terá que lidar com equipamentos desnecessários irá simplesmente adicionar ou subtrair com base na necessidade de sua organização (RUSCHEL, 2008). 2.2.3 Interoperabilidade A interoperabilidade diz respeito à capacidade dos usuários de executar os seus programas e os seus dados em diferentes nuvens e plataformas. Isso permite, por exemplo, que as aplicações não fiquem restritas a somente uma nuvem. Essa é uma característica amplamente desejável no ambiente da computação em nuvem. Ultimamente, muitas aplicações têm sido desenvolvidas considerando esse fator. 23 Porém, ainda há a necessidade da implementação de padrões e interfaces para que essa portabilidade seja possível (DIKAIAKOS, 2009). A interoperabilidade está preocupada com a capacidade dos sistemas de se comunicar entre eles. Ela exige que a informação comunicada seja compreendida pelo sistema de recepção. No mundo da computação em nuvem, isso significa a capacidade de escrever código que trabalha com mais de um fornecedor de nuvem simultaneamente, independente das diferenças entre os prestadores de serviços (AHRONOVITZ, 2010). A ausência, em geral, dessa característica acaba prejudicando a adoção da computação em nuvem por parte de muitas organizações (ARMBRUST, 2009). Os usuários têm a preocupação de não conseguirem retirar seus dados e seus programas de uma nuvem e colocá-los em outra com relativa facilidade, havendo a sensação de que os dados ficam presos em uma determinada nuvem (CHIRIGATI, 2009). Empresas de desenvolvimento de software têm interesse que aplicações possam ser transferidas para a nuvem de forma simples. Essas empresas também esperam que exista interoperabilidade entre diferentes serviços de nuvem, por exemplo, entre serviços de armazenamento. As APIs da Amazon estão se tornando um padrão de fato para serviços sob demanda. Contudo, a quantidade de tecnologias envolvidas é muito grande, tornando-se um desafio padronizar as diversas interfaces e serviços (SOUSA, 2009). 2.2.4 Confiabilidade Um sistema é dito como confiável se ele não falhar com frequência, e principalmente, se ele não perder os dados ao falhar. As aplicações desenvolvidas para a computação em nuvem devem ser confiáveis, ou seja, elas devem possuir uma arquitetura que permita que os dados permaneçam intactos mesmo que haja falhas ou erros em um ou mais servidores ou máquinas virtuais sobre as quais as aplicações estão rodando. Essa característica está associada à realização de cópias de segurança dos dados. O armazenamento dessas cópias deve ser feito em local 24 seguro para que, caso haja alguma falha nas aplicações e elas percam os dados, estes, ou pelo menos uma parte deles, possam ser recuperados (CHIRIGATI, 2009). 2.2.5 Disponibilidade Os usuários da computação em nuvem possuem uma grande preocupação com a questão da disponibilidade dos serviços. Eles esperam que as aplicações estejam sempre disponíveis, ou seja, em execução durante todo o tempo, principalmente nos momentos necessários. Porém, há exemplos de serviços que já ficaram indisponíveis por um determinado período, como o Gmail, que, em 08/11/2008, ficou fora do ar por, aproximadamente, uma hora e meia (ARMBRUST, 2009). Portanto, uma alternativa é ter mais de um prestador de serviços e mais de uma nuvem, o que permite aos usuários executarem seus programas em uma nuvem enquanto a outra apresenta problemas técnicos. Mas essa alternativa pode não ser tão simples, no caso de uma aplicação não funcionar corretamente em outras nuvens (ARMBRUST, 2009). Dependendo do fornecedor, o usuário pode contar com alta disponibilidade, já que, se, por exemplo, um servidor para de funcionar, os demais que fazem parte da estrutura continuam a oferecer o serviço (RUSCHEL, 2008). 2.2.6 Auto-serviço sob demanda O usuário pode adquirir unilateralmente recurso computacional como tempo de processamento no servidor ou armazenamento na rede à medida que necessite e sem precisar de interação 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 o usuário, que possuem perfis diferentes e assim podem personalizar os seus ambientes computacionais, por exemplo, instalação de software e configuração de rede para definição de determinados privilégios (SOUSA, 2009). 25 Os usuários provisionam a utilização de recursos, tais como sistemas complementares (capacidade de processamento, software, recursos de armazenamento) e da rede (MATHER, 2009). 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 (Birman et al. 2009). Comparados com sistemas tradicionais, é possível identificar três fatores complexos: intervenção humana limitada, alta alternância na carga de processamento e uma variedade de infraestruturas compartilhadas. Na maioria dos casos, não existem administradores de sistemas para ajudar os desenvolvedores que acessam a nuvem, fazendo com que a plataforma seja automatizada ao máximo e os usuários podem variar a carga de trabalho habitual, necessitando de uma infraestrutura de virtualização eficaz. A gerência também é importante no contexto do desenvolvimento de tecnologia de auto sintonia. Assim sendo, técnicas adaptativas e online deverão ser desenvolvidas para tornar estes sistemas viáveis (SOUSA, 2009). Os usuários não são mais confrontados com a escolha entre software obsoleto e atualização de altas despesas. Quando o aplicativo é baseado na web, as atualizações acontecem automaticamente e são disponibilizados na próxima vez que o usuário ocupar a nuvem. Sempre que o usuário acessar uma aplicação baseada na web, ele está recebendo a versão mais recente, sem a necessidade de pagar ou fazer o download de uma atualização (MILLER, 2009). 2.2.7 Pooling de Recursos Os recursos computacionais do provedor são agrupados para servir múltiplos usuários através de 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 26 recursos computacionais, podendo somente especificar a localização em um nível mais alto de abstração, tais como o país, estado ou datacenter (SOUSA, 2009). O provedor de recursos de computação é agrupado para atender vários consumidores através de um modelo muti-tenant ou também conhecido como MultiInquilino, com diferentes recursos físicos e virtuais atribuídos dinamicamente e novamente de acordo com a demanda do consumidor. Há um senso de independência local em que o cliente geralmente não tem nenhum controle ou conhecimento sobre a localização exata dos recursos disponibilizados, mas pode ser capaz de especificar o local em um nível maior de abstração (por exemplo, país, estado ou do datacenter). Exemplos de recursos incluem o armazenamento, processamento, memória, largura de banda de rede e máquinas virtuais (NIST, 2009). 2.2.8 Elasticidade Recursos podem ser adquiridos de forma rápida e elástica, em alguns casos automaticamente, caso haja 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 (SOUSA, 2009). Os usuários podem aumentar ou diminuir rapidamente os seus recursos de computação, conforme necessário, como também liberar recursos para outros usos, quando eles não são mais necessários (MATHER, 2009). A elasticidade é definida como a capacidade de dimensionar os recursos, conforme necessário. Para o consumidor, a nuvem parece ser infinita e o consumidor pode comprar muita ou pouca potência de computação, como for necessário. Esta é uma das características essenciais de computação em nuvem, na definição do NIST (AHRONOVITZ, 2010). 27 2.2.9 Serviço Medido Sistemas em nuvem automaticamente controlam e aperfeiçoam o uso de recursos por meio de uma capacidade de medição. A automação é realizada em algum nível de abstração apropriado para o tipo de serviço, tais como armazenamento, processamento, largura de banda e contas de usuário ativas. O uso de recursos pode ser monitorado e controlado, possibilitando transparência para o provedor e o usuário do serviço utilizado. Para garantir o QoS (Quality of Service), pode-se utilizar a abordagem baseada em níveis de acordo de serviço SLA (Services Level Agreement). O SLA fornece informações sobre os níveis de disponibilidade, funcionalidade, desempenho ou outros atributos do serviço como faturamento e até mesmo penalidades em caso de violação destes níveis (SOUSA, 2009). A computação em nuvem reduz bastante os custos com hardware e manutenção de software para organizações de todos os tamanhos. Em primeiro lugar, o hardware, com menos hardware (servidores a menos) necessários na organização de software, devemos lembrar que todas as aplicações em nuvem são baseadas em outros lugares, portanto não há software em computadores da organização para a equipe de TI manter (MILLER, 2009). 2.2.10 Portabilidade Portabilidade é a capacidade de executar componentes ou sistemas escritos para um ambiente em outro ambiente. No mundo da computação em nuvem, este termo se refere aos ambientes de software e hardware tanto físicos como virtuais (AHRONOVITZ, 2010). 2.2.11 Alta velocidade no acesso a banda larga Um componente crítico da nuvem é a rede de banda larga, que oferece os meios para contato entre os componentes e proporciona uma das diferenças substanciais a partir do conceito de Utility Computing de trinta anos atrás. Acesso à 28 banda larga é hoje amplamente disponível, especialmente em áreas metropolitanas. O acesso generalizado sem fio (por exemplo, Wi-Fi, celular, emergentes WiMAX) está disponível, e estabelece dispositivos móveis como pontos de entrada para os recursos de TI da empresa e da nuvem (MATHER, 2009). Uma vez que não se pode exigir que os sistemas que constituem uma nuvem sejam da mesma tecnologia. Os recursos estão disponíveis através da rede e acessados por meio de mecanismos que promovam o padrão utilizado por plataformas heterogêneas (por exemplo, telefones celulares, laptops e PDAs). A interface de acesso à nuvem não obriga os usuários a mudarem 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 (RUSCHEL, 2008). 2.2.12 Recursos Compartilhados Ao contrário dos modelos anteriores de computação, que assumiram recursos dedicados (ou seja, as instalações dedicadas a um único usuário ou proprietário), a computação em nuvem é baseada em um modelo de negócios em que os recursos são compartilhas (isto é, vários usuários usam o mesmo recurso) na rede (MATHER, 2009). De acordo com NIST (Instituto Nacional de Padrões e Tecnologia), a proposta do modelo de computação em nuvem é ter uma aplicação atendendo a múltiplos clientes, chamados de tenants ou inquilinos. Inquilinos não são usuários individuais, mas empresas clientes do software. Uma arquitetura multi-inquilino é essencial para a computação em nuvem, pois permite que múltiplos inquilinos compartilhem recursos físicos comuns (hardware e software), mas permanecendo logicamente isolados. Recursos compartilhados são comuns na maioria dos sistemas baseados em nuvem (AHRONOVITZ, 2010). 29 2.2.13 Dispositivos de acesso A gama de dispositivos de acesso para a nuvem tem se expandido nos últimos anos. Computadores domésticos e empresariais, computadores pessoais (notebooks), dispositivos de telefonia móvel, dispositivos móveis personalizados, todos estão online. Curiosamente, o crescimento do iPhone e da proliferação de aplicações disponíveis a partir da App Store ilustra uma melhoria em termos de acesso à nuvem. Este aumento no acessa é resultado do crescimento do uso e dos serviços na nuvem. Por exemplo, agora você pode usar o Skype através do seu iPhone e outros dispositivos móveis, trazendo esta rede peer-to-peer muito mais perto dos usuários. A Salesforce.com lançou uma aplicação que permite aos usuários acessar seus serviços a partir do iPhone, assim como muitos outros fornecedores (MATHER, 2009). Computadores de baixo custo para o usuário consistem em uma vantagem quantitativa financeira na qual o usuário não precisa de um computador potente (e, portanto, de alto preço), precisa de um computador para executar a computação em nuvem que é baseado nas aplicações da web. Como o aplicativo é executado na nuvem, o computador não precisa do poder de processamento e espaço em disco rígido pelo software tradicional. Por isso os computadores de clientes que usam a tecnologia em nuvem podem ser de menor custo, com menos discos rígidos, menos memória, processadores mais eficientes, e assim por diante. Em suma, um computador de usuário neste cenário nem sequer precisa de um drive de CD ou DBD, porque não existem programas de software a serem carregados e os arquivos de documentos não precisam ser salvos (MILLER, 2009). 2.2.14 Dispositivos de armazenamento Diminuir os custos de armazenamento e a flexibilidade com que o armazenamento pode ser implantado mudou o conceito de armazenamento. O dispositivo de armazenamento fixo de acesso direto (DASD) foi substituído por redes de armazenamento (SANs), que reduziram os custos e permitiram muito mais flexibilidade em armazenamento no sistema corporativo. SAN software gerencia a 30 integração dos dispositivos de armazenamento e pode independentemente alocar espaço de armazenamento sob demanda através de um número de dispositivos (MATHER, 2009). Observando o que ocorre quando um computador não tem espaço para armazenar e executar uma tonelada de aplicativos baseados em software com menos programas sobrecarregando a memória do computador, os usuários verão melhor o desempenho de seus computadores. Simplificando, computadores em um sistema de computação em nuvem irão arrancar mais rápidos e terão maior velocidade, porque eles têm menos programas e processos carregados na memória (MILLER, 2009). A nuvem oferece armazenamento em uma capacidade quase ilimitada. Considere quando o seu computador está funcionando fora do espaço de armazenamento. Por exemplo, em computador com 200GB de disco rígido a capacidade é muito pequena, quando comparado com as centenas de petabytes (um milhão de gigabytes) disponíveis na nuvem. Tudo que seria preciso armazenar é possível, mas não podemos esquecer que quantidade de dados armazenados acarreta em valores pagos aos provedores de serviços de nuvem (MILLER, 2009). O gerenciamento de dados é considerado um ponto crucial no contexto de computação em nuvem. Os SGBDs relacionais não possuem escalabilidade quando milhares de sítios são considerados. Assim, aspectos que fazem processamentos de consultas e de armazenamento de dados e controle transacional têm sido flexibilizados por abordagens que garantem a escalabilidade, mas ainda não existem soluções que combinem para melhorar o desempenho sem comprometer a consistência dos dados (BRANTNER, 2008). Existem diversas abordagens para gerenciar dados em nuvens, dentre as quais podemos citar o Microsoft Azure e HBase. Uma das características mais importantes é o trade-off entre funcionalidades e custos operacionais que os provedores de serviços enfrentam. Os serviços em nuvem para dados oferecem APIs mais restritas que os sistemas que gerenciam os bancos de dados relacionais, com uma linguagem minimalista de consulta e garantia de consistência limitada. Isso exige mais capacidade de programação dos desenvolvedores, mas permite aos provedores construírem serviços mais simples e oferecerem SLA. De acordo com Armbrust (2009), a criação de um sistema de armazenamento que combina as 31 características de computação em nuvem, de forma a aumentar a consistência de dados, disponibilidade e a escalabilidade de um problema de pesquisa em aberto (SOUSA, 2009). 2.2.15 Pay as you go Este termo Pay as you go refere-se que, os usuários irão pagar apenas os recursos que eles realmente irão usar e só o tempo que lhes impõe os valores (MATHER, 2009). Esse tipo de serviço faz com que o usuário tenha um melhor controle de gastos ao usar aplicativos, pois a maioria dos sistemas de computação em nuvem oferece aplicações de forma gratuita e, quando não gratuitas, são pagas somente pelo tempo que se usa os recursos. Não é necessário pagar por uma licença integral de uso de software (DELMIRO, 2010). Embora pesquisas em computação tenham investigado vários modelos econômicos de infraestrutura computacional durante a última década, a computação em nuvem tem uma abordagem mais aplicada aos negócios e relacionada ao custo. Assim, a computação em nuvem apresenta diversos modelos de preço, sendo estes organizados em três grupos: preço diferenciado, preços por unidade e assinatura de serviços básicos. Preço diferenciado é o modelo adotado pela Amazon, onde os serviços são oferecidos em vários níveis de especificações, tais como aplicação de memória e tipo de CPU, o valor cobrado é um preço específico por unidade de tempo. Preço por unidade é normalmente aplicado a dados transferidos ou ao uso de memória. Este modelo é mais flexível do que o de preço diferenciado, já que permite aos usuários personalizarem a alocação de memória de seus sistemas baseados nas necessidades de aplicações específicas. O modelo de assinatura de serviços básicos é o modelo de preços mais amplamente utilizado, permitindo aos usuários preverem suas despesas previamente na utilização de um serviço. Contudo, este modelo não tem a precisão em cobrar dos usuários o que eles têm realmente utilizado (SOUSA, 2009). 32 2.2.16 Service Level Agreement (SLA) Um SLA é um contrato entre prestadores de serviço e um consumidor, que especifica as exigências dos consumidores e o empenho do provedor para eles. Normalmente, um SLA inclui itens como tempo de atividade, privacidade, segurança e procedimentos de backup (AHRONOVITZ, 2010). A política é um termo geral para um procedimento operacional. Por exemplo, uma política de segurança pode especificar que todos os pedidos para um serviço na nuvem particular devem ser criptografada (AHRONOVITZ, 2010). A governança diz respeito aos controles e processos que garantem que políticas serão aplicadas (AHRONOVITZ, 2010). 2.3 Modelos de Serviço No modelo de software tradicional as aplicações destes softwares são baseados em um modelo com grandes custos de licenciamento inicial e anual e custos de suporte. Aumentar o número de usuários pode aumentar o custo da base do pacote, devido à necessidade de implementações de servidores adicionais de hardware e suporte de TI. Os custos do licenciamento são muitas vezes com base em métricas que não estejam diretamente alinhados com o uso (tipo de servidor, o número de CPUs, alguma característica física entre outros) e não são virtuais. Um pacote típico de software empresarial requer uma implantação de hardware, servidores, backup e rede de abastecimento. Arquitetura de segurança também é tributada em um esforço para proteger este valioso recurso contra acesso não autorizado. Então nos softwares tradicionais as aplicações tendem a ser altamente customizáveis, o que tem um custo em dólares e mão de obra (MATHER, 2009). A ideia de computação em nuvem consiste na disponibilização de serviços através da Internet, estes serviços são pagos conforme a necessidade de uso (payper-use), dando ao cliente a possibilidade de aumentar ou diminuir sua capacidade de armazenamento conforme a quantidade necessária para o uso (MATHER, 2012). 33 Existem muitos tipos de serviços oferecidos pela computação em nuvem. Esta diversidade de serviços é muito apropriada, pois permite que as empresas adquiram os serviços mais adequados às suas necessidades (TAURION, 2009). Diante disso, a arquitetura da computação em nuvem pode ser dividida em três camadas abstratas a mais baixa das camadas é a de infraestrutura como serviço (IaaS), a segunda camada é a de plataforma como serviço (PaaS) e última, a camada de software como serviço (SaaS). Cada camada pode possuir seu gerenciamento ou monitoramento de forma independente das outras camadas, melhorando a flexibilidade, reusabilidade e escalabilidade no sentido de substituição ou adição de recursos computacionais sem afetar outras camadas (SOUSA, 2009). Pode-se observar na Figura 2 as camadas de aplicação, plataforma e infraestrutura Figura 3. Principais camadas de serviço Fonte: GIEZENDANNER, 2010. A arquitetura da computação em nuvem é dividida em três camadas. A cama mais baixa, chamada de Camada de Infraestrutura. É através dela que os prestadores de infraestrutura disponibilizam os serviços de rede e armazenamento da nuvem. Fazem parte desta arquitetura os servidores, sistemas de armazenamento, como data centers, e roteadores. A camada do meio, chamada Plataforma, possui uma abstração mais elevada e provê serviços para que as aplicações possam ser desenvolvidas, testadas, implementadas e mantidas no 34 ambiente da nuvem pelos prestadores de serviços. Já a camada mais alta, chamada de Software ou Aplicação é aquela que oferece diversas aplicações como um serviço para o usuário. (CHIRIGATI, 2009). Os serviços são diversificados, e isto é um ponto positivo, no qual permite que o cliente adquira os serviços mais adequados às suas necessidades, o que também pode ser negativo devido à maior parte dos serviços não ser compatíveis entre si (TAURION, 2009). 2.3.1 Software como Serviço (SaaS) SaaS representa os serviços de mais alto nível disponibilizado na nuvem. Estes serviços dizem respeito a aplicações completas que são oferecidas aos usuários. Somente uma instância de cada aplicação permanece em execução na nuvem e, através da virtualização ela serve a múltiplos usuários (CHIRIGATI, 2009). Um SaaS é disponibilizado por prestadores na cama de aplicação. Ele roda inteiramente na nuvem e pode ser considerada uma alternativa a executar um programa em uma máquina local. Softwares de aplicação, como processadores de texto e SGBDs, são exemplos de SaaS (CHIRIGATI, 2009). É um modelo em que o aplicativo é oferecido como um sérvio aos clientes que o acessam através da Internet. Quando o software é hospedado off-site, o cliente não precisa adquirir licença de uso ou de suporte. Por outro lado, está fora do alcance do cliente quando o serviço de hospedagem decide mudar. A ideia é que se use o software fora da caixa e que não precisam ser feita muitas mudanças ou que seja solicitado à integração com outros sistemas (VELTE, 2011). O modelo SaaS é um modelo que entrega software como um serviço, de uma forma diferente do modelo tradicional, no qual a empresa adquiri uma licença de uso e instala o software nos seus próprios servidores. O modelo SaaS muda estas regras, transformando a maneira como software é comercializado, pois com o modelo SaaS, não são mais necessários os contratos de manutenção, pois estas atividades ficam a cargo do provedor e não mais da empresa. O usuário passa a somente usar o software sem se preocupar com as atividades de instalação, manutenção e upgrades da aplicação (TAURION, 2009). 35 Um ótimo exemplo de SaaS pode ser dado através de um editor de texto. No modelo tradicional da computação, o usuário precisa ter uma cópia do software e sua respectiva licença para uso no seu desktop ou notebook. O usuário adquire a licença para uso por 24 horas por dia, 7 dias por semana, mesmo que não esteja usando o software à noite ou nos finais de semana. Além disso, se o usuário levar o trabalho para casa e tiver que acessar de outro computador, terá que obter uma segunda licença para este computador. No modelo SaaS, quando o software não está sendo usado, não está sendo pago e o usuário pode usar o editor em casa ou no escritório, sob a mesma assinatura, pagando apenas pelo tempo de uso (TAURION, 2009). O provedor faz todo o processo e atualizações assim como mantém a infraestrutura funcionando. Há muitos tipos de softwares que se assemelham ao modelo do SaaS. Basicamente o software que executa uma tarefa simples sem a necessidade de interagir com outros sistemas faz dele candidatos ideais para o SaaS. Os clientes que não estão propensos a executar a programação de software, mas necessitam de aplicativos potentes podem também se beneficiar. Algumas destas aplicações incluem (VELTE, 2011): • Gerenciamento de recursos do cliente (CRM); • Videoconferência; • Gerenciamento de serviços de TI; • Contabilidade; • Análise da web; • Gerência do conteúdo web. A ideia é que o usuário deixe de utilizar o software “de caixinha” ou “sob encomenda” e passe a comprar software de acordo com suas necessidades. Por exemplo: uma empresa de dez pessoas invés de encomendar um software, pode pagar uma taxa mensal para usar um software com a quantidade de usuários que ela precisa. Essas mensalidades são relativamente baixas e se encaixam melhor na realidade de pequenas e médias empresas (GONÇALVES, 2008). Como o software está na web, ele pode ser acessado pelos usuários de qualquer lugar e a qualquer momento, permitindo mais integração entre unidades de uma mesma empresa ou outros serviços de software. Assim, novos recursos podem 36 ser incorporados automaticamente aos softwares sem que os usuários percebam estas ações, tornando a evolução e atualização transparente dos sistemas. O SaaS reduz os custos, pois é dispensada a aquisição de licenças de software, porém é cobrada uma taxa mensal baseada no número de funcionários que acessam o serviço (SOUSA, 2009). Figura 4. Modelo de Serviço SaaS Fonte: VELTE, 2012, p.173. Dando um exemplo SaaS fornece um aplicativo ou uma parte de software do provedor de serviços (VELTE, 2012). Outra maneira de pensar em SaaS é o serviço de e-mail baseado na web oferecido por empresas como Microsoft (Hotmail), o Google (Gmail) e o Yahoo (Yahoo Mail). Cada serviço de correio satisfaz os critérios básicos: o fornecedor (Microsoft, Yahoo, e assim por diante) hospeda todos os programas e dados em um local central, fornecendo aos usuários finais acesso aos dados e software, que é acessado através da World Wide Web (VELTE, 2012). Um exemplo de SaaS é o Google Apps que oferece um conjunto grande de ferramentas para empresas, como e-mail, agenda, pacote Office, armazenamento de dados na nuvem, comunicador, etc. Ou também o Microsoft Office 365 que oferece o pacote completo de ferramentas Office (Word, Excel, PowerPoint, etc) na nuvem (KLEIN, 2013). 2.3.2 Plataforma como Serviço (PaaS) Oferece uma infraestrutura de alto nível de integração para implementar e testar aplicações na nuvem. O usuário não administra ou controla a infraestrutura 37 subjacente, incluindo a rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre as aplicações implantadas e, possivelmente, as configurações de aplicações hospedadas nesta infraestrutura. A plataforma PaaS oferece um sistema operacional, linguagens de programação e ambientes de desenvolvimento para as aplicações, auxiliando a implementação de software, já que contém ferramentas de desenvolvimento e colaboração entre desenvolvedores (SOUSA, 2009). Fornece todos os recursos necessários para construir aplicativos e serviços diretamente da Internet, sem precisar baixar ou instalar software. Os serviços PaaS incluem design de aplicativos, desenvolvimento, testes, implantação e hospedagem (VELTE, 2010). A PaaS oferece uma infraestrutura de alto nível para implementar e testar aplicações na nuvem. O usuário não controla a infraestrutura, incluindo rede, servidores, sistema operacional ou armazenamento, mas tem controle sobre as aplicações implantadas e, possivelmente, as características das aplicações hospedadas nesta infraestrutura. A PaaS fornece um sistema operacional, ambientes de desenvolvimento para aplicações e linguagens de programação para aplicações, auxiliando a implementação de sistemas de software, que contém ferramentas de desenvolvimento e colaboração entre desenvolvedores (SOUSA, 2009). Os prestadores de serviços que produzem um PaaS, por exemplo, podem construir essa plataforma tendo em vista a integração de um sistema operacional, de um middleware, de um ambiente de desenvolvimento e de softwares de aplicação. Os prestadores de serviços que usarão essa plataforma irão ver como uma API. Eles irão interagir com a plataforma através da API sem ter a preocupação de gerenciar os recursos, o que torna o processo de desenvolvimento de aplicações mais rápido e simples. Por outro lado, esses prestadores de serviços ficam limitados pelas capacidades que a plataforma pode oferecer (SUN, 2009). Um ponto negativo do PaaS é a falta de interoperabilidade e portabilidade entre os fornecedores. Isto é, se o usuário criar um aplicativo com um determinado fornecedor de nuvem e decidir trocar para outro provedor, isso não poderá ser feito a não ser que se pague um preço muito elevado. Além disso, se o provedor sai do negócio, as aplicações e os dados são perdidos (VELTE, 2010). 38 Figura 5. Modelo de Serviço PaaS Fonte: VELTE, 2012, p.14. Na figura 5 PaaS permite ao cliente acessar uma plataforma computacional sobre uma solução de cloud computing (VELTE, 2012). Um exemplo de PaaS é o Google App Engine, oferece ferramentas e frameworks para desenvolvimento de aplicações e componentes de solução como o Compute Engine (computação) e o Cloud Storage (armazenamento), entre outros (KLEIN, 2013). 2.3.3 Infraestrutura como Serviço (IaaS) O IaaS é a parte responsável por prover toda a infraestrutura necessária para a PaaS e o SaaS. È o serviço oferecido na camada de infraestrutura. Estes serviços incluem servidores, sistemas de armazenamento, roteadores e outros sistemas que são agrupados e padronizados a fim de serem disponibilizados pela rede. É importante salientar que são os prestadores de infraestrutura que, através da virtualização, oferecem esses serviços por demanda aos prestadores de serviços. (SOUSA, 2009) (VAQUERO, 2009). O provedor oferece a infraestrutura de armazenamento e processamento, e tem como objetivo principal facilitar o fornecimento de recursos de computação necessários para criar um ambiente de aplicação. O usuário não administra ou 39 controla a infraestrutura, mas tem controle sobre os sistemas operacionais, armazenamentos e aplicativos implantados (SOUSA, 2010). A computação de Alto Desempenho (High-Performance Computing) pode-se beneficiar com as nuvens que proveem IaaS, uma vez que esse tipo de computação exige um grande processamento (SUN, 2009). É importante salientar que neste modelo praticamente toda a tarefa de manutenção da aplicação até o sistema operacional fica a cargo do contratante. A vantagem disso é não ter que manter o “datacenter” propriamente dito. O contratante não precisa se preocupar com a atualização de hardware, infraestrutura de rede física, cabeamento e segurança física do datacenter (PIGATTO, 2009). O nível de infraestrutura de software fornece recursos fundamentais para camadas de nível superior, permitindo a criação de novos ambientes de software ou novas aplicações. De acordo com Youseff (2008), este nível pode ser organizado em: recursos computacionais, armazenamento de dados e comunicação (PIGATTO, 2009). • Recursos computacionais: Neste nível, máquinas virtuais (virtual machines) é a melhor maneira de oferecer recursos computacionais, já que oferecem ao usuário maior flexibilidade, uma vez que ele normalmente possui permissão total para o uso da máquina virtual, estando apto a personalizar o software e obter maior performance e eficiência. • Armazenamento de Dados: O segundo recurso de infraestrutura é o armazenamento de dados, o qual permite ao usuário armazenar seus dados em discos remotos e acessá-los a qualquer momento e de qualquer lugar. Este serviço é comumente conhecido como DaaS – Data-Storage as a Service (armazenamento de Dados como Serviço). • Comunicação: Uma vez que a necessidade de garantia de QoS – Quality of servisse (Qualidade de Serviço) para uma rede de comunicação cresce ao tratar-se de um sistema em nuvem, a comunicação se torna um componente vital da infraestrutura em questão. Em consequência disto, estes sistemas possuem a obrigação de fornecer certas capacidades de comunicação, orientada a serviço, configuráveis, programáveis, previsíveis e confiáveis. 40 Um exemplo típico de IaaS é o Amazon EC2. A Amazon é hoje a líder global em serviço de Cloud Computing, e o EC2 (Elastic Compute Cloud) é um “serviço da Web que fornece uma capacidade de computação redimensionável na nuvem”. Com o EC2 é possível dimensionar máquinas virtuais de acordo com a demanda e pagase somente a capacidade utilizada (KLEIN, 2013). Figura 6. Modelo de Serviço IaaS Fonte: VELTE, 2012, p.15. Na figura 6, a representação de um modelo de serviço IaaS, onde permite que os provedores de serviço aluguem recursos de hardware. 2.3.4 Comparação entre os tipos de serviços. Tabela 1. Modelos de Serviços. Fonte: SNOWMAN, 2010. 41 2.3.5 Outros Modelos de Serviço Atualmente a computação em nuvem é dividida em sete tipos. Nesta seção serão abordados os outros modelos de serviço da computação em nuvem. • DevaaS (desenvolvimento como serviço) são as ferramentas de desenvolvimento na nuvem como ferramentas compartilhadas, ferramentas de desenvolvimento web-based e serviços baseados em mashup (SILVA, 2013). • CaaS (Comunicação como Serviço) é uma solução de comunicação Unificada hospedada em Data Center do provedor ou fabricante, pode ser alugado a partir de um único fornecedor. Tais comunicações podem incluir voz sobre ip (VoIP), mensagens instantâneas (IM), aplicações de videoconferência usando dispositivos fixos ou móveis (ROUSE, 2013). • EaaS (Tudo como serviço) como o próprio nome diz, é quando se utiliza tudo, infraestrutura, plataformas, software, suporte, enfim, tudo o que envolve a Tecnologia da Informação e Comunicação como um serviço (SILVA, 2013). • DBaas (Banco de dados como serviço) é um banco de dados executado em uma plataforma de computação em nuvem, como a Amazon EC2. Existem dois modelos de implantação: os usuários podem executar bancos de dados na nuvem de forma independente, ou podem comprar o acesso a um serviço de banco de dados, mantido por um provedor de banco de dados na nuvem (SCALEDB, 2012). 2.4 Tipos de Nuvens Tratando-se do acesso e da disponibilidade de ambientes de computação em nuvem, têm-se tipos diferentes de implantação. A restrição ou abertura de acesso depende do processo de negócios, do tipo de informação e do nível de visão desejado. Pode-se perceber que certas empresas não desejam que todos os usuários possam acessar e utilizar determinados recursos no seu ambiente de computação em nuvem. Dessa forma, surge a necessidade da criação de ambientes 42 mais restritos, onde somente alguns usuários devidamente autorizados possam utilizar os serviços providos. Então neste sentido, podemos afirmar que existem três tipos de ofertas de computação em nuvem (TAURION, 2009). As nuvens podem ser classificadas em três tipos básicos: públicas, privadas, híbridas e comunidade. A escolha entre elas depende das necessidades das aplicações que serão implementadas (DIKAIAKOS, 2009). O termo nuvem é uma metáfora usada para a internet e é uma representação simplificada da complexidade que esta se encontra, onde dispositivos são interconectados formando a internet. Nuvens privadas e públicas são subconjuntos da internet e são definidas com base na relação do usuário com a empresa. Nuvens privadas e nuvens públicas também podem ser referidas como nuvens internas ou externas, a diferenciação é baseado na relação da nuvem com a empresa (MATHER, 2009). Os conceitos de nuvens públicas e privadas são importantes porque suportam a computação em nuvem, permite o provisionamento da dinâmica, são escaláveis e possuem recursos virtualizados através da internet. Os usuários finais que utilizam os serviços oferecidos via computação em nuvem podem não ter conhecimento, experiência, ou controle sobre infraestrutura tecnológica que os suporta (MATHER, 2009). A computação em nuvem pode ser divido em quatro tipos básicos de implementação: pública, privada, híbrida e a comunidade. Como mostra a Figura 7 abaixo. Figura 7 – Modelos de Implantação Fonte: MATHER, 2009. 43 2.4.1 Nuvem Pública Na nuvem pública, a infraestrutura é disponibilizada para terceiros, sendo necessário para acesso somente que o usuário conheça a localização do serviço. Neste modelo de nuvem, não pode ser aplicada qualquer restrição de acesso quanto ao gerenciamento de redes, nem utilizar técnicas para autenticação e autorização (SOUSA, 2009). Neste modelo as aplicações de diversos usuários ficam misturadas nos sistemas de armazenamento, o que a principio pode parecer ineficiente. Porém, se para a implementação de uma nuvem pública considera questões fundamentais, como desempenho e segurança, a existência de outas aplicações sendo executadas na mesma nuvem permanece transparente tanto para os prestadores de serviços como para os usuários (CHIRIGATI, 2009). Nuvens públicas descrevem a computação em nuvem, no sentido convencional, onde os recursos são dinamicamente provisionados em uma refinada base de dados de autosserviço através da Internet, aplicações web ou serviços web, a partir de um site, provedor de terceiros que compartilham recursos e as contas em uma granulação fina, com base utility computing (MATHER, 2009). Ela está hospedada, operando e sendo gerenciada por um fornecedor terceirizado. O serviço é oferecido a vários clientes que utilizam desta mesma infraestrutura (MATHER, 2009). Em termos simples, o serviço de nuvem pública é caracterizado por estar disponível para os clientes a partir de um provedor de serviços terceirizado através da internet. O termo “público” não significa que os dados do usuário estão visíveis a qualquer um. Fornecedores de uma nuvem pública normalmente fornecem um controle de acesso para seus usuários. As nuvens públicas oferecem uma elasticidade de baixo custo e fácil implementação (AHRONOVITZ, 2010). São serviços em nuvem fornecidos por terceiros (fornecedores). Elas existem além do firewall da empresa e são completamente hospedadas e gerenciadas pelo provedor da nuvem (AMRHEIN, 2009). Uma nuvem pública pode estar sendo hospedada, operada e gerida por um fornecedor terceirizado de um ou mais centro de dados. O serviço é oferecido a múltiplos clientes sobre uma infraestrutura em comum (MATHER, 2009). 44 2.4.2 Nuvem Privada As nuvens privadas são aquelas construídas exclusivamente para um único usuário (uma determinada empresa, por exemplo). Diferente de um data center privado virtual, a infraestrutura privada pertence ao usuário, e, portanto, ele possui total controle sobre como as aplicações são implementadas na nuvem. Uma nuvem privada é, de um modo geral, construída sobre um data center privado. (CHIRIGATI, 2009). Serviços de nuvem privada exigem mais do que tecnologia para funcionarem. É necessário considerar alguns aspectos como objetivos corporativos, planejamento de serviço, politicas, processos e papel das organizações. Como clientes de empresas dizem em pesquisas, existem desafios verdadeiros para a computação em nuvem. Serviços de segurança devem mudar. Um processo operacional que ainda deve evoluir para satisfazer as necessidades de um ambiente de nuvem privada ficar dinâmico é o gerenciamento de configurações (BITTMAN, 2011). Nuvens privadas diferem das nuvens públicas no qual a rede, computação e armazenamento de infraestrutura associada com nuvens privadas são dedicados a uma única organização e não são compartilhado com outras organizações. Como tal, uma variedade de padrões de nuvens privadas surgirau (MATHER, 2009). Caso o usuário queira aumentar os recursos utilizados em sua nuvem privada, ele deve adquirir novos equipamentos, como sistemas de armazenamento, por exemplo, já que a sua nuvem está limitada à capacidade de seu sistema físico. Em uma nuvem pública, como já foi falado anteriormente, não há essa necessidade, uma vez que, como os recursos são facilmente escaláveis, basta o usuário reservar uma quantidade maior deles. Devido a essas diferenças, diz-se que as nuvens públicas são mais adequadas para aplicações temporárias, enquanto as nuvens privadas são um ambiente mais apropriado a aplicações permanentes que demandam níveis específicos de qualidade de serviço e de localização dos dados (CHIRIGATI, 2009). Embora a nuvem privada possa ser criada sem virtualização, a maioria das implementações de nuvem privada aplicam tecnologias de virtualização. Basicamente, a computação em nuvem privada é a intersecção dessas duas tendências: virtualização e computação em nuvem (BITTMAN, 2011). 45 2.4.3 Nuvem Híbrida A nuvem híbrida é a combinação de nuvens públicas e privadas. Essas nuvens seriam geralmente criadas pela empresa e as responsabilidades de gerenciamento seriam divididas entre a empresa e o provedor de nuvem pública. A nuvem híbrida usa serviços que estão no espaço público e privado (AMRHEIN, 2009). Elas permitem que uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em uma nuvem pública. Essa característica possui a vantagem de manter os níveis de serviço mesmo que haja flutuações rápidas na necessidade de recursos. A conexão entre as nuvens públicas e privadas podem ser usadas até mesmo em tarefas periódicas que são mais facilmente implementadas nas nuvens públicas, por exemplo. O termo computação em ondas (surge computing) é, em geral, utilizado quando se refere a nuvens híbridas (CHIRIGATI, 2009). Nuvens hibridas são a solução quando uma empresa precisa empregar os serviços de nuvens públicas e privadas. Nesse sentido, uma empresa pode determinar os objetivo e necessidades de serviços e obter os mesmos da nuvem pública ou privada, conforme apropriado. Uma nuvem híbrida bem construída poderia atender processos seguros críticos para a missão, como o recebimento de pagamentos de clientes, assim como aqueles secundários para os negócios, como processamento de folha de pagamento de funcionários (AMRHEIN, 2009). Com uma nuvem híbrida, as organizações podem executar serviços que não são necessariamente exigidos pela empresa, ou seja, que possam ser repassadas para terceiros, hospedando eles em uma nuvem pública e mantendo os aplicativos principais e dados sensíveis da empresa em casa, na nuvem privada (MATHER, 2009). 46 Figura 8 – Nuvem Híbrida Fonte: MATHER, 2009. A nuvem híbrida pode ter sua configuração descrita pela combinação de um dispositivo local como um computador conectado a uma nuvem de serviços. Também pode ser descrita com uma configuração que combina recursos virtuais e físicos como, por exemplo, um ambiente virtual que requer servidores físicos, roteadores ou outro tipo de hardware como um firewall ou um filtro de spam (VIEIRA, 2009). É valido destacar que as nuvens híbridas introduzem uma maneira de determinar aplicações que são distribuídas entre nuvens públicas e privadas. A relação entre os dados e os recursos de processamento, por exemplo, deve ser considerada. Se uma aplicação possuir uma enorme quantidade de dados, o seu processamento em uma nuvem pública pode não ser dos melhores, já que passar esses dados de sua nuvem privada para uma nuvem pública pode ter um custo muito alto (TAURION, 2009). 2.4.4 Comunidade 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 de modelo de implantação pode existir localmente ou remotamente e pode ser administrado por 47 alguma empresa da comunidade ou por terceiros (SOUSA, MOREIRA e MACHADO, 2009). É o modelo utilizado por grupos de empresas, as quais possuem interesse em comum como missão, jurisdição, conformidade, requisitos e políticas de segurança, entre outras afinidades. A infraestrutura é compartilhada entre as empresas que fazem parte dessa comunidade, e por seguirem a mesma analogia é certo afirmar que o modelo em questão dispõe de recursos de segurança mais compatíveis com as necessidades do usuário oferecendo um serviço mais customizado (SANTOS, 2012). O datacenter pode ser alocado internamento ou externamente às organizações e ainda administrado por elas mesmas ou por um serviço terceirizado. Por característica, os custos são normalmente distribuídos por um quantitativo de usuários relativamente menor que na nuvem pública e superior à nuvem privada, onde os custos são intermediários (SANTOS, 2012). Uma nuvem comunidade é controlada e usada por um grupo de organizações que têm interesse comum, tais como a segurança específica de alguma aplicação ou dados. Os membros da comunidade compartilham acesso aos dados e aplicativos na nuvem (AHRONOVITZ, 2010). 2.5 Benefícios Os benefícios da computação em nuvem parecem convincentes. As aplicações distribuídas através desta tecnologia são praticamente ilimitadas. Com o middleware certo, um sistema de Computação em nuvem poderia executar todos os programas que um computador normal rodaria. Potencialmente, tudo – do software genérico de processamento de textos aos programas de computador personalizados para uma empresa específica – funcionaria em um sistema de Computação em Nuvem (MACEDO, 2010). Este modelo processamento, vem se armazenamento destacando e acesso como uma alternativa às informações das para o empresas, objetivando agilidade nos processos e redução de custos entre outras vantagens segundo (ISACA, 2009). 48 Alguns dos principais benefícios da computação em nuvem sugeridos por MACEDO (2010) são: • Clientes podem acessar suas aplicações e dados de qualquer lugar e a qualquer hora: Clientes podem acessar o sistema usando qualquer computador conectado a internet. Os dados não estão confinados em um disco rígido no computador do usuário ou mesmo na rede interna da empresa. • Reduz o custo com Hardware: Sistemas de Computação em nuvem reduzem a necessidade de hardware avançado do lado do cliente. O usuário não precisa comprar o computador mais rápido com a maior memória, porque o sistema na nuvem cuida dessas necessidades. Em vez disso, o usuário pode comprar um terminal de computador de menor valor. O terminal pode incluir teclado, mouse e um processamento suficiente apenas para conectar o computador à nuvem. Também não precisa de um disco rígido grande, porque o usuário armazena todas as informações em um computador remoto. Este tipo de terminal é conhecido como “terminal burro”. • Empresas que dependem de computadores tem que ter certeza de estar com software certo no lugar para atingir seus objetivos: Sistemas de Computação em nuvem dão a essas empresas acesso às aplicações para toda a corporação. As companhias não necessitam adquirir um conjunto de software ou licenças para cada empregado. Em vez disso, a companhia paga uma taxa a empresa que administra o seu sistema na nuvem. • Servidores e dispositivos de armazenamento digital ocupam espaço: Algumas empresas alugam espaço físico para armazenar servidores e bases de dados porque elas não têm espaço disponível no local. A computação em nuvem dá a essas empresas a opção de armazenar dados no hardware de terceiros, removendo a necessidade de espaço físico. • Empresas economizam dinheiro com suporte técnico: O hardware otimizado pode, teoricamente, ter menos problemas que uma rede de máquinas e sistemas operacionais heterogêneos. ISACA (2009) também elenca alguns benefícios ao uso da Computação em nuvem como: 49 • Flexibilidade: Com a utilização da Computação em Nuvem o usuário não precisa se preocupar com o sistema operacional e hardware que está usando em seu computador pessoal, podendo acessar seus dados na “nuvem computacional” independentemente disso; • Facilidade: O trabalho corporativo e o compartilhamento de arquivos se tornam mais fáceis, uma vez que todas as informações se encontram no mesmo lugar, ou seja, na Nuvem. • Controle: O usuário tem um melhor controle de gastos ao usar aplicativos, ou seja, paga somente pelo tempo de utilização dos recursos. • Disponibilidade: O usuário pode acessar aplicações e dados de qualquer lugar e a qualquer hora. • Escalabilidade: O usuário pode, a qualquer momento, aumentar ou diminuir os recursos alocados (memória, processamento e espaço de armazenamento) de acordo com suas necessidades. • Acessibilidade: Os recursos são fornecidos através da rede e são acessados por meio de interfaces padronizadas. 2.6 Riscos Uma das maiores preocupações dos profissionais de TI relativas à implantação e utilização do cloud computing esta ligado com a questão da segurança De acordo com BRODKIN (2008) os 7 principais riscos de segurança na utilização da Computação em Nuvem são: • Acesso privilegiado do usuário: Dados sensíveis sendo processados fora da empresa trazem, obrigatoriamente, um nível inerente de risco. Os serviços terceirizados fogem dos controles físicos, lógicos e pessoais, os quais as áreas de TI criam em casa. É recomendado o máximo de informação possível sobre quem vai gerenciar seus dados. “Peça aos fornecedores que deem informações especificas sobre quem terá privilégios de administrador no acesso aos dados para, daí, controlar esses acessos”. 50 • Cumprimento de regulamentação: As empresas são as responsáveis pela segurança e integridade de seus próprios dados, mesmo quando essas informações são gerenciadas por um provedor de serviços. Provedores de serviços tradicionais estão sujeitos a auditores externos e a certificações de segurança. Já os fornecedores de cloud computing que se recusem a suportar a esse tipo de escrutínio estão “sinalizando aos clientes que único uso para cloud é para questões triviais”. • Localização dos dados: Quando uma empresa está usando a nuvem, ela provavelmente não sabe exatamente onde os dados estão armazenados. Na verdade, a empresa pode nem saber qual é o país em que as informações estão guardadas. A dica é perguntar aos fornecedores se eles estão dispostos a se comprometer a armazenar e a processar os dados em jurisdições específicas e se eles vão assumir esse compromisso em contrato de obedecer aos requerimentos de privacidade que o país de origem da empresa pede. • Segregação dos Dados: Dados de uma empresa na nuvem dividem tipicamente um ambiente com dados de outros clientes. A criptografia é efetiva, mas não é a cura para tudo. “É necessário descobrir o que é feito para separar os dados”. O fornecedor de cloud pode fornecer a prova que a criptografia foi criada e desenhada por especialistas com experiência. Acidentes com criptografia podem fazer o dado inutilizável e mesmo a criptografia normal pode comprometer a disponibilidade. • Recuperação dos dados: Mesmo se a empresa não sabe onde os dados estão, um fornecedor em cloud devem saber o que acontece com essas informações em caso de desastre. Qualquer oferta que não replica os dados e a infraestrutura de aplicações em diversas localidades está vulnerável a falha completa. Pergunte a seus fornecedores se eles têm a habilidade de fazer uma restauração completa e quanto tempo vai demorar. • Apoio à investigação: A investigação de atividades ilegais pode se tornar impossível em cloud computing. “Serviços em cloud são especialmente difíceis de investigar, por que o acesso e os dados dos vários usuários podem estar localizados em vários lugares, espalhados em uma série de servidores que mudam o tempo todo. Se não for possível conseguir um 51 compromisso contratual para dar apoio a formas específicas de investigação, junto com a evidência de que esse fornecedor já tenha feito isso com sucesso no passado”. • Viabilidade em longo prazo: No mundo ideal, o seu fornecedor de cloud computing jamais vai falir ou ser adquirido por uma empresa maior. Mas a empresa precisa garantir que os seus dados estarão disponíveis caso isso aconteça. “Pergunte como você vai conseguir seus dados de volta e se eles vão estar em um formato que você pode importa-lo em uma aplicação substituta”. Outros riscos a segurança da Computação em nuvem destacadas por Macedo (2010) é a indisponibilidade do servidor: certamente, o fornecedor de cloud pode perfeitamente sair do ar a qualquer momento. Acontece com todos. Ser 100% intacto à falhas de conexão não é um privilégio da computação em nuvem. O governo ter acesso aos dados do usuário armazenado na nuvem também é um problema mas muito menor do que um indivíduo qualquer ilegalmente ter este acesso. Sistemas de segurança ruins baseados na web – como fluxos fracos de recuperação de senhas, ataque de phishing e keyloggers – apresentam maiores riscos à segurança (MACEDO, 2010). 52 3 ESTUDO DE CASO: FERRAMENTAS DE ARMAZENAMENTO EM NUVEM Neste capítulo será feito um estudo de caso com diversas ferramentas de armazenamento em nuvem abordando suas principais funcionalidades e o que uma determinada ferramenta tem de vantagens e desvantagens sobre sua concorrência. A computação em nuvem e o armazenamento em nuvem se tornaram o método preferencial para distribuição de informações e funcionalidades online. Enquanto alguns serviços de nuvem focam em fornece aos consumidores uma ampla gama de funcionalidades e serviços, incluindo compras online, pesquisas, redes sociais, consumo de entretenimento e proteção de documentos importantes; outros serviços de nuvem têm seu foco em pequenas empresa, grandes corporações, governos e outras instituições (SEAGATE, 2013). O armazenamento de arquivos na nuvem, atualmente, com todas as transformações tecnológicas, tornou-se uma prática eficiente, segura e muito utilizada. Esse serviço é relativamente novo e muitas pessoas ainda não sabem utilizá-lo da forma correta para facilitar o acesso e gerenciamento dos seus arquivos (TASK, 2013). Diversos serviços de nuvem oferecem armazenamento em nuvem gratuitamente para seus consumidores, enquanto outros cobram algum tipo de tarifa para disponibilizar o armazenamento. No centro de todos os serviços, produtos e soluções em nuvem estão às ferramentas de software com três pilares subjacentes de funcionalidades: ferramentas para o processamento de dados e a execução de aplicativos, movimentação de dados e preservação ou armazenamento de dados (SEAGATE, 2013). Existem serviços gratuitos na web que disponibilizam espaço em nuvem gratuitamente para armazenar dados. Alguns deles oferecem cópias de segurança, sincronização com outros serviços, controle de versão e muitas outras vantagens (TASK, 2013). 53 3.1 DropBox É uma ferramenta de armazenamento em nuvem desenvolvida por Drew Houston e Arash Ferdowsi e fundado em 2007. Após conseguir um contrato de parceria com a Y Combinator e se mudar para o Vale do Silício no mesmo ano. Começou o seu funcionamento no ano de 2008. Seu grande crescimento se deu no ano de 2011 quando atingiu a marca de 50 milhões de usuários. É um serviço simples e eficiente de armazenamento de arquivos entre diversos dispositivos diferentes (DROPBOX, 2013). De acordo com a Forbes Brasil o DropBox cresceu 75% nos últimos oito meses, chegando a 175 milhões de usuário(GERON, 2013). Figura 9 – Tela inicial Dropbox Fonte: print screen da aplicação no Windows 7. • Disponível para Sistema Operacional Os arquivos podem ser acessados pela web ou em programas para Windows, Mac e Linux. Também possui versões para dispositivos móveis como Android, iOS, BlackBerry e Windows Phone (Dropbox, 2013). Os arquivos podem ser carregador nos servidores do Dropbox a partir de qualquer dispositivo que possua o seu software instalado e uma conexão com a internet. Após este carregamento os arquivos ficam disponíveis para acesso através de qualquer dispositivo com acesso a internet. 54 • Custo/Espaço O Dropbox é um serviço Freemium (o cliente tem a opção de usá-lo gratuitamente, mas pode pagar para obter algumas funções extras) de armazenamento remoto de arquivos. A opção gratuita oferece inicialmente, 2GB de espaço, podendo o usuário obter um maior espaço convidando amigos para se cadastrar no serviço. Esta opção rende 500MB por cada indicação de usuário, podendo chegar ao limite de 18GB. A empresa possui também planos Pro com valor que variam de US$9,90 por mês a US$49,90, conforme tabela abaixo. Tabela 2 - Valor Planos DropBox em 20/10/2013 Plano Preço Espaço Total 100 GB US$ 9,90 / mês 100 GB 200 GB US$ 19,90 / mês 200 GB 500 GB US$ 49,90 / mês 500 GB Fonte: Dropbox (2013, p. 55). Também possui planos empresarias que começam em 1TB para até 5 usuários. Tendo faturamento centralizado e ferramentas de administração (Dropbox, 2013). • Versionamento Além da sincronização dos arquivos, um diferencial do Dropbox é permitir que o cliente retorne a uma versão mais antiga de qualquer dado armazenado nele, recurso esse chamado de versionamento. 55 Figura 10 – Versionamento Fonte: print screen da aplicação no Windows 7. Com o aplicativo aberto, o usuário clica com o botão direito em cima do arquivo que deseja ver as versões diferentes, o programa automaticamente abre uma pagina web que encaminha o usuário para uma pagina onde constam todas as versões que foram upadas para o servidor, em qual maquina este arquivo estava, a data e também tamanho. Por padrão, todas as contas do Dropbox guardam um histórico de todos os arquivos excluídos e de versões anteriores de arquivos por um total de 30 dias. O usuário também tem a opção de habilitar o histórico ilimitado, o Dropbox salva esses arquivos excluídos e versões anteriores por todo o período que esse recurso estiver habilitado. Os arquivos anteriores que ficam armazenados para uma futuraçao restauração do usuário, não ocupam espaço no limite de armazenamento. (DROPBOX, 2013). Para a recuperação dos arquivos, existem duas formas. Acessando pelo site do Dropbox, onde o usuário seleciona o arquivo e com o botão direito escolhe entre versões anteriores, onde irão aparecer todas as versões daquele arquivo após isso escolhe qual versão quer e clica no botão recuperar. Ou através do aplicativo para Windows, clicando sobre o arquivo desejado com o botão direito e no submenu selecionar Visualizar versões anteriores, ao clicar nesta opção o usuário é encaminhado para o site do Dropbox onde irá aparecer todas as versões anteriores do arquivo. 56 • Segurança Segundo a empresa, todos os arquivos que são transmitidos pelo Dropbox possuem conexão segura, usando o padrão Secure Sockets Layer (SSL), largamente utilizado na internet para segurança da informação. Além disso, nos servidores, os arquivos são armazenados com padrão de criptografia adotado pelo ministério de defesa americano, o Advanced Encryption Standard (AES) com chave de 256 bits (DROPBOX, 2013) Os dados do usuário são armazenados de forma segura e com backup. Os dados de acesso à conta são protegidos por várias camadas de segurança, inclusive senha e verificação em dois passos (DROPBOX, 2013). As verificações em dois passos proporciona uma camada extra de segurança no acesso à conta. O usuário pode receber códigos de segurança através de mensagens de texto ou qualquer aplicativo que gere senhas temporárias e de uso único (DROPBOX, 2013). O Dropbox usa o serviço de armazenamento Amazon Simple Storage (S3), que tem possui uma politica de segurança robusta (DROPBOX, 2013). • Tamanho máximo de um Arquivo Arquivos enviados para o Dropbox através de uma aplicação para desktop ou para dispositivos móveis não tem limite de tamanho de arquivo. Já arquivos enviados através do site (clicando no botão upload) tem limite de 10GB. Cada arquivo enviado através do site deve conter no máximo 10GB (DROPBOX, 2013). • Limitador de Banda Possui um limitador de banda, através da configuração na aplicação para Windows. O usuário pode tanto limitar o download como também a velocidade máximo de upload da sincronização dos arquivos com a nuvem. A forma de limitar a 57 banda é em KB/s, ficando a critério do usuário escolher a velocidade, sem valores pré-definidos. • Diferencial A ferramenta possui grande integração com o Sistema Operacional Windows. Criando atalhos para o rápido envio de qualquer arquivo ou pasta para a nuvem. Outro diferencial é por ser uma das ferramentas mais simples e fácil de ser utilizado, ao abrir a pasta compartilhada no Windows, o usuário consegue ver se cada arquivo esta sincronizado com a nuvem ou se está sendo sincronizado/enviado naquele momento. 3.2 SkyDrive Windows Live SkyDrive é a ferramenta de armazenamento em nuvem desenvolvida pela Microsoft. Foi inicialmente lançada em 1º de agosto de 2007 como uma versão beta chamada de Windows Live Folders. Logo após, em 9 de agosto de 2007 foi rebatizado de Windows Live SkyDrive e passou a ficar disponível para testes no Reino Unido e Índia. E em 22 de maio de 2008 teve seu lançamento oficial em mais de 62 países (SKYDRIVE, 2013). Figura 11 – Tela inicial Skydrive Fonte: print screen da aplicação no Windows 7. 58 • Disponível para Sistema Operacional Esta ferramenta é multiplataforma, possui aplicativos para Windows e Mac OS e também para dispositivos moveis como Windows Phone, iPhone, iPad e Android (SKYDRIVE, 2013). • Custo/Espaço A ferramenta possui a versão grátis com capacidade para até 7GB de armazenamento e também versões pagas que varia de 27GB até 207GB de armazenamento. Na tabela 2 pode ser visto os valores de cada plano: Tabela 3. Valor Planos SkyDrive em 07/11/2013 Plano Preço Espaço Total 20 GB US$ 10,00/ano 27 GB 50 GB US$ 25,00/ano 57 GB 100 GB US$ 50,00/ano 107 GB 200 GB US$ 100,00/ano 207 GB Fonte: Skydrive (2013, p. 59). • Versionamento Também possui a opção de voltar para uma versão anterior do arquivo. O programa mantem automaticamente o controle das últimas 25 versões de todos os documentos que estão armazenados nele, dispensando que o usuário armazene diversas versões do mesmo documento. 59 Figura 12 – Histórico de Versões Fonte: print screen da aplicação no Windows 7. Para recuperar um arquivo, a única opção é o usuário acessar o site do Skydrive e clicando com o botão direito sobre o arquivo, ir na opção histórico de versões escolhendo assim qual versão quer recuperar. O versionamento é mais limitado se comparado ao Dropbox, pois somente arquivos de texto, planilhas e apresentações possuem o Histórico de versões. Os demais arquivos carregados na nuvem não possuem esta opção. • Segurança Todos os arquivos que são transmitidos pela rede do Skydrive possui o padrão Secure Sockets Layer SSL. Também todos os arquivos armazenados nos servidores adotam por padrão a criptografia AES com chave de 256 bits (SKYDRIVE, 2013). • Tamanho máximo de um Arquivo Arquivos enviados pelos aplicativos do SkyDrive para seus servidores tem limite de 2GB por arquivo. Para uploads na versão web, o limite máximo de cada arquivo é de 300MB e para a galera de foto, Apps e dispositivos móveis o limite é 100MB (SKYDRIVE, 2013). 60 • Limitador de Banda Não possui limitador de banda para a sua aplicação. • Diferencial Um dos principais diferenciais desta ferramenta é o Office Web Apps, através dele o usuário pode ter acesso ao word, excel, Power Point e One Note gratuitamente através da web. Podem ser criados documentos e editados na própria nuvem. Também se pode compartilhar um determinado documento com quem o usuário quiser, podendo este usuário fazer alterações neste documento também. (SKYDRIVE, 2013). Outro diferencial é que ao lado do Dropbox, são as únicas ferramentas onde o usuário consegue verificar se o arquivo que ele colocou na nuvem esta sincronizado com o servidor ou se esta sendo sincronizado, isto pode ser visto através do ícone ao lado do arquivo, que muda conforme o seu status. 3.3 Google Drive É a ferramenta de armazenamento em nuvem desenvolvida pela Google Inc. teve seu lançamento oficial em 24 de abril de 2012 (GOOGLE, 2013). Figura 13 – Tela inicial Google Drive Fonte: print screen da aplicação no Windows 7. 61 • Disponível para S.O Possui aplicativos para Windows e Mac Os e também para dispositivos moveis como Android, iPhone e iPad. O aplicativo não possui suporte para Windows Phone e também Linux, porem para Linux pode ser baixado aplicativos de terceiros para sincronizar arquivos nesta plataforma (GOOGLE, 2013). • Custo/Espaço Inicialmente o usuário tem disponível 15 GB gratuitamente, este espaço é dividido entre a ferramenta de armazenamento em nuvem e a plataforma de e-mail chamada Gmail. O Google também possui planos pagos que variam de 100Gb até 16 Tb. Segue abaixo na tabela os valores de cada plano. Tabela 4. Valor Planos Google Drive em 07/11/2013 Plano Preço Espaço Total 100 GB $ 4,99/mês 100 GB 200 GB $ 9,99/mês 200 GB 400 GB $ 19,99/mês 400 GB 1 TB $ 49,99/mês 1 TB 2 TB $ 99,99/mês 2 TB 4 TB $ 199,99/mês 4 TB 8 TB $ 399,99/mês 8 TB 16 TB $799,99/mês 16 TB Fonte: Google Drive (2013, p.62). • Versionamento Para o usuário que quiser recuperar um arquivo, deve acessar a pagina web da aplicação e clicar com o botão direito sobre o arquivo, clicando na opção gerenciar revisões, onde o usuário pode escolher qual versão quer recuperar. 62 Figura 14 – Gerenciar versões Fonte: print screen da aplicação no Windows 7. O Google Drive mantém as versões mais recentes e anteriores de um arquivo. As versões anteriores são excluídas automaticamente quando têm mais de 30 dias ou quando há mais de 100 versões anteriores do mesmo arquivo. Porém estas versões ocupam espaço de armazenamento (GOOGLE, 2013). • Segurança O Google Drive e Google Apps oferecem segurança com autenticação de dois fatores, o que reduz o risco de roubo de senhas e nomes de usuários por hackers. E também a criptografia automática com SSL. Este procedimento ajuda na proteção dos dados dos usuários no tráfego entre o navegador e os servidores da empresa (Google Apps for bussines). Todos os dados que são transferidos para o Google Drive ou Google Apps usa automaticamente a criptografia SSL sem a necessidade de VPNs. • Tamanho máximo de um Arquivo Aceita arquivos com tamanho máximo de 10Gb, independente de ser na web ou em aplicativos móveis. 63 Se o usuário quiser criar um arquivo nos formatos de documentos, planilhas ou apresentações, o limite de tamanho dependerá do tipo de arquivo. Se for um documento ele pode ter no máximo 1.024.000 caracteres e não pode ser maior que 5MB. Planilhas podem ter no máximo 400.000 células e 256 colunas e o arquivo não pode ser maior que 20Mb. E as apresentações também criadas no docs podem ter no máximo 200 slides e o arquivo não pode ser superior a 50MB (GOOGLE, 2013). • Limitador de Banda A ferramenta para desktop não possui a opção para limitar a taxa de download ou de upload. • Diferencial Possui aplicações para criação e edição de arquivos textos (Google Docs), edição e criação de planilhas (Google Sheets) e edição e criação de apresentações (Google Slides). 3.4 iCloud O iCloud é o serviço de armazenamento em nuvem desenvolvido pela Apple. Foi lançado em 2011 junto com a quinta versão do sistema operacional móvel iOS. Possui uma integração total aos produtos da Apple, o iCloud permite o armazenamento de vídeos, fotos, musicas e ainda possibilita a sincronização com calendários e listas de tarefas. Como é exclusivo para os dispositivos da empresa, o iCloud possui versões móveis somente para aparelhos com iOS (KARASINSKI, 2012). O iOS não tem um sistema de gerenciamento de arquivos. Isso quer dizer, que diferentemente do OS X e do Windows, não existe um Finder ou um Windows Explorer para controlar onde o usuário quer que cada documento fique armazenado. 64 No iOS o documento fica armazenado dentro do aplicativo. Por exemplo: se o usuário escrever um texto no editor Pages, da Apple, o arquivo criado ficara armazenado no próprio Pages. Como ele é integrado nativamente com o iCloud, seu documento fica armazenado na nuvem. Então se o usuário criar e começar a editar um arquivo no Pages do iPad, poderá termina mais tarde no Pages do OS X ou do seu iPhone, caso queira (MARQUES, 2013). Figura 15 – Tela inicial iCloud Fonte: print screen da aplicação no Windows 7. • Disponível para S.O O iCloud é um serviço da Apple oferecido somente para usuários iOS. Estes dados ficam acessíveis além de todos os aparelhos com iOS também na internet através de um computador com Windows ou Mac OS (BARROS, 2013). • Custo/Espaço Ele oferece incialmente 5GB de espaço gratuito para o armazenamento de arquivos podendo esta capacidade ser aumentada para em mais 10GB, 20GB ou 50GB. Segue abaixo a tabela com os preços para o Upgrade do plano. 65 Tabela 5. Valor Planos iCloud em 21/10/2013 Plano Preço Espaço Total 10 GB US$ 20,00 / ano 15 Gb 20 GB US$ 40,00 / ano 25 GB 50 GB US$ 100,00 / ano 55 GB Fonte: Aplicativo iCloud no iPad • Versionamento A ferramenta de armazenamento em nuvem da Apple não possui versionamento. Sendo assim, após uma alteração de um determinado arquivo, o usuário não tem a opção de voltar para uma versão anterior. • Segurança Todos os dados transmitidos pelo iCloud possuem conexão segura, usando o padrão Secure Sockets Layer (SSL). Todos os dados armazenados estão protegidos contra acesso não autorizados enquanto estão sendo transmitidos ou enquanto estão armazenados na nuvem. O iCloud utiliza padrão de criptografia AES com chave de 128 bits, mesmo nível de segurança utilizado por instituições financeiras de renome, e nunca fornece chaves de encriptação a terceiros (APPLE, 2013). • Tamanho máximo de um Arquivo O iCloud suporta arquivo com até 5Gb de armazenamento. Porem este tamanho de arquivo fica restrito a Notas, imagens, vídeos, e-mails etc. Pois a aplicação não suporta o compartilhamento de arquivos similar as demais ferramentas de armazenamento em nuvem (HAMMERSCHMIDT, 2012). 66 • Limitador de Banda Não possui em sua ferramenta para desktop uma opção para limitar a taxa de transferência, pois em um dispositivo que não seja da Apple, o usuário não consegue enviar nada ao servidor. Somente pode ter acesso ao que está sincronizado com ele. • Diferencial O iCloud é um facilitador para usuários de dispositivos móveis da Apple, pois atualiza o acesso a absolutamente tudo o que está armazenado nos dispositivos que o usuário utiliza diariamente. Ele armazena automaticamente os conteúdos prédefinidos pelo usuário, para que tudo esteja sempre a disposição no seu iPhone, iPad, iPod Touch, Mac ou PC. Permite que o usuário acesse seus aplicativos, fotos recentes e o que mais desejar desde que tenha feito a configuração anterior. Também mantém os e-mails e calendário sempre atualizados em todos os dispositivos (MACHADO, 2012). 3.5 Ubuntu One É o serviço de armazenamento de arquivos da Canonical, a desenvolvedora da distribuição Linux de mesmo nome, está no ar desde 2009 e oferece diversas vantagens, entre elas a integração total com o sistema operacional da empresa, o Ubuntu (KARASINSKI, 2012). 67 Figura 16 – Tela inicial Ubuntu One Fonte: print screen da aplicação no Windows 7. • Disponível para S.O. Além da total integração com o Ubuntu, também possui aplicativos para Windows e Mac OS, além dos aplicativos para os Sistemas Operacionais Moveis Android e iOS (iPhone e iPad). (UBUNTU ONE, 2013) Para o Sistema Operaciona iOS, possui o mesmo aplicativo tanto para iPhone como iPad, tornando a navegação e exibição dos arquivos no iPad mais complicada. Pois a aplicação foi desenvolvida para a tela do iPhone que é menor. • Custo/Espaço O serviço oferece 5GB de armazenamento gratuito, podendo o usuário ganhar 500MB adicionais para cada amigo que se cadastra no serviço, do mesmo modo que seu concorrente DropBox. O limite é de 40 amigos, totalizando 25GB de espaço de armazenamento gratuitos na nuvem. Outra característica é que estes 500GB são recíprocos, ou seja, todos os amigos que o usuário convidar também irão receber 500MB gratuitos (FERNANDES, 2012). Possui um plano de 20GB extras para armazenamento por US$2,99 por mês (UBUNTU, 2013). 68 Tabela 6. Valor Planos Ubuntu One em 21/10/2013 Plano Preço Espaço Total 20 Gb US$29,99 / ano 25 Gb 40 Gb US$ 59,98 / ano 45 Gb 60 Gb US$ 89,97 / ano 65 Gb 80 Gb US$ 119,96 / ano 85 Gb 100 Gb US$ 149,95 / ano 105 Gb 20700 Gb US$ 31039,65 / ano 20705 Gb Fonte: Ubuntu One (2013, p.69). Um diferencial da ferramenta é a possibilidade de fazer streaming de músicas: por uma mensalidade de US$3,99, o usuário recebe 20Gb de espaço para armazenar sua biblioteca de áudio. Existe a possibilidade de se usar uma versão de testes por 6 meses (KARASINSKI, 2012). • Versionamento Um dos seus pontos negativos é quanto à questão do versionamento, pois juntamente com o iCloud, são as únicas ferramentas dentre as abordadas no estudo de caso, que não possui esta opção. Sendo o Versionamento um grande diferencial para o uso da ferramenta no dia a dia. • Segurança A Canonical é muito preocupada em proteger a confidencialidade das informações pessoais do usuário. As medidas de segurança incluem medidas administrativas, físicas e eletrônicas para proteger contra a perda, exposição ou alteração das informações coletadas dos usuários. As medidas incluem encriptação de dados SSL na transmissão das informações dos usuários. Também arquiteturas e sistemas técnicos para impedir terceiros não autorizados acessem as informações pessoais (UBUNTU, 2013). 69 • Tamanho máximo de um Arquivo O tamanho máximo de um arquivo que o usuário pode sincronizar com o servidor do Ubuntu One é 5TB, porém a empresa não recomenda esta sincronização de arquivos via navegador, pois se a conexão com a internet for interrompida, o usuário terá que começar o envio do arquivo do zero. Em compensação usando a aplicação para desktop o arquivo é enviado em partes, e caso a conexão com a internet seja perdida, ao ser restabelecido, o upload começa de onde parou (UBUNTU, 2013). • Limitador de Banda Possui limitador de banda através da configuração na aplicação para desktop. O usuário pode limitar a velocidade de upload e também a velocidade de download dos arquivos sincronizados com a nuvem. A forma de limitar a banda é em KB/s, ficando a critério do usuário escolher a velocidade, sem valores pré-definidos. • Diferencial O seu principal diferencial é a sua versatilidade, por ser uma das poucas ferramentas de armazenamento em nuvem que permite que o usuário sincronize diversas pastas de seu computador com a nuvem. Desde que, no caso do Windows, ela esteja dentro do diretório do usuário (KARASINSKI, 2012). Ubuntu One também oferece upload automático de fotos tiradas a partir de dispositivos móveis Android. Fotos estas que são sincronizadas automaticamente ficando disponível no computador do usuário (UBUNTU, 2013). 70 3.6 SugarSync SugarSync é um serviço de armazenamento em nuvem desenvolvido pela empresa de mesmo nome. Foi lançado no mercado em Novembro de 2009. Nasceu de uma empresa chamada Sharpcast em 2004. Em fevereiro de 2006 esta mesmo empresa desenvolveu uma ferramenta para sincronização de imagens entre vários dispositivos incluindo PCs e dispositivos móveis. Em novembro de 2008 os fundadores deixaram a empresa e em Dezembro de 2008 Laura Yecies foi apontada como CEO e posteriormente rebatizou a empresa para SugarSync (SUGARSYNC, 2013). Figura 17 – Tela inicial SugarSync Fonte: print screen da aplicação no Windows 7. • Disponível para S.O. Possui Aplicativos para Windows e Mac OS e também versões para iOS, Android, BlackBerry, Windows Phone e Symbian. Sem sombra de duvidas é a aplicação com maios opções para dispositivos móveis hoje no mercado (SUGARSYNC, 2013). 71 • Custo/Espaço O serviço oferece 5GB de armazenamento gratuito, podendo o usuário ganhar 500Mb adicionais para cada amigo que se cadastrar no serviço. Também oferece ao usuário que instalar seu aplicativo no Windows 60 Gb de armazenamento por 30 dias (SUGARSYNC, 2013). A tabela 5 apresenta os valores de cada plano disponivel: Tabela 7. Valor Planos SugarSync em 21/10/2013 Plano Preço Espaço Total 60 Gb US$ 74,99 / ano 60 Gb 100 Gb US$ 99,99 / ano 100 Gb 250 Gb US$ 249,99 / ano 250 Gb 500 Gb US$ 399,99 / ano 500 Gb Fonte: Sugarsync (2013, p.72). • Versionamento O Sugarsync armazena as cinco versões anteriores a atual em sua aplicação, independente de tempo. Após atingir este limite, a versão mais antiga é descartada. Figura 18 – Todas as versões SugarSync Fonte: print screen da aplicação no Windows 7. 72 Para fazer a recuperação de alguma versão o usuário tem dois caminhos, ou acessando a pasta compartilhada no Windows, clicando com o botão direito sobre o arquivo e selecionando a opção SugarSync Show Versions. Também diretamente na web, clicando no botão See Versions ao lado direito do arquivo que o usuário quer recuperar. Em ambos os modos o usuário consegue ver a data da modificação daquela versão, tamanho do arquivo, quem fez a modificação (no caso do arquivo ser compartilhado), qual o nome do computador onde foi modificado o arquivo. • Segurança Para segurança máxima, quando o usuário sincronizar arquivos com servidores do SugarSync, os arquivos são transmitidos através de Criptografia SSL 3.3. O mesmo acontece quando o usuário acessar os arquivos em qualquer computador ou dispositivo móvel, o mesmo padrão SSL é aplicado e todos os dados antes de sair dos servidores da SugarSync são criptografados (SUGARSYNC, 2013). • Tamanho máximo de um Arquivo Dentre todas as ferramentas de armazenamento em nuvem abordadas neste estudo de caso é a única que não possui nenhum limite de tamanho de arquivos. Tanto para o upload via web quanto por sincronização pela pasta no Windows por exemplo (SUGARSYNC, 2013). • Limitador de Banda Possui limitador de banda, mas somente para upload, e o usuário só pode escolher entre 3 níveis de velocidade de upload. 73 • Diferencial O usuário pode sincronizar qualquer pasta do seu computador com a nuvem. No programa para Windows basta ir na parte inferior da aba principal onde tem a tecla Select, e que o usuário escolhe a pasta que deseja compartilhar. Pode ser em qualquer partição, ao contrario do Ubuntu One que só aceita se a pasta estiver dentro da pasta usuário. Este diferencial torna a ferramenta a melhor entre todas abordadas para o backup de arquivos. 3.7 Comparativos a) Dropbox Sempre que o usuário adiciona um arquivo na nuvem, será mostrado no computador se este arquivo já foi sincronizado ou não. Se ainda esta sendo sincronizado, aparece junto com o ícone da pasta um símbolo azul de sincronização. E quando está sincronizado aparece um símbolo verde. b) Skydrive: Através da barra de tarefas, no canto direito, o usuário consegue ver se a aplicação esta sendo sincronizada com o servidor ou não. Caso o usuário adicione mais de um arquivo ao mesmo tempo, não há como saber qual arquivo já foi sincronizado e qual arquivo está sendo sincronizado com o servidor naquele instante. c) Google Drive: O Usuário não tem como saber qual arquivo esta sincronizado com a nuvem, na hora de incluir vários arquivos na aplicação. Só sabe que o programa está sincronizando, pois ao passar o mouse sobre o ícone na barra de tarefas, ali diz que esta sendo feita à atualização. 74 d) iCloud: Após fazer alguma alteração ou criar algum arquivo, o usuário não tem a opção de visualizar se o mesmo está sendo sincronizado com a nuvem ou não. A não ser após este arquivo aparecer em outro dispositivo. e) Ubuntu One: Através do aplicativo para desktop, o usuário consegue somente visualizar se ele esta enviando os arquivos para a nuvem, onde aparece File Sync in progress (Sincronização do arquivo em andamento) ou então File Sync is up-to-date (Sincronização do arquivo avançada), dizendo que os todos os arquivos estão sincronizados. f) SugarSync: O usuário consegue visualizar se os arquivos estão sendo sincronizados através de um ícone na barra de tarefas no canto direito, mas também não tem como saber quais arquivos estão sendo sincronizados. 75 Tabela 8 - Comparação entre as ferramentas DropBox Armazenamento 2-18 GB Gratuito Armazenamento US$118,80 100GB (anual) Custo por GB US$1,18 Limite de tamanho 10 GB de arquivo Aplicativo para Sim Windows/Mac Aplicativo para Sim Linux Aplicativo para Sim iPhone/iPad Aplicativo para Sim Android Aplicativo para Sim Windows Phone Acesso Web Sim Compartilhamento Sim público de arquivo Compartilhamento Sim privado de arquivo Integração com Sim outros aplicativos Streaming de mídia Sim Limitador de Sim Banda Linguagem Sim Português SkyDrive 7 GB Google Drive 15 GB iCloud Ubuntu One 5 GB Sugar Sync 5 GB US$149,95 US$99,99 5 GB US$50,00 US$59,88 US$200,00* US$0,50 2 GB US$0,59 10 GB US$2,00 5 GB US$1,49 5 TB Sim Sim Sim Sim US$0,99 Sem Limite Sim Não Não Não Sim Não Sim Sim Sim Sim Sim Sim Sim Não Sim Sim Sim Não Não Não Sim Sim Sim Sim Sim Sim Não Sim Sim Sim Sim Sim Sim Não Sim Sim Sim Sim Não Sim Sim Sim Não Sim Não Sim Não Sim Sim Sim Parcial Sim Sim Sim Não Não Fonte: elaborado pelo autor. Na tabela 8 foram abordadas as principais características de cada ferramenta de armazenamento em nuvem. Qual a capacidade grátis de armazenamento que as ferramentas disponibilizam ao usuário. O Dropbox é a ferramenta que possui menor capacidade inicial de armazenamento, porem com o envio de convites a amigos, ela pode chegar a 18GB. Em contra partida tem o Google Drive com maior capacidade grátis de armazenamento mas este espaço é também compartilhado com a sua plataforma de e-mail. Quanto ao valor dos planos de 100GB para armazenamento, podem varias de US$50,00 anual no Skydrive até US$200,00 no iCloud da Apple. 76 O melhor custo por GB é do aplicativo Skydrive que custa US$0,50, e o mais caro fica com a aplicação da Apple (iCloud) que custa US$2,00. Para o limite de tamanho de arquivo, a melhor ferramenta entre as abordadas é Sugarsync pois não possui limite máximo e a ferramenta que aceita o menor tamanho de arquivo é o Skydrive. Na parte de dispositivos móveis as ferramentas Dropbox, Skydrive e Sugarsync tem suporte aos principais sistemas operacionais do Mercado (Android, iOS e Windows Phone). Todas as ferramentas possuem acesso aos arquivos pelo site da própria ferramenta. E todas elas possuem site intuitivo e simples para o usuário. Para o compartilhamento de arquivos publico e privado, a única ferramenta que não possui esta opção é o iCloud, todas as demais ferramentas tem esta função. Na integração com outros aplicativos, a única ferramenta que não tem suporta também é o iCloud. Streaming de mídia, todas as ferramentas possui a opção para reproduzir mídias por streaming Quanto ao limitador de banda, as únicas ferramentas que possuem esta opção em sua aplicação para Windows é o Dropbox e Ubuntu one, podendo o usuário limitar a taxa de download e upload do aplicativo. E também o Sugarsync, porem nele somente é possível limitar a taxa de upload e sem valores a ser definido pelo usuário. Na parte de suporte a idiomas, as únicas ferramentas que não tem a opção em Português são o Ubuntu One e Sugarsync. Todas as demais ferramentas possuem linguagem português, tanto da aplicação para desktop como também na web. 77 4 CONCLUSÃO A computação em nuvem é o termo do momento na área da computação, e a evolução desta tecnologia é um constante, esta evolução tem contribuído para a difusão do termo computação em nuvem. Este modelo é considerado como um software disponível na internet, em que o usuário não compra hardware ou software, mas aluga e paga o que utilizar. Um problema real para a computação em nuvem no Brasil é a internet, que pode dificultar um melhor aproveitamento desta tecnologia, tendo em vista que a internet na grande maioria dos municípios é muito limitada quando comparado aos grandes centros. Com a computação em nuvem é possível que as informações percam dentro de poucos anos o caráter de “fisicalidade” e que livros, CDs com músicas e vídeos virem informações obsoletas, e que servirão somente para ocupar espaço físico. Todas as ferramentas de armazenamento em nuvem possuem suas vantagens e desvantagem. Algumas possuem maior armazenamento gratuito e o menor valor por GB. Outras possuem como diferencial alguns aplicativos que rodam associados à ferramenta, podendo o usuário criar e editar arquivos de texto, planilhas e apresentações remotamente. Também existem pontos desfavoráveis, como a difícil visualização na aplicação se um determinado arquivo está ou não sincronizado com a nuvem, tendo assim o usuário dificuldade em saber se o arquivo já foi ou não sincronizado. Quanto às plataformas, todas as ferramentas estudadas possuem integração com a maioria, tanto para desktop quanto para dispositivos móveis. Dentre todos os pontos abordados neste estudo de caso, as ferramentas que possuem melhor custo/benefício são Dropbox e SugarSync. Dropbox por ser a ferramenta mais popular usada hoje. É muito simples e intuitiva, sincroniza os arquivos com muita facilidade e o usuário consegue visualizar se os arquivos estão sendo sincronizados com a nuvem ou se já foram sincronizados. Seu programa para desktop é muito estável e de fácil configuração. 78 Também possui a melhor integração com o Windows entre todas as ferramentas estudadas. Já a ferramenta SugarSync apesar de não ter a opção de linguagem em português, tem como seu principal diferencial a opção de sincronizar qualquer pasta do usuário, sem restrição. E também não há restrição quanto a limite de tamanho do arquivo a ser sincronizado com a nuvem. Sendo a ferramenta ideal para o usuário fazer backups na nuvem. 79 5 REFERÊNCIAS BIBLIOGRÁFICAS AHRONOVITZ, M.; AMRHEIN, D.; ANDERSON, P.. Cloud Computing Use Cases: A white paper produced by the Cloud Computing Use Case Discussion Group. Edição 4. Julho, 2010. APPLE. Visão geral da Segurança e privacidade do iCloud, 2013. Disponível em: <http://support.apple.com/kb/HT4865?viewlocale=pt_PT>. Acessado em agosto de 2013. ARMBRUST, M.; FOX, A.; GRIFFITH, R.; JOSEPH, A. D.; KATZ, R.; KONWINSKI, A.; LEE, G.; PATTERSON, D.; RABKIN, A.; STOICA, I.; ZAHARIA, M. Above the Clouds: A Berkeley View of Cloud Computing. EECS Department, University of California, Berkeley, fevereiro 2009 BARROS, Thiago. iCloud Backups, 2013. Disponível em: <http://www.techtudo.com.br/tudo-sobre/s/icloud.html>. Acessado em Junho de 2013. BITTMAN. Thomas. Virtualization Then & Now: Symposium 2009-2010. Disponível em: <http://blogs.gartner.com/thomas_bittman/2010/10/18/virtualizationthen-nowsymposium-2009-2010/>. Acessado em Julho de 2013. BRANTNER, M., FLORESCU, D., GRAF, D., KOSSMANN, D. (2008).. Building a database on s3. In Proceedings of the 2008 ACM SIGMOD international conference on Management of data - SIGMOD ’08, page 251, New York.ACM Press. BRODKIN, Jon. Conheça sete dos riscos de segurança em Cloud Computing. Disponível em: <http://cio.uol.com.br/gestao/2008/07/11/conheca-sete-dos-riscosdeseguranca-em-cloud-computing>. Acessado em Junho de 2013. CANTU, Ana. The History and Future of Cloud Computing, 2011. Disponível em: <http://www.forbes.com/sites/dell/2011/12/20/the-history-and-future-of-cloudcomputing/>. Acessado em Junho de 2013. CHIRIGATI, F. (2009). Computação em Nuvem. Disponível <http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2009_2/seabra/index.html>. Acessado em Julho de 2013. em: 80 DELMIRO, E. (2010). Você sabe o que é computação em nuvem?. Disponível em: < http://www.sapienzae.com.br/?p=847 >. Acessado em Junho de 2013. DIAS, J.; RODRIGUES, R.; PIRES, D.; A segurança de dados na computação em nuvem nas pequenas e médias empresas, 2012. Disponível em: <http://periodicos.unifacef.com.br/index.php/resiget/article/download/287/2780> Acessado em Julho de 2013. DIKAIAKOS, M. D.; PALLIS, G.; KATSAROS, D.; MEHRA, P.; VAKALI, A. Cloud Computing – Distributed Internet Computing for IT and Scientific Research. IEEE Internet Computing, 13(5): 10-13, setembro/outubro de 2009. DROPBOX, 2013. Disponível em: <http://www.dropbox.com/>. Acessado em Agosto de 2013. FEIJÓ, Jean. Cloud Computing: Entenda este novo modelo de computação, 2009. Disponível em: <http://feijo.blogspot.com.br/2009/05/cloud-computing-entenda-estenovo.html>. Acessado em Junho de 2013. FERNANDEZ, Alberto. Cloud Computing, 2011. Disponível em: < http://www.marcasepatentes.pt/files/collections/pt_PT/1/300/301/Cloud%20Computin g.pdf>. Acessado em Novembro de 2013. FUGULIN, M. (2010). Entendendo a Computação em Nuvem. Disponível em: <http://www.tecmedia.com.br/novidades/artigos/entendendo-a-computacao-nuvem>. Acessado em Julho de 2013. GERON, Tomio. Dropbox anuncia novas ferramentas para dispositivos móveis, 2013. Disponível em: <http://forbesbrasil.br.msn.com/tecnologia/dropbox-anuncianovas-ferramentas-para-dispositivos-m%C3%B3veis>. Acessado em Agosto de 2013. GIEZENDANNER, François. SaaS, PaaS, IaaS, Cloud: Definitions, 2010. Disponível em: <http://icp.ge.ch/sem/cms-spip/spip.php?article962>. Acessado em Novembro de 2013. GOOGLE DRIVE, 2013. Disponível em: < https://drive.google.com/>. Acessado em Agosto de 2013. GONÇALVES, D.; JUNIOR, J. (2008). Integração de Aplicações ao SalesForce. White Papers. Digital Assets. 81 HAMMERSCHMIDT, Roberto. iCloud: o sistema de armazenamento na nuvem da apple, 2012. Disponível em: <http://www.tecmundo.com.br/apple/29927-icloud-osistema-de-armazenamento-na-nuvem-da-apple-tem-chance-.htm >. Acessado em Julho de 2013. ICLOUD, 2013. Disponível em: <https://www.icloud.com/>. Acessado em Agosto de 2013. KARASINSKI, Vinicius. Comparação: Google Drive Skydrive Dropbox, Ubuntu One, iCloud e Sugarsync, 2012. Disponível em: <http://www.tecmundo.com.br/computacao-em-nuvem/22667-comparacao-googledrive-skydrive-dropbox-ubuntu-one-icloud-box-e-sugarsync.htm>. Acessado em Agosto de 2013. MACEDO, Juliano. Computação em nuvem: benefícios e riscos, 2010. Disponível em: <http://securitysearchblog.blogspot.com.br/2010/07/computacao-em-nuvembeneficios-e-riscos.html>. Acessado em Novembro de 2013. MACHADO, Arlindo. O que é iCloud ?, 2012. Disponível em: <http://gazetanews.com/colunas/e-icloud-informatica/>. Acessado em Julho de 2013. MARQUES, Eduardo. Entendendo as funções do iCloud, 2013. Disponível em: <http://macmagazine.com.br/2013/01/18/entendendo-as-funcoes-e-oarmazenamento-do-icloud-o-servico-de-nuvem-da-apple/>. Acessado em Agosto de 2013. MATHER, T.; KUMARASWAMY, S.; LATIF, S.. Cloud Security and Privacy. Editora O’Reilly Media; Setembro, 2009. MILLER, M.. Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online. Editora Copyright; 2009. NUNES, Emily Canto. Descubra o Dropbox e tenha seus arquivos sempre disponíveis, 2011. Disponível em: <http://tecnologia.terra.com.br/descubra-odropbox-e-tenha-seus-arquivos-sempre-disponiveis,68c8e194c2bda310VgnCLD20 0000bbcc eb0aRCRD.html>. Acessado em Outubro de 2013. PEDROSO, Rozenildo Rodrigues. Computação em nuvem, 2008. Disponível em: <http://janelatecnologica.blogspot.com.br/2008/10/computao-em-nuvem.html>. Acessado em Março de 2013. 82 PIGATTO, Daniel. Estudo e implementação de uma solução de softwares aplicativos utilizando computação em nuvem, 2009. Universidade Regional Integrada do Alto Uruguai e das Missões. Erechim, RS. ROUSE, Margaret. Communications as a Service, 2008. Disponível <http://whatis.techtarget.com/definition/Communications-as-a-Service-CaaS>. Acessado em Setembro de 2013. em: RUSCHEL, H; ZANOTTO, M; MOTA, W. (2008). Computação em Nuvem. Especialização em Redes e Segurança de Sistemas – 2008/2. Pontifícia Universidade Católica do Paraná (PUC). Curitiba, PR. SANTOS, Érika. Modelos de implantação de Cloud Computing, 2012. Disponível em: <http://erikapss.blogspot.com.br/2012/07/modelos-de-implantacao-da-cloud.html>. Acessado em Novembro de 2013. SCALEDB. Database as a Service, 2012. <http://www.scaledb.com/DBaaS-Database-as-a-Service.php>. Outubro de 2013 Disponível Acessado em: em SEAGATE. Computação em nuvem e arquiteturas de armazenamento em nuvem, 2013. Disponível em: <http://www.seagate.com/br/pt/tech-insights/cloud-computeand- cloud- storage-architecture-master-ti/>. Acessado em Outubro de 2013. SILVA, Aldo. Cloud Computing, 2013. Disponível em: <http://herculesnow.com/2013/09/03/cloud-computing-2/>. Acessado em Novembro de 2013. SILVA, F.H.R. Um estudo sobre os benefícios e os riscos de segurança na utilização de Cloud Computing. Editora Brasport, 2010. SKYDRIVE, 2013. Disponível em: < https://skydrive.live.com/>. Setembro de 2013. Acessado em SOUSA, F; MOREIRA, L; MACHADO, J. (2009). Computação em Nuvem: Conceitos, Tecnologias, Aplicações e Desafios. Capítulo 7. Universidade Federal do Piauí (UFPI). SUGARSYNC, 2013. Disponível em: <https://www.sugarsync.com/>. Acessado em Setembro de 2013. 83 SUN, 2009. Disponível em: <www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2009_2 /seabra/referencias.html#sun>. Acessado em Novembro de 2013. TASK. Armazenamento de arquivos em nuvem – Qual serviço utilizar ?, 2013. Disponível em: <http://blog.task.com.br/2013/armazenamento-de-arquivos-emnuvem-qual-servico-utilizar/>. Acessado em Novembro de 2013. TAURION, Cezar. Cloud Computing Computação em Nuvem: Transformando o mundo da Tecnologia da Informação. Editora Brasport, 2009. TAURION, Cezar. Mas Afinal, o que é Cloud Computing?, 2007. Disponível em: < http://computerworld.uol.com.br/infra_estrutura/cezar_taurion/idgcoluna.2007-1219.1243549572/ >. Acessado em Maio de 2013. UBUNTU ONE, 2013. Disponível em: <https://one.ubuntu.com/>. Agosto de 2013. Acessado em VELTE, A.T., VELTE, T.J., ELSENPETER, R. Computação em nuvem: Uma Abordagem Prática. Editoa Alta Bools, 2012. VIEIRA, A. L.; PEREIRA, F.; TOLEDO, M. B.; CARNEIRO, P.; ARANHA, R.. (2009). Computação em Nuvem. Universidade Federal Fluminense (UFF).