UNIVERSIDADE FEDERAL FLUMINENSE. Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS. - PDF
UNIVERSIDADE FEDERAL FLUMINENSE. Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS.
Download "UNIVERSIDADE FEDERAL FLUMINENSE. Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS."
Bruna Fragoso Stachinski
1 UNIVERSIDADE FEDERAL FLUMINENSE Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS. NITERÓI - RJ 2009
2 Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS. Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do grau de Tecnólogo em Sistemas de Computação. Orientador: Leandro Soares de Sousa NITERÓI - RJ 2009
3 Aline Rodrigues da Silva Eduardo Almada Félix COMPUTAÇÃO EM NUVEM: UMA NOVA TECNOLOGIA PARA VIABILIZAR NEGÓCIOS. Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do grau Tecnólogo em Sistemas de Computação. Niterói, de de Banca Examinadora: Prof. Leandro Soares de Sousa, Msc. Orientador UFF - Universidade Federal Fluminense Prof a. Talita de Oliveira Ferreira, Msc. Avaliador UFRJ Universidade Federal do Rio de Janeiro
4 Dedico este trabalho a minha mãe Malvina e aos meus estimados amigos. Aline Rodrigues da Silva Dedico este trabalho a minha querida esposa Adriane e as minhas estimadas filhas Flávia e Beatriz. Eduardo Almada Félix À memória da minha querida mãe Norma que não teve a oportunidade de viver este momento comigo. Eduardo Almada Félix
5 AGRADECIMENTOS A Deus, que sempre iluminou a nossa caminhada. A todos os nossos familiares e amigos pelo apoio e colaboração. A toda diretoria, professores e tutores do Curso de Tecnologia em Sistemas de Computação, em particular ao Tutor Augusto Frederico Burle Neto, por nos proporcionar um excelente curso e um aprendizado imensurável. Ao nosso Orientador Leandro Soares de Sousa, pelo estímulo e atenção que nos concedeu durante o curso. Aos Colegas de curso pela força, motivação e apoio que sempre nos deram.
6 É do senso comum capturar um método e experimentá-lo. Se ele falhar, admita isso com franqueza e experimente outro. Mais acima de tudo, tente algo. Franklin Delano Roosevelt
7 RESUMO Cloud Computing ou Computação em Nuvem é um modelo de computação em que parte do processamento, armazenamento e software estão em algum lugar na rede e é acessado remotamente pela Internet. De acordo com pesquisas realizadas durante esse estudo podemos dizer que Cloud Computing oferta um conjunto de serviços disponibilizados através da internet como software, hardware e plataforma de desenvolvimento na nuvem. O funcionamento básico dessa tecnologia consiste na oferta de data centers virtuais e máquinas virtuais em que o cliente usa e/ou contrata essa infraestrutura de acordo com a sua demanda não precisando se preocupar com as tarefas de desenvolvimento, armazenamento, manutenção, atualização, backup e etc já que toda essa tecnologia é oferecida na forma de serviços e não através de licenciamento de software e aquisição de hardware. Observamos no decorrer desse trabalho um grande volume de informações na Internet sobre o assunto Cloud Computing, e o que nos surpreendeu é que ele foi abordado em diversas vertentes e setores de negócios da área de TI. Isso mostra que o mercado para os profissionais de TI e para as empresas em geral é muito promissor e pode viabilizar novos negócios usando a plataforma de Computação em Nuvem. O instituto Gartner prevê grande volume de capital nessa área para os próximos três a cinco anos. Palavras-chaves: Cloud Computing, Internet e negócios.
8 ABSTRACT Cloud Computing is a computing model in which part of the processing, storage and software are somewhere in the network and is accessed remotely by the Internet. According to surveys carried out during this study we can say that Cloud Computing offer a set of services available through the Internet as software, hardware and development platform in the cloud. The basic operation of this technology is the provision of virtual data centers and virtual machines in which the client can employ and / or acquire this infrastructure according with your demand and not need to worry with the tasks of development, storage, maintenance, update, backup and etc already that all this technology is offered in the form of services and not through licensing of software and hardware acquisition. We observed during this work a large volume of information on the Internet about Cloud Computing, and what surprised us is that he was approached in several strands and business sectors of IT. This shows that the market for the professionals in IT and companies in general is very promising and can enable new business using the platform of Cloud Computing. The Gartner Institute provides large volume of capital in this area for the next three to five years. Key words: Cloud Computing, Internet, business.
9 LISTA DE ILUSTRAÇÕES Figura 1: Modelo atual de um diagrama de rede cliente-servidor. Fonte: [3,p.4]...18 Figura 2: Três elementos básicos de uma Cloud Computing. Fonte([3,p.6])...20 Figura 3: Anatomia de uma Nuvem. Fonte: [9]...21 Figura 4: Serviços em uma Nuvem. Fonte: [9]...22 Figura 5: Tipos de Nuvem. Fonte: [9]...24 Figura 6: Preço por máquina virtual/hora. Fonte [37]...25 Figura 7: Simulador de uso do S3.Fonte [37]...26 Figura 8: Custo estimado do S3 para 20 GB/mês.Fonte[37]...26 Figura 9: Azure Plataforma de Serviços na Nuvem. Fonte [13]...27 Figura 10: Software on premises x na nuvem. Fonte: [16]...41 Figura 11: Os aplicativos SaaS são identificados por seus locais conceituais em três seqüências diferentes. Fonte [15]...42 Figura 12: Cada seqüência pode ser subdividida em três segmentos, representando as abordagens: tradicional, SaaS e híbrida.fonte: [15]...44 Figura 13: Tela principal do Google Apps. Fonte [22]...45 Figura 14:Tela principal do Office Live (beta). Fonte [23]...48 Figura 15:Tela principal do SalesForce CRM Sales versão avaliação. Fonte [24]...49 Figura 16: As 10 tendências para 2009 e 2010 na área de Tecnológica.Fonte [42].60
10 LISTA DE GRÁFICOS Gráfico 1: Orçamento de TI em software no local.fonte[34]...39 Gráfico 2: Orçamento de TI em software SaaS.Fonte [34]...40 Gráfico 3: Pesquisa feita no Google Trends em 21/11/2009.Fonte: [29]...55
11 LISTA DE ABREVIATURAS E SIGLAS SaaS Software como Serviço (Software as a Service) PaaS Plataforma como Serviço (Plataform as a Service) IaaS Infraestrutura como Serviço (Infrastructure as a Service) TI Tecnologia da Informação HD Disco Rígido (Hard Drive) AWS Amazon Web Service EC2 - Elastic Compute Cloud S3 Simple Storage Service CPU Central Processing Unit (Unidade Central de Processamento) ASP Application Service Provider (Provedor de Serviços de Aplicações) APIs Application Programming Interface (Interface de Programação de Aplicativos) SQL - Structured Query Language (Linguagem de Consulta Estruturada).NET - Tecnologia de programação da Microsoft SLA - Service Level Agreement (Acordo de Nível de Serviço) JVM - Java Virtual Machine (Máquina Virtual Java) CRM - Customer relationship management (Gestão de Relacionamento com o Cliente) ERP - Enterprise Resource Planning (Sistema de Gestão Empresarial) CSA - Cloud Security Alliance - (Aliança para Segurança na Nuvem )
12 SUMÁRIO RESUMO...7 ABSTRACT... 8 LISTA DE ILUSTRAÇÕES...9 LISTA DE GRÁFICOS...10 LISTA DE ABREVIATURAS E SIGLAS INTRODUÇÃO UM BREVE HISTÓRICO INFRAESTRUTURA COMO SERVIÇO (IaaS) PLATAFORMA COMO SERVIÇO (PaaS) SERVIÇOS DE SOFTWARE (SaaS) UMA VISÃO DE MERCADO CONCLUSÃO...65 CONCLUSÃO...65 CONCLUSÃO...65 REFERÊNCIAS BIBLIOGRÁFICAS...67 REFERÊNCIAS BIBLIOGRÁFICAS...67 REFERÊNCIAS BIBLIOGRÁFICAS...67
13 13 1 INTRODUÇÃO A Cloud Computing ou Computação em Nuvem é uma das tendências tecnológicas dos próximos tempos. Como definir Cloud Computing? Não existe ainda uma definição coesa sobre o tema, no entanto, podemos citar: Computação em Nuvem pressupõe escalabilidade e elasticidade que permite entrega de tecnologia sob demanda suportada pela Internet [1]. Computação em Nuvem é uma excelente alternativa para se criar um Data Center 1 virtual, usando-se milhares de servidores, internos e/ou externos à organização, interligados pela Internet em redes de banda larga, a um custo de propriedade bem menor, principalmente considerando-se a utilização da capacidade ociosa, já adquirida [2,p.24]. O que nos inclina e motiva para esse trabalho é o espaço que essa tecnologia vem ganhando e o estudo mais detalhado nesse caminho abre novas oportunidades para nós profissionais de TI (Tecnologia de Informação). Há décadas os computadores ocupavam salas inteiras, tinham um preço altíssimo e eram exclusivos das grandes corporações. Mais tarde os microcomputadores chegaram aos lares como mais um aparelho eletrônico. No inicio da década de 1990 a Internet passa a fazer parte de nossas vidas, seja no trabalho, em casa, ou no lazer. E agora o que está no cerne deste contexto é o conceito de Cloud Computing que promete, como a Internet, uma nova revolução já nos próximos anos. Sendo assim, com esse trabalho, tentamos esclarecer o que é Cloud 1 Data center, segundo Velte [3,p.7] é uma coleção de servidores aonde suas aplicações residem, podem estar em grandes salas em suas construções ou em salas cheias de servidores em qualquer outro lugar do mundo que podem ser acessados via Internet.
14 14 Computing e mostrar que os computadores passam a ter um papel coadjuvante, pois o ator principal passa a ser a informação, que se encontra na cloud 2, informação essa que pode ser acessada independentemente da localização geográfica de quem as detêm, precisando basicamente de um equipamento, seja celular, smartphone, notebook, entre outros, que tenham acesso à Internet. Na Cloud Computing, a Internet passa a funcionar como um servidor de arquivos. Sob esse aspecto, a Computação em Nuvem já faz parte do nosso dia a dia, como exemplo superficial, podemos citar os servidores de como o Yahoo e os serviços oferecidos pelo Google Apps, que é um serviço do Google, que apresenta muitas aplicações similares a que temos hoje instaladas em nossos desktops, tais como: editor de texto, planilha de cálculo, agenda, , e etc. Porém essas aplicações funcionam não em um computador local e sim na Internet, isso mostra que esse modelo de computação, Cloud Computing, proporciona a oferta de soluções baseadas exclusivamente na infraestrutura disponibilizada pela Internet e recebe o nome de Software as a Service (SaaS). Este trabalho foi organizado da seguinte forma: No Capítulo 2 conceituamos Cloud Computing, colocamos um breve histórico, uma visão geral do seu funcionamento e citamos algumas empresas que já utilizam essa tecnologia. No Capítulo 3 mostramos a infraestrutura como um serviço e alguns fatores dessa tecnologia. No Capítulo 4 resolvemos abordar a plataforma de desenvolvimento na nuvem (PaaS) e algumas empresas e seus Aplicativos dessa plataforma. O quinto capítulo introduz os serviços de software oferecidos por essa tecnologia SaaS, exemplificamos com algumas aplicações 2 Cloud: do Inglês, Nuvem. Tipicamente representa a Internet em um diagrama de rede de computadores [3,p.3].
15 15 que já existem nesta área. E mostramos de forma resumida os benefícios da Computação em Nuvem. No sexto capítulo introduzimos uma visão do mercado, questões sobre os negócios e oportunidades dessa tecnologia, tendências para os próximos anos, e não poderíamos deixar de comentar, alguns requisitos de segurança. Finalmente, no capítulo seguinte, colocamos as conclusões obtidas e as indicações para futuros trabalhos.
16 16 2 UM BREVE HISTÓRICO Os primeiros computadores eram enormes, do tamanho de uma sala, pesadíssimos e caros. Quando alguém necessitava fazer alguma tarefa no computador tinha que se deslocar até ele para poder realizá-la. De acordo com a Lei de Moore 3 [4,p.22], o tamanho e o custo dos computadores diminuem constantemente, isto possibilita a utilização de computadores pessoais visto que passou a ser economicamente viável ter um computador no escritório ou mesmo em casa. Com o uso de computadores pessoais foi possível utilizar uma arquitetura completamente descentralizada. Neste momento poderia optar-se por duas arquiteturas: a centralizada, que basicamente é composta por servidor central que é acessado através dos ditos terminais burros 4, essa arquitetura tem um menor custo, em termos de custo por usuário, quando comparada com a arquitetura descentralizada, que disponibilizava uma maior autonomia e melhor interface aos utilizadores. Mais tarde, surge a arquitetura cliente-servidor, na qual existem computadores em ambos os lados. Algumas partes do programa são executadas no computador servidor e outras são executadas no computador cliente. Isto causa um aumento da complexidade do software visto a necessidade de comunicação e sincronização entre as partes. 3 Lei de Moore: prevê em 1975, que a densidade dos transistores e circuitos integrados dobraria a cada 18 meses.[4,p.22]. 4 Terminais burros: Terminal que apenas transmite e recebe dados de um computador, não podendo processá-los [5,Michaelis].
17 17 Surge então o primeiro Web browser 5, que apenas exibia texto e praticamente todo o processamento era realizado no lado do servidor. Retornamos a uma arquitetura completamente centralizada. O potencial deste tipo de aplicações era muito limitado. Os web browsers foram evoluindo e já é possível executar código de aplicações dentro destes, o que levou e leva ao crescimento das aplicações web em detrimento de aplicações desktop. Esta arquitetura cliente-servidor fornece algumas vantagens tecnológicas, que naturalmente se tornam em vantagens econômicas. A centralização de todos os dados no servidor é um exemplo disso, que possibilita um aumento na segurança e a redução dos custos de manutenção. Boa parte destas mudanças surgiu apenas por razões econômicas. Se uma arquitetura diferente apresenta as mesmas funcionalidades a um preço menor, tende a ser cada vez mais utilizada. No cerne desta mudança está a evolução tecnológica e novamente as razões econômicas, com a redução de custos e infraestrutura que essa mudança pode proporcionar. Através desse nosso trabalho podemos dizer que a idéia de afastar completamente a computação e os dados dos computadores e movê-los para a nuvem, nomeia-se Cloud Computing. 2.1 VISÃO GERAL DO SEU FUNCIONAMENTO Hoje, o tipo de arquitetura que temos é a baseada na estratégia clienteservidor, conforme ilustrado na Figura 1, que é o caso da maioria das aplicações disponibilizadas na Internet. 5 Web Browser: Programa utilizado para navegar pela Internet, daí ser chamado também de navegador. Os mais conhecidos são o Internet Explorer (IE) da Microsoft e o Navigator da Netscape. O mesmo que Browser.[6,Dicweb]
18 18 A Cloud Computing vem propor uma ruptura nesse tipo de arquitetura e cria um novo paradigma da computação baseado no uso de recursos computacionais próprios ou/e de terceiros, sob demanda [10]. Segundo o site da Locaweb [7]: A arquitetura da Computação em Nuvem evita a dependência de um único recurso físico e, ao mesmo tempo, proporciona escalabilidade para crescer e garante processamento isolado para cada cliente. Além disso, os servidores Cloud Computing reduzem de maneira inteligente o consumo de energia do data center, contribuindo para preservação do meio ambiente. Figura 1: Modelo atual de um diagrama de rede cliente-servidor. Fonte: [3,p.4] De acordo com Taurion [2, p.44], a Computação em Nuvem tem algumas características próprias, que definem o seu conjunto de tecnologias. Essas características são: A abstração da infraestrutura e a distribuição geográfica dos sistemas, exigindo recursos administrativos e gerenciais que permitem autonomia de gestão e operação entre diversos sites.
19 19 A heterogeneidade dos sistemas, uma vez que não se pode exigir que os sistemas, que constituem uma nuvem, sejam da mesma tecnologia. Escalabilidade, que permite que a nuvem seja dinâmica, crescendo na medida que mais sistemas se incorporem aos anteriores. Adaptabilidade, com a nuvem buscando se autoconfigurar sempre que um determinado nó se torna indisponível. O fundamento básico da Computação em Nuvem é a virtualização dos recursos computacionais. Segundo Velte [3, p.6] precisamos de basicamente três elementos para implementar uma simples estrutura em Cloud Computing e são eles: clientes, servidores distribuídos e data centers. Cada um desempenhando um papel específico para o funcionamento da aplicação. Conforme detalhado abaixo e mostrado na Figura 2. Os Clientes são os usuários finais e são divididos basicamente em: o mobile: como exemplos celular, smartphone e Iphone; o thin-client: são computadores que não possuem HD (hard drive) e o processamento maior é feito no servidor; e o thick-client: como exemplo os computadores que temos em nossas casas e nas maiorias das empresas. Data center, segundo Velte [3,p.7] é uma coleção de servidores aonde suas aplicações residem, podem estar em grandes salas em suas construções ou em salas cheias de servidores em qualquer outro lugar do mundo que podem ser acessados via Internet.
20 20 Servidores distribuídos, que, geralmente, ficam geograficamente distantes uns dos outros, porém no nível de usuário é como se estivessem todos em um mesmo local, isso aumenta a segurança e a operabilidade, já que se um servidor apresentar algum problema, é possível acessar por outro, também com os servidores distribuídos, na cloud se for requerido mais hardware, não é preciso necessariamente instalar mais servidores na infraestrutura física, e sim adicionar servidores de outros sites e incluí-los na cloud. Figura 2: Três elementos básicos de uma Cloud Computing. Fonte([3,p.6]) Segundo Resse [8,p.2], fazendo um teste simples pode-se determinar se um serviço é um serviço de Cloud Computing. Diz Resse [8, p.2] : If you can walk into a library or Internet café and sit down at any computer without preference for operation system or web browser and access a service, that service is cloud-service. Traduzindo o texto do autor, podemos dizer que: se você entra em uma biblioteca ou em um Internet café, senta-se na frente de qualquer computador, sem preferência por qualquer sistema operacional ou navegador e acesa um serviço, esse serviço é baseado na Cloud Computing.
21 21 De acordo com Amrhein [9], a anatomia de uma nuvem pode ser representada em camadas. A Figura 3 é um modelo, que a maioria concorda, do que sejam os três principais componentes de um modelo em nuvem. Essa figura reflete de forma precisa às proporções da massa de TI com relação a custo, requisitos de espaço físico, manutenção, administração, supervisão de gerenciamento e obsolescência. Além do mais, essas camadas representam não apenas uma anatomia de nuvem, mas representam a anatomia de TI em geral. Figura 3: Anatomia de uma Nuvem. Fonte: [9]. O funcionamento da Cloud Computing pode ser observado em vários níveis de abstração, como ilustra a Figura 4, e são eles de acordo com Taurion [10]: A infraestrutura como serviço (IaaS) não há preocupação com a infraestrutura, pois temos os servidores virtuais e a imagem de um ambiente operacional, porém temos que nos preocupar com middleware 6 que roda nessa camada. 6 Middleware: Software that allows different computer programs used in a corporate network to work together. [11], ou seja, permite que diferentes plataformas trabalhem em conjunto em uma rede corporativa.
22 22 Plataforma como serviço (PaaS) nessa camada não há preocupação com o ambiente operacional e com o middleware, porém é nessa camada que se desenvolve os softwares que irão executar na nuvem. Software como serviço (Saas) nessa camada não há preocupação com infraestrutura, middleware, plataforma, linguagem de programação e sim na funcionalidade final que nos é ofertada. Exemplo: Google docs. Figura 4: Serviços em uma Nuvem. Fonte: [9]. Existem três tipos de nuvens, conforme mostra a Figura 5, são elas: Privadas ou nuvens empresariais, segundo Taurion [2,p.47], pertence a uma empresa e ela é usada na Intranet ou dentro do firewall das mesmas, possui escalabilidade e provisionamento automático de recursos, e em relação à nuvem pública, os quesitos de segurança e confiabilidade são bem maiores, no quesito elasticidade ela é limitada, pois trabalha sobre os servidores já existentes. Públicas, que podem ser pagas e/ou gratuitas e são acessadas via Internet possui um alto poder para oferecer às empre-
23 23 sas uma infraestrutura computacional a um custo baixo, através da virtualização; tem elasticidade, porém os fatores de segurança e confiabilidade, diferentemente das nuvens privadas, ainda é uma preocupação. Conforme cita Velte [3,p.21-22], empresas como a Amazon.com [37], Google [35] e Microsoft [36] já possuem nuvens públicas e oferecem diversos serviços através das mesmas. Hibridas, de acordo com Amrhein [9], são uma combinação de nuvens públicas e privadas. Essas nuvens seriam geralmente criadas pela empresa e a responsabilidade do gerenciamento seria dividida 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 no privado. As nuvens híbridas são a resposta quando uma empresa precisa empregar os serviços de nuvens públicas e privadas. Nesse sentido, uma empresa pode determinar os objetivos 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 a processos críticos de forma segura, como por exemplo: o recebimento de pagamentos de clientes, assim como aqueles secundários para os negócios, como processamento da folha de pagamentos de funcionários. A principal desvantagem dessa nuvem é a dificuldade para criar e controlar de forma efetiva tal solução. Serviços de diferentes origens devem ser obtidos e fornecidos como se tivessem originado de um único local e interações entre componentes privados e públicos podem tornar a implementação ainda mais complexa. Como esse é um conceito arquitetônico relativamente novo em Computação em Nuvem, boas práticas e ferramentas sobre esse padrão continuam a surgir e pode haver uma relutância geral para adotar esse modelo até que seja mais conhecido.
24 24 Figura 5: Tipos de Nuvem. Fonte: [9]. 2.2 ALGUMAS EMPRESAS QUE JÁ UTILIZAM ESSA TECNOLOGIA Cloud Computing, vem sendo apontado como uma das principais tendências na área de TI (Tecnologia da Informação) para os próximos três a cinco anos, e empresas como Amazon.com, Google, e Microsoft entre outras, já usam essa tecnologia. No Brasil temos a empresa LocaWeb [7], que já oferece serviços de Cloud Computing para empresas ou usuários finais. A Amazon.com foi a primeira empresa a oferecer para o público os serviços de Cloud Computing através do AWS Amazon Web Service. O jornal New York Times, fez uso de seus serviços para digitalizar e disponibilizar ao público, os seus artigos e imagens entre os anos totalizando 4 TB (terabytes) de dados através desses serviços da Amazon.com que são descritos abaixo:
25 25 EC2 - Elastic Compute Cloud: Oferece uma estrutura virtual e elástica, através da Web, de computadores, sistemas operacionais e software virtuais, na qual o cliente paga pelos serviços de acordo com o uso, conhecido como pay-per-use. Por cada máquina virtual, conforme ilustrado na Figura 6, apenas como um exemplo dessa forma de cobrança. Figura 6: Preço por máquina virtual/hora. Fonte [37] S3 Simple Storage Service: Oferece uma estrutura virtual de armazenamento de dados, ou seja, funciona como se fosse um HD virtual, do qual o cliente paga de acordo com seu uso (pay-peruse). O acesso é feito de forma simples com o uso de uma única senha, os dados podem ser acessados de qualquer lugar e a escalabilidade é um de seus fatores de destaque. A Figura 7 mostra o uso simulado em um S3, considerando a armazenagem, envio e recebimento de 20 GB/mês e na Figura 8 mostramos o seu custo em dólares.
26 26 Figura 7: Simulador de uso do S3.Fonte [37]. Figura 8: Custo estimado do S3 para 20 GB/mês.Fonte[37]. SimpleDB : Como o próprio nome diz, é um simples porém poderoso sistema de banco de dados relacional que funciona na nuvem e,
27 27 também como o S3 e EC2, usa o sistema de pay-per-use e escalabilidade. No mesmo conjunto de serviços a Google oferece o Google s App Engine que fornece vários aplicativos, tais como: editor de texto, planilhas, ferramentas para desenvolvimento de aplicações web, entre outros softwares online. A Microsoft lança o sistema operacional para operar diretamente na nuvem, que se chama Windows Azure conforme apresentado na Figura 9, que suporta um conjunto de funcionalidades voltado para os serviços em nuvem, tais como: Live Services, SQL Service, Microsoft. NET Services e que disponibiliza serviços para usuários, como o Windows live, Office Live e etc. Figura 9: Azure Plataforma de Serviços na Nuvem. Fonte [13]. No Brasil, a empresa Locaweb [7], fundada em 1998, é pioneira e líder em serviços hospedados de TI no Brasil, também oferece soluções de Cloud Computing.
28 28 Entre seus clientes podemos citar a Kaizen [17], que usa o serviço de armazenamento e possui setenta servidores virtuais; o site Camiseteria [18], é um caso de sucesso que aposta na interatividade para propor a democracia fashion, na qual o usuário que participa como membro da comunidade pode enviar desenhos para possíveis estampas de camisetas. Esses são votados por outros integrantes e os melhores são transformados em camisetas, vendidas pela Internet. Sendo assim, para melhorar sua performance, a Camiseteria optou pelo serviço de Cloud Computing da Locaweb. Segundo Fabio Seixas, membro-fundador da Camiseteria cita que Cloud Computing é uma plataforma de computação que permite a expansão de recursos como CPU, memória, espaço em disco e banda, conforme a demanda por esses recursos for crescendo. Serve para melhorar o gerenciamento e otimização dos custos dos recursos de computação [14,p.33-35].
29 29 3 INFRAESTRUTURA COMO SERVIÇO (IaaS) Resolvemos começar pela Infraestrutura como serviço (IaaS). O que é IaaS? Como mencionado superficialmente no capítulo anterior, é a base da pirâmide da Computação em Nuvem, pois não há preocupação com a infraestrutura física local de servidores, data centers, e outros hardware que compõem um infraestrutura de TI de uma organização nos moldes atuais. A infraestrutura como serviço (Iaas) é a virtualização sob demanda de hardware como servidores, HD s e outros e também a virtualização dos inúmeros sistemas operacionais disponíveis. De acordo com Amrhein [9], Os serviços de infraestrutura abordam o problema de equipar de forma apropriada os data centers, assegurando o poder de computação quando necessário. Além disso, devido ao fato das técnicas de virtualização serem comumente empregadas nessa camada, economias de custos decorrentes da utilização mais eficiente de recursos podem ser percebidas. Conforme Taurion[2,p.100], o termo infraestrutura como serviços começou a aparecer no final de 2006, como uma sofisticação do conceito e da terminologia de Hardware-as-a-Service, proposto pelo jornalista Nicholas Carr. A idéia básica é que o usuário em vez de adquirir e instalar servidores e equipamentos de rede em um data center, poderia usar estes recursos a partir de um provedor externo. Mas, diferentemente dos modelos tradicionais de outsourcing 7, a Computação em Nuvem não reserva um determinado recurso contratante, e sim aloca de forma dinâmica e automática os seus recursos para atender aos requisitos de demanda do cliente. 7 Outsourcing: (Out = fora e Source = fonte, ou Fora da Fonte), do inglês, significa terceirização. Terceirização é quando uma empresa transfere a responsabilidade da produção de suas atividades meio (aquelas que fogem de sua atividade principal) para uma outra empresa e dedica-se exclusivamente à sua atividade principal.[43]
30 ALGUNS FATORES A CONSIDERAR SOBRE ESSA TECNOLOGIA Segundo Reese [8,p.12], uma comparação entre infraestrutura interna de TI e uma infraestrutura baseada em Cloud Computing possuem vários fatores a considerar como: Capital Investido: Em uma infraestrutura de TI interna o investimento em hardware é feito todo antes. Já em uma estrutura de Cloud Computing há um investimento gradual de acordo com a necessidade da organização. Despesas correntes: No modelo de infraestrutura interna, há uma variação grande do custo de TI, ainda mais quando requer mais recursos. Já no modelo de infraestrutura na nuvem essa despesa poderá ser grande ou insignificante, dependerá da sua necessidade. A grande chave desse modelo é que você paga exatamente pelo que você precisa, nada mais, o que garante na maioria dos casos que as despesas correntes nesse modelo são mais em conta. Provisionamento de recursos: No modelo tradicional há um tempo que se esperar para a implementação e ampliação de recursos de hardware como: aquisição, tempo de chegada dos equipamentos e outros. Já no modelo Cloud Computing não há que se esperar mais do que minutos para ter um novo servidor na sua infraestrutura, tendo em vista que esse servidor é totalmente virtual. Flexibilidade: Um das vantagens que a infraestrutura na nuvem traz é a flexibilidade de recursos que acompanha as suas necessidades. Já no modelo tradicional o pessoal de TI fixa
31 31 um valor, por exemplo, de espaço em disco muito acima ou em determinados casos abaixo da sua necessidade real ocasionando gasto maior e ou desnecessários, enquanto que o modelo de Cloud Computing proporciona uma economia de escala. Requerimento de Especialistas em TI: Na infraestrutura interna há uma necessidade de pessoas qualificadas para prestar suporte, controlar os servidores, e sistemas, corrigir e atualizar os mesmos. Isso custa caro. Já no modelo de infraestrutura na nuvem esse custo é moderado tendo em vista que a manutenção da maior parte é feita pelas empresas fornecedoras de infraestrutura na nuvem. Confiabilidade: Para termos certeza que nosso sistema irá funcionar 24 horas por dia, 7 dias por semana e garantirmos os dados, em uma Infraestrutura interna, temos que fazer altos investimentos na nossa infraestrutura. O modelo de Cloud Computing, tem como uma de suas características garantir a alta redundância dos dados, porém ainda carece de um histórico comprovado de estabilidade. Até porque é uma tecnologia totalmente nova. Ainda de acordo com Reese (8,p.18-19), a Amazon.com é uma das pioneiras na oferta de infraestrutura como serviço e é com seu AWS Amazon Web Service, que possui, numa visão altamente superficial, os seguintes serviços: Amazon EC2 Amazon S3 Amazon Simple Queue Service (SQS) Amazon CloudFront Amazon SimpleDB
32 32 Segundo Velte [3,p.16], infraestrutura como serviço ou hardware como serviço (HaaS) tem várias partes a considerar que são elas: Service Level Agreements (SLA): É um acordo entre o fornecedor e o cliente sobre as garantias e qualidade do sistema. Computer Hardware: São os computadores virtuais locados pelo cliente e que o fornecedor do serviço oferece na forma de uma grade com diversas configurações proporcionando uma fácil escalabilidade para o cliente. Network: Isso inclui hardware para firewalls, roteadores e outros equipamentos necessários a bom funcionamento da rede. Internet Conection: Permite o acesso rápido ao hardware virtual pelo cliente de sua própria organização. Plataform virtualization environment: Permite que os clientes rodem qualquer máquina virtual que eles escolherem. Utility computing billing: Pagamento dos serviços de computação como um serviço e de acordo com os recursos consumidos pelo cliente. 4 PLATAFORMA COMO SERVIÇO (PaaS) Agora iremos falar um pouco da parte central da pirâmide da Computação em Nuvem, a plataforma como serviço (PaaS). Nessa camada não há preocupação
33 33 com o ambiente operacional e com o middleware, como mencionado no capítulo anterior, porém é nessa camada que se desenvolve o software que executará na nuvem. Conforme define Taurion [2,p.132], O modelo de Plataform-as-a-Service (PaaS) se propõe a criar uma plataforma para o desenvolvimento de aplicações já voltadas para a Computação em Nuvem. A sua definição é uma plataforma para criar e operar aplicações incluindo ferramentas de desenvolvimento, administração e gerenciamento, além de serviços de runtime, tudo na modalidade SaaS. 4.1 EMPRESAS E APLICATIVOS DESSA PLATAFORMA Empresas como Google, Microsoft, e Salesforce.com entre outras gigantes do setor, estão atuando cada vez mais nessa camada da Computação em Nuvem. E mostraremos abaixo os aplicativos de PaaS que elas já oferecem: Google App Engine: Conforme publicado no próprio site do Google App Engine [22] : O Google App Engine permite que você execute seus aplicativos da web na infraestrutura do Google. Os aplicativos do Google App Engine são fáceis de criar, manter e escalar à medida que seu tráfego e armazenamento de dados precisa crescer. Com o Google App Engine, não há necessidade de manter servidores: você apenas envia seu aplicativo e ele está pronto para atender a seus usuários. O Google App Engine suporta aplicativos criados em várias linguagens de programação. O ambiente de execução em Java do Google App Engine permite criar o seu aplicativo usando tecnologias Java padrão, incluindo a JVM, servlets Java e a linguagem de programação Java, ou qualquer outra linguagem que usa um interpretador ou compilador com base na JVM, como JavaScript e Ruby. O Google App Engine também apresenta um ambiente de execução em Python dedicado, que inclui um interpretador de Python rápido e a biblioteca Python padrão. Os ambientes de execução em Java e Python foram criados para garantir que o
34 34 seu aplicativo seja executado rapidamente, com segurança e sem interferência de outros aplicativos no sistema. Com o Google App Engine, você só paga pelo que usar. Não há preços predefinidos nem taxas recorrentes. Os recursos usados pelo seu aplicativo, como armazenamento e largura de banda, são medidos em gigabytes e cobrados a taxas competitivas. Como você é quem controla a quantidade máxima de recursos que o seu aplicativo pode consumir, ele sempre fica dentro do seu orçamento. O Google App Engine pode ser iniciado gratuitamente. Todos os aplicativos podem usar até 500 MB de armazenamento e CPU e largura de banda suficientes para suportar um aplicativo eficiente que oferece cerca de cinco milhões de visualizações de página por mês, totalmente grátis. Ao ativar o faturamento para o seu aplicativo, os limites gratuitos aumentam e você paga somente pelos recursos que ultrapassam os níveis gratuitos. Microsoft Windows Azure: De acordo o site Plataforma Windows Azure[38], o Windows Azure é o sistema operacional para serviços na nuvem que é utilizado para o desenvolvimento, hosting e gerenciamento dos serviços dentro do ambiente da plataforma Azure. O Windows Azure provê computação e armazenamento por demanda, com a finalidade de hostear, escalar e gerenciar aplicações Web e serviços através da Internet dentro dos datacenters da Microsoft. Microsoft.NET Services é um conjunto de serviços altamente escaláveis, orientados ao desenvolvedor e hospedados na Microsoft que oferecem blocos construtivos necessários para a maioria das aplicações baseadas na nuvem. Além disso, o.net Framework fornece uma excelente biblioteca de classes que torna o desenvolvimento de aplicações mais produtivo. O Microsoft.NET Services possibilita o desenvolvimento focado na lógica da aplicação ao invés de ter a necessidade de construir e fazer o deployment do próprio serviço de infraestrutura na nuvem. O Microsoft
35 35 SQL Azure estende as capacidades do Microsoft SQL Server para a nuvem como sendo um banco de dados relacional baseado na Web. Ele fornece Web services que proporcionam queries relacionais, pesquisas, sincronização de dados com dispositivos móveis, escritórios remotos e parceiros de negócio. Ele pode armazenar dados estruturados, semi-estruturados ou sem nenhuma estrutura. Salesforce force.com: conforme site da própria Salesforce.com [24], todos os recursos necessários para criar aplicativos de negócios estão na Force.com que é uma plataforma com recursos completos principalmente para aplicações comercias, como CRM, vendas, etc. Diferentemente das plataformas de software tradicionais, a Force.com inclui tudo o que você precisa para criar e executar aplicativos em um único pacote. Inclui um banco de dados, integração, lógica de negócios, geração de relatórios, interface de usuário e serviços móveis, todos executados em uma plataforma confiável para vários usuários na nuvem. Crie aplicativos em dias ou semanas, e não em meses ou anos. Praticamente qualquer pessoa pode criar aplicativos na Force.com, incluindo profissionais de TI e analistas técnicos de negócios. Tudo o que você precisa é de um navegador e de uma conexão com a Internet. Ferramentas de apontar e clicar facilitam a configuração do banco de dados, das regras do fluxo de trabalho, das políticas de compartilhamento e da interface de usuário. E por serem executadas na nuvem, podem ser implantadas para todos os seus usuários ao toque de um botão.
36 36 5 SERVIÇOS DE SOFTWARE (SAAS) Uma definição básica, sobre Software as a Service (SaaS), segundo Velte[3,p.11]: Software as a Service (SaaS) is an application hosted on a remote server and accessed through the internet. Traduzindo o texto do autor, é um aplicativo hospedado em um servidor remoto e que pode ser acessado pela Internet. Conforme cita Dustin Amrhein [9], existem aplicativos que são executados em uma nuvem e são fornecidos on demand como serviços para os usuários. Às vezes, os serviços são gratuitos e os provedores geram receita a partir de anúncios na Web e outras vezes provedores de aplicativos geram receita diretamente do uso do serviço. Parece familiar? Provavelmente sim, já que praticamente todos nós fazemos uso dos mesmos diariamente. Se alguma vez tiver feito a declaração do imposto de renda on-line, tiver verificado seu usando o GMail [19] ou o Yahoo Mail [20] ou tiver registrado seus compromissos no Google Calendar, então, está familiarizado com a camada superior da nuvem. Esses são apenas alguns exemplos desses tipos de aplicativos. Atualmente temos, literalmente, milhares de aplicativos SaaS e este número cresce diariamente graças às tecnologias Web 2.0. Possivelmente, não tão evidente para o público em geral, é que há muitos aplicativos na camada de serviços de aplicativos que são direcionados à comunidade corporativa. Há ofertas que tratam de processamento de folha de pagamento, gerenciamento de recursos humanos, colaboração, gerenciamento de relacionamento com o cliente, gerenciamento de parceiro de negócios e mais. Exemplos populares dessas ofertas incluem IBM Lotus Live [21], Salesforce.com [22]. Em ambos os casos, os aplicativos fornecidos através do modelo SaaS beneficiam consumidores aliviando-os da instalação e manutenção de software e podem ser usados através de modelos de licenciamento que suportam pagamento para conceitos de uso.
37 37 De acordo com o artigo de Carraro e Chong [15], apresentado de modo sucinto, o SaaS pode ser definido como: "software implantado como serviço hospedado e acessado pela Internet. O SaaS, como conceito, é quase sempre associado aos ASPs-Application Service Providers da década de 90, que fornecem aplicativos "empacotados" aos usuários de negócios pela Internet. Havia, de certa forma, nessas tentativas iniciais de software entregue pela Internet, mais pontos em comum com os aplicativos tradicionais on-premise, ou seja, instalados no local, como licenciamento e arquitetura, do que com os modernos aplicativos SaaS. Considerando que foram originalmente construídos para serem aplicativos de um único inquilino, sua capacidade em compartilhar dados e processos com outros aplicativos era limitada e a tendência desses produtos era a de oferecer poucos benefícios econômicos em relação aos seus similares instalados no local. Atualmente, espera-se que os aplicativos SaaS aproveitem os benefícios da centralização através de uma arquitetura de instância única, para vários inquilinos e para oferecer uma experiência rica em recursos, que compete com os aplicativos on-premise de mesmo tipo. Aplicativos SaaS típicos são oferecidos diretamente, pelo fornecedor, ou por intermediários denominados agregadores, que reúnem ofertas SaaS de vários fornecedores, oferecendo-as como parte de uma plataforma de aplicativos unificada. Diferentemente do modelo de licenciamento único, normalmente usado para software instalado no local, o acesso ao aplicativo SaaS é quase sempre vendido de acordo com um modelo de assinatura: os clientes pagam uma taxa contínua para uso do aplicativo. Os planos de cobrança variam de acordo com o aplicativo; alguns provedores cobram taxa fixa para acesso ilimitado a alguns recursos do aplicativo, ou para todos; outros cobram taxas variáveis baseadas no uso. No aspecto técnico, o provedor SaaS hospeda o aplicativo, os dados e implanta patches 8 e atualizações do aplicativo de modo centralizado e transparente, possibilitando o acesso aos usuários finais pela Internet, via navegador ou aplicativo smart-client. Muitos fornecedores oferecem APIs - interfaces de programação de aplicativo que expõem os dados e a funcionalidade dos aplicativos aos desenvolvedores para uso na criação de aplicativos compostos. Vários mecanismos de segurança podem ser usados para manter a 8 Patches: [Ing.] (Remendo) Em programação de computadores diz-se da correção de uma deficiência no desempenho de uma rotina ou programa já existentes.[6,dicweb].
38 38 segurança de dados sigilosos, na transmissão e no armazenamento. Os provedores de aplicativos podem fornecer ferramentas que permitem aos clientes modificar o esquema de dados, o fluxo de trabalho e outros aspectos operacionais do aplicativo, de acordo com o seu uso. Passando do geral para o específico, podemos identificar duas grandes categorias de software como serviço: Serviços baseados em negócios: Oferecido às empresas e organizações de todos os tamanhos. São frequentemente grandes soluções empresariais personalizadas, destinadas a facilitar os processos de negócio, como finanças, e relações com clientes. Estes serviços são geralmente vendidos a clientes na forma de assinatura. Serviços focados no consumidor: Oferecido ao público em geral. Às vezes são vendidos em uma subscrição-base, mas muitas vezes são prestados aos consumidores, sem nenhum custo e são suportados por publicidade. Segundo ainda Carraro e Chong [34], em artigo Estratégias de Arquitetura para Cauda Longa ou Long Tail citam que em um ambiente de TI baseado em software local, a maior parte do orçamento normalmente é gasto em hardware e serviços profissionais, deixando uma parte secundária do orçamento disponível para software, conforme apresentado no Gráfico 1:
39 39 Gráfico 1: Orçamento de TI em software no local.fonte[34] Em contrapartida no modelo Saas, o fornecedor hospeda aplicativos críticos e dados associados em servidores centrais no local do fornecedor e dá suporte ao hardware e software com uma equipe de suporte dedicada. Isso tira da organização do cliente a responsabilidade de dar suporte ao software hospedado e de comprar e manter hardware de servidor para ele. Além disso, os aplicativos disponibilizados pela Web proporcionam uma demanda significativamente menor em um computador de mesa do que os aplicativos tradicionais instalados localmente, o que permite ao cliente estender de forma significante o ciclo de vida da tecnologia de desktop. O resultado final é que há uma porcentagem muito maior do orçamento de TI disponível para gastar em software, normalmente na forma de taxas de assinatura de provedores de SaaS, conforme mostra o Gráfico 2:
40 40 Gráfico 2: Orçamento de TI em software SaaS.Fonte [34] Citando Coelho [16], quando optamos por um software na nuvem ou por um software on-premises estamos sim, como mostra a Figura 10, escolhendo entre: Software on-premises: ter um alto controle e uma baixa economia de escala. Software na nuvem: ter um baixo controle e uma alta economia de escala.
41 41 Figura 10: Software on premises x na nuvem. Fonte: [16]. Ainda de acordo com Carraro e Chong [15], na forma "pura" do SaaS, o provedor hospeda um aplicativo de modo centralizado e disponibiliza o acesso a vários clientes, pela Internet, em troca de uma taxa. Na prática, entretanto, as características marcantes entre um aplicativo instalado no local do cliente e um aplicativo SaaS não são binárias, mas gradativas ao longo de três dimensões diferentes: como é licenciado, onde está localizado e como é gerenciado. Cada uma dessas características pode ser visualizada como uma sequência que tem, de um lado, o software convencional, instalado no local e, na outra extremidade, o SaaS puro. Entre essas duas extremidades existem opções adicionais que combinam aspectos de ambos, conforme apresentado na Figura 11.
42 42 Figura 11: Os aplicativos SaaS são identificados por seus locais conceituais em três seqüências diferentes. Fonte [15]. Na sequência temos uma descrição dos pontos levantados na Figura 12: Licenciamento: Em geral, os aplicativos instalados no local são licenciados para sempre, com pagamento único relativo a cada usuário ou local, ou (no caso de aplicativos construídos sob encomenda) de propriedade integral. Os aplicativos SaaS são licenciados, quase sempre, de acordo com um modelo de transação baseado no uso: cobra-se do cliente apenas as transações de serviço usadas. Existe também o modelo familiar da assinatura cuja base é o tempo: o cliente paga uma taxa fixa, por estação, por um determinado período, por exemplo, mensal ou trimestral, durante o qual terá direito ao uso ilimitado do serviço. Local: Os aplicativos SaaS são instalados no local do hoster 9 do SaaS, enquanto os aplicativos on-premise, naturalmente, são instalados no seu próprio ambiente de TI. Entre esses dois pontos existe um modelo em que o fornecedor vende um componente de hardware e software como uma "caixa preta", instalada no local do cliente e não do vendedor. Um exemplo de aparelho, 9 Hoster: Computador responsável por manter um servidor online.[1000]
43 43 nesse sentido, seria um dispositivo que contivesse um aplicativo de logística, com um banco de dados em cache, atualizado periodicamente. Uma empresa de transporte poderia fornecer esse dispositivo aos seus consumidores de grande porte para que pudessem fazer consultas sobre informações de transporte, em lugar de acessar os servidores da empresa com milhares de consultas individuais, por dia. Gerenciamento: Tradicionalmente, o departamento de TI é responsável por prestar serviços de TI aos usuários, ou seja, deve estar familiarizado com redes, servidores e plataformas de aplicativos, dar suporte e fazer diagnóstico de falhas e, ainda, resolver problemas de TI relativos à segurança, confiabilidade, ao desempenho e à disponibilidade. Isso representa um grande volume de trabalho e, alguns departamentos de TI subcontratam algumas dessas responsabilidades de gerenciamento a terceiros, prestadores de serviços especializados em gerenciamento de TI. Na outra ponta do espectro, os aplicativos SaaS são completamente gerenciados pelo fornecedor ou pelo hoster do SaaS; na verdade, a implementação das tarefas e responsabilidades de gerenciamento não fica transparente para o consumidor. Os contratos de nível da prestação do serviço (SLAs) regem os compromissos de qualidade, disponibilidade e suporte a serem fornecidos pelo provedor ao assinante. Para qualquer aplicativo ou função determinada, pode-se determinar o seu estado de prontidão para SaaS, definindo as necessidades e as expectativas da sua empresa em cada sequência, usando a Figura 13 como um guia.
44 44 Figura 12: Cada seqüência pode ser subdividida em três segmentos, representando as abordagens: tradicional, SaaS e híbrida.fonte: [15]. 5.1 EXEMPLOS DE APLICATIVOS DE SAAS Nesta seção, apresentamos alguns aplicativos que são baseados no modelo Saas, e seu funcionamento no nosso cotidiano, como o Google Apps Professional. As empresas que estão movendo todos os aplicativos para a nuvem buscam uma solução acessível ou fazem de tudo para que seus funcionários tenham acesso às informações importantes podendo aproveitar melhor todos os seus recursos e trabalhar de forma mais inteligente, mostramos também o Microsoft Office Live Workspace destinado ao usuário final, na área comercial e/ou vendas apresentamos um programa da salesforce.com, e um sistema operacional baseado na cloud aonde seu funcionamento é todo virtual, sendo que não há necessidade de instalar nada localmente. Começamos pelo Google Apps, Figura 13 versão profissional 2000, para empresas nessa modalidade o custo é de U$ 50,00 dólares americanos por usuário/ano e oferece serviços baseados em Cloud Computing, que são eles:
45 45 Figura 13: Tela principal do Google Apps. Fonte [22]. Gmail : Oferece controle no recebimento de spams, capacidade de 25 GB de armazenamento, comunicação unificada de s, mensagens instantâneas e comunicação por voz e vídeo com alta qualidade, possui ainda um sistema de pesquisa interna, similar ao do Google. Google Agenda: Através da escolha de um horário (com base na disponibilidade das pessoas) e detalhes da reunião. O Google Agenda envia os convites e registra as confirmações. Compartilha agenda de projetos com toda a empresa ou com determinadas pessoas. Google doc s: Cria documentos, planilhas e apresentações on-line. Todas as tarefas básicas podem ser realizadas com facilidade: criação de listas com marcadores; classificação por colunas; inclusão de tabelas, imagens, comentários e fórmulas; alteração de fon-
46 46 tes etc. Pode-se fazer o upload dos arquivos existentes. O Google Docs aceita os formatos de arquivos mais conhecidos, incluindo.doc,.xls,.odt,.ods,.rtf,.csv,.ppt etc. A área de trabalho facilita bastante a edição. Basta clicar nos botões da barra de ferramentas para aplicar negrito, sublinhado, recuo, alterar a fonte ou o formato de números, alterar a cor de fundo das células e assim por diante. Os administradores possuem controles específicos para determinar como farão o compartilhamento de documentos. Colegas de trabalho podem compartilhar cópias on-line dos mesmos documentos, planilhas e apresentações. Todas as revisões são salvas e recuperáveis. Permite a apresentação e publicação na web para públicos remotos. Google vídeo: Permite empresas compartilhar vídeos privados com segurança. Com o compartilhamento de vídeos, comunicações importantes, como treinamentos e comunicados corporativos internos, ficarão mais pessoais, atraentes e eficazes. O Google hospeda e transmite seus vídeos com segurança, para que os funcionários não precisem compartilhar vídeos por ou sobrecarregar a equipe de TI para obter uma solução de vídeo. Não é preciso usar um software especial para visualizar e fazer anotações, bastando usar um navegador padrão. Google sites: Define permissões de compartilhamento consistentes em todos os sites da empresa. Permite a criação de Intranet ou permite que equipes de projetos criem sites para centralizar e compartilhar conhecimentos específicos. Compartilha arquivos com facilidade, como o controle de versão dos arquivos é feito automaticamente, é fácil fazer atualizações e obter a versão mais recente de um arquivo. Os formatos compatíveis incluem:.doc,.xls,.csv,.ppt,.txt,.pdf, entre outros. Unifica conteúdos de várias fontes: documentos, planilhas, apresentações do Google, vídeos do YouTube, apresentações de slides e gadgets do Picasa [32], mesmo sem
47 47 ter conhecimentos de programação. A Tecnologia da pesquisa do Google é integrada, para que os funcionários possam encontrar informações úteis da empresa com a mesma facilidade de uma pesquisa na Internet. Permite que os funcionários façam contribuições. Não é preciso ser especialista em codificação ou sistema para atualizar páginas ou criar novos sites internos, para que todos possam compartilhar conhecimentos. Temos também o Microsoft Office Live Workspace, conforme Figura 14, é um outro serviço oferecido e baseado em Cloud Computing, na sua versão gratuita, oferece os seguintes recursos: permite o acesso de qualquer lugar, podendo visualizar documentos a partir de quase todos os computadores, praticamente elimina as unidades flash, oferece armazenamento e compartilhamento online, permite visualizar e compartilhar arquivos protegidos por senha (até 5 GB versão gratuita), contempla o trabalho em conjunto com outras pessoas nos mesmos arquivos. Funciona com programas como o Word, Excel e PowerPoint, e sua principal função é o gerenciamento de documentos de maneira conveniente em um único local.
48 48 Figura 14:Tela principal do Office Live (beta). Fonte [23]. Agora na área comercial ou de vendas, destacamos o software Salesforce CRM Sales da Salesforce.com [24] que permite as empresas gerenciarem pessoas e processos de maneira mais eficaz através de Cloud Computing empresas, incluindo algumas das maiores equipes de vendas do mundo, operam com o Salesforce CRM Sales. O salesforce CRM Sales é todo baseado em Cloud Computing, através de uma avaliação gratuita de seus sistemas, verificamos a grande facilidade na personalização do software, o Salesforce CRM inclui ferramentas de personalização para gerenciar suas atividades de vendas. Com assistentes simples, com recursos de apontar e clicar, qualquer pessoa pode modificar o Salesforce CRM Sales com rapidez e facilidade para ajustá-lo a seus processos de negócios e fluxos de trabalho. Você pode até projetar sua própria interface de usuário. Todo o processo de customização é realizado sem a necessidade de novas codificações, veja a Figura 15.
49 49 Figura 15:Tela principal do SalesForce CRM Sales versão avaliação. Fonte [24]. De acordo com Taurion[2,p.104], a maioria das soluções atuais de SaaS ainda são departamentais, mas em breve o mercado estará demandando também sistemas mais complexos e abrangentes. 5.2 SEIS BENEFÍCIOS DIRETOS DA COMPUTAÇÃO EM NUVEM São inúmeros os benefícios diretos que a Computação em Nuvem pode ofertar, vamos destacar de acordo com artigo da revista Locaweb [14,p.31] os seguintes: Possibilidade de utilizar aplicações da Internet, sem que estejam instaladas no computador do usuário. Permite acesso a diversos aplicativos independente do seu sistema operacional ou de hardware. Backup, controle de segurança, manutenção, entre outros, são de responsabilidade da empresa fornecedora do serviço. Redução de custos com infraestrutura. No modelo tradicional são altos os custos de energia, pessoal e hardware e o espaço nos data centers é limitado. Facilidade em compartilhar dados, já que todos os usuários acessam as aplicações e os dados da nuvem Internet. Simplifica em muito as operações ao usuário.
50 50 6 UMA VISÃO DE MERCADO De acordo com o artigo sobre mercado de Computação em Nuvem, da itweb.com.br [25], em alguns aspectos, o mercado de Cloud Computing ganhou corpo em Amazon.com, EMC/VMware, IBM, Google, Microsoft, Salesforce.com e outras dezenas de empresas lançaram produtos e serviços on-demand. De qualquer forma, no entanto, Computação em Nuvem ainda é relativamente nova. A platform-as-a-service do Google, a App Engine, está apenas no início, a plataforma de serviços da Microsoft Azure ainda está para ser lançada, já a Oracle e SAP estão assistindo e esperando para tomar alguma direção. Além disso, as empresas que adotaram o conceito ainda são minoria, já que a TI ainda vê riscos de segurança, implicações na governança e desafios na integração de dados. O crescimento deve ultrapassar a marca dos 20%. O número é apenas uma previsão e não resultado de uma pesquisa de mercado, mas um importante ponto de vista é que o mercado de cloud crescerá em taxas saudáveis - 10%, 20%, 30% ou mais - enquanto outros seguimentos da TI terão mais dificuldade para crescer. Cloud Computing será uma opção para lidar com os orçamentos de TI mais restritos diante do ambiente econômico instável. De acordo com Taurion [2,p.60], o mercado tende a ser receptivo, alavancando o modelo de Computação em Nuvem por uma razão simples: cada vez mais veremos o uso de tecnologias de computação social, como: wikis, blogs, e compartilhamento de vídeos. Estas tecnologias não dependem mais apenas de poderosos desktops, mais de diversos meios de acesso como smartphones e netbooks. Esta diversidade de dispositivos nas mãos dos usuários (será cada vez mais comum usuários terem alguns destes produtos e quererem ter acesso a seus arquivos, independentemente de qual seja o dispositivo a ser usado em cada momento) impulsiona o modelo de Computação em Nuvem, pois torna-se mais fácil e barato manter estes arquivos armazenados externamente, acessados pela Internet. O uso da Computa-
51 51 ção em Nuvem deve, portanto, se acelerar com o crescente uso de aplicações Web 2.0 e disseminação da banda larga. Segundo Donald Feinberg, do Gartner [26], em relação à adoção de novas tecnologias, no topo desta lista está Cloud Computing: "Todos terão produto de cloud. A Computação em Nuvem é um estilo, tem escala e provê serviços para clientes externos usando tecnologia de Internet e isso se torna um diferencial. Conforme cita David Cearley [27], no trecho transcrito: Os Cios 10 precisam balancear benefícios e riscos para entender em quais casos cloud computing pode ou não ser aplicado nas suas empresas. Para o especialista, entender a maturidade de cada serviço na nuvem é um dos maiores desafios dos gestores de TI. Dessa forma, Cearley alerta aos que pensam em adotar o conceito sobre a importância de definir os impactos da tecnologia em cloud em cada fragmento do negócio. Isso significa que colocar aplicações críticas na nuvem, nesse momento, poderá tirar noites de sono de muitos CIOs. Agora, os que buscam tecnologias para uso pontual ou para estratégias sazonais talvez encontrem no conceito, uma alternativa sensata e que pode, inclusive, melhorar desempenhos além de reduzir custos. Mas, aqui, vale uma ressalva. O especialista lembra que estamos apenas nas primeiras etapas de uma revolução que pode desenrolar-se por muito tempo. Vale questionar-se sobre exposição de dados, privacidade e armazenamento das informações; e considerar disponibilidade e capacidade de entrega, uma vez que o acesso as informações depende de rede e Internet. Sobre a proteção na nuvem, o executivo enxerga outras seis questões críticas: localização e propriedade dos dados, regulamentação e conformidade, confiança no fornecedor, ajustes e consertos em caso de eventuais falhas, portabilidade tecnológica entre diversos provedores e políticas de restrição e 10 cio:chief Information Officer. Nome do cargo dado a pessoa responsável pela administração das informações e tomadas de decisões para a área de tecnologia da informação. Outro termo é CEO (Chief Executive Officer) usado para o "grande chefe" da empresa. Bill Gates é o CEO da Microsoft. [39]
52 52 gestão dos serviços. O Gartner avalia um mercado de Computação em Nuvem da ordem de US$ 46,4 bilhões, em 2009, atingindo US$ 150,1 bilhões em quatro anos. Muito da expansão do conceito virá da transferência de sistemas do modelo tradicional para a nuvem. Quatro pontos que os CIOs precisam saber, neste momento, sobre Computação em Nuvem: Entender o que realmente é Cloud Computing, diferenciando isso dos discursos dos fornecedores. Reconhecer onde encontram-se os benefícios e riscos do modelo para direcionar estratégias na nuvem. Saber como Computação em Nuvem influenciará o ambiente de TI de sua empresa. Identificar como estão, hoje, as soluções cloud e tentar prever quando essas aplicações terão maturidade suficiente para serem adotadas. 6.1 NEGÓCIOS E OPORTUNIDADES EM COMPUTAÇÃO EM NUVEM Nesse trabalho decidimos mostrar como a Computação em Nuvem já está presente nos negócios de pequenas empresas e também como as grandes empresas já estão migrando alguns de seus departamentos para a nuvem. Seguindo nessa direção introduzimos dois casos: o da camiseteria.com e o do banco Santander, referente ao projeto SuperGestão Santander. No primeiro caso o da camiseteira.com, temos um artigo retirado do site da itweb.com.br [33] que diz o seguinte: Criada em 2005, a medida em que Cloud Computing ganhava corpo na indústria, a empresa carioca buscava uma relação es-
53 53 treita com o conceito. A startup 11 que promove concursos para ver quais estampas serão impressas nas camisetas que comercializa na Internet baseia seu modelo de negócios em um misto de loja e comunidade. Fabio Seixas, sócio-fundador da companhia, explica que o processo de trabalho funciona com os usuários/clientes votando nos desenhos que mais lhe agradam por meio de um site. As imagens vencedoras desse concurso transformamse em produtos que serão vendidos também via web. "Nosso modelo de negócio seria impossível de ser viabilizado num mundo off line", garante o empreendedor, que lança em média um novo modelo por semana e comercializa cerca de quatro mil camisetas por mês em um site que recebe por volta de 20 mil visitas por dia. Largamente suportada pela internet, a camiseteria.com necessita de uma infraestrutura para transacionar mercadorias sem quedas, para não perder negócios. "Nosso desafio sempre foi o crescimento", resume Seixas. Com um marketing forte, os volumes de tráfego esperados na página de Internet subiam mês a mês. Em pouco tempo, o site inicial hospedado na provedora Locaweb a um custo mensal de R$ 150 ficou pequeno. A empresa que utilizava máquinas compartilhadas precisou partir para servidores dedicados, que, em três anos, demandaram dois upgrades. Formado em Análise de Sistemas, pela PUC do Rio de Janeiro, Seixas acompanhava o conceito de Computação em Nuvem há algum tempo e sempre viu naquilo uma solução provável para os seus negócios. Quando o próprio fornecedor lançou uma solução de processamento baseada em Cloud Computing, em meados de 2008, Seixas não pestanejou e partiu para o modelo. "Migramos nosso banco de dados do servidor dedicado para a nuvem. O processo levou meia hora", detalha, explicando que todos sistemas foram configurados na nova estrutura e direcionados para o novo conceito. Segundo o executivo, são cerca de sete sistemas distintos rodando em dois servidores na nuvem. Em breve, um terceiro será adicionado. "O site principal, dois de administração, o que integra nosso site com o twitter, o de acesso móvel e os sistemas replicados para fazer ações em parceria com outras empresas", 11 Startup : empresa em fase inicial de desenvolvimento, que nasce no momento em que um empreendedor passa de uma idéia a fase de garantir financiamento, define a estrutura do negócio e ini - cia a atividade[40].
54 54 lista. Quando a camiseteria.com adotou processamento em Cloud Computing reduziu em 40% os custos em relação ao período em que usava equipamento dedicado. Diferente da Amazon.com, que criou o culto de pagar a infraestrutura em nuvem com cartão de crédito, a empresa paga os serviços da Locaweb no boleto de cobrança. A provedora norte-americana, segundo Seixas, foi cogitada para soluções de armazenamento. "Mas vimos que não vale a pena. Talvez seja uma opção para o futuro", conta. O empreendedor revela ainda que, na nuvem, utiliza também os recursos de do Google Apps em versão gratuita, visto que são apenas oito funcionários no escritório da camisetaria.com. "Usávamos o Gmail e acabamos incorporando como ferramenta corporativa", explica o diretor apontando que tal decisão vincula-se a redução de custos. "Tiramos proveito do que está na Internet", enfatiza. Outro caso que destacamos, é o da Totvs que de acordo com Taurion [2,p.184] é hoje a maior empresa de software brasileira e desenvolveu um projeto chamado SuperGestão Santander [28], em parceria com o banco. Esta oferta SaaS integra serviços típicos de ERP - Enterprise Resource Planning ou sistema de gestão empresarial para controle administrativo de pequenas empresas, como contas a pagar e a receber e emissão de borderô de cobrança, com os serviços bancários fornecidos pelo banco, O público alvo deste serviço são empresas clientes do banco com até 3 milhões de reais em faturamento. O sistema é composto por quatro módulos, que são compras, vendas, estoque e financeiro, sendo este integrado com os sistemas do banco Santander. Como é um sistema SaaS, o cliente não tem que se preocupar com atividades de suporte, pois todas as atualizações tecnológicas, como melhorias ou mesmo mudanças de legislação, são feitas diretamente nos servidores da Totvs, de forma transparente ao usuário. Segundo ainda Taurion [2,p.187] de maneira geral, as maiores empresas são as mais lentas na adoção de novos conceitos e, embora reconheçam o potencial da Computação em Nuvem, ainda preferem ficar com seus servidores guardados em salas bem fechadas. Mas pequenos empresários não podem se dar ao luxo de serem céticos, pois, com pouco capital, não podem investir em caras instalações para seus servidores. Este grupo é o grupo que mais cresce em uso da Computação em Nuvem.
55 55 De acordo com pesquisa que fizemos no Google Trends [29], a palavra Cloud Computing, começa a aparecer na Internet a partir de 2007 e em crescimento ano após ano, conforme Gráfico 3 o que para nós, profissionais de TI, mostra que o estudo nessa nova área da computação é uma oportunidade que se abre tanto nas grandes, como pequenas e médias empresas. Podemos dizer, de acordo com os nossos estudos, que o software como serviço já faz parte integrante em qualquer decisão que se venha a tomar em relação a investimentos nas empresas, já que um dos fatores é a drástica redução no custo de aquisição e manutenção dos mesmos. Gráfico 3: Pesquisa feita no Google Trends em 21/11/2009.Fonte: [29]