Computação em Nuvem: pesquisa de aceitação e implantação no mercado corporativo brasileiro Alexandre Jacquet1 Henrique Cavassana2 Resumo: O trabalho aqui apresentado discute algumas das tendências relevantes do mercado de Computação em Nuvem. Para tal finalidade, apresenta um breve histórico do desenvolvimento de tecnologias e realiza uma pesquisa de campo com empresas que já implantaram esta nova ferramenta. A pesquisa é composta de perguntas sobre pontos específicos que refletem as experiências das empresas. Essas foram divididas em pequenas, médias e grandes. Como conclusão mais relevante destaca-se as diferenças entre empresas brasileiras que ainda sofrem com a falta de conhecimento sobre o tema, enquanto a principal preocupação na Europa, Estados Unidos é a segurança. O trabalho conclui que o Brasil ainda está na etapa inicial de implantação da Computação em Nuvem. Palavras Chave: Computação em nuvem, tecnologias de informação, casos de uso, Estratégias de implantação. Summary: The work presented here discusses some of the trends in the market for cloud computing. For this purpose, presents a brief history of the development of technologies and conducts field research with companies that have already deployed this new tool. The survey consists of questions about specific points that reflect the experiences of companies. These were divided into small, medium and large. Like most relevant conclusion highlights the differences between Brazilian companies still suffer from a lack of knowledge on the subject, while the main concern in Europe, the United States is safety. The paper concludes that Brazil is still in the initial stage of deployment of Comoputação Cloud Computing. Keywords: Cloud computing, information technology, use cases, deployment strategies 1 Alexandre Jacquet: Engenheiro da Computação com extenso conhecimento em analise, integração e implementação de soluções em Nuvem, fortalecendo os conhecimentos através de diversos cursos de formação nos principais provedores de Cloud Computing, como Google e Amazon Web Services, atuou como líder de implementação na Setesys e na Dedalus Prime, arquiteto de soluções na Nubis Partners, em clientes de diferentes portes. 2 Henrique Cavassana: Engenheiro da Computação com sólidos conhecimentos em ambientes computacionais com foco técnico e nos negócios. Nos últimos anos, fortaleceu seus conhecimentos a partir cursos avançados nas principais tecnologias e arquiteturas, entre elas Java e banco de dados. Atuou como analista desenvolvedor no Grupo Mult Technology Services e analista de pré-vendas para soluções de Cloud Computing na Dedalus Prime onde também ministrava treinamentos sobre os ambientes relacionados a computação nas nuvens. Atualmente trabalha como consultor técnico na IBM Brasil desenvolvendo soluções em ambiente de banco de dados para os clientes. 72 INTRODUÇÃO Computação em Nuvem - Cloud Computing (CC) propõe uma abordagem inovadora dos recursos para maior agilidade, colaboração, escalabilidade e disponibilidade de informação por meio da integração de diferentes tecnologias computacionais. O processamento deixa de ser feito na empresa para ser realizado em rede, daí o nome Computação em Nuvem. Essa possui potencial para a redução dos custos de operação das empresas utilizando recursos computacionais otimizados. Segundo Ried e Holger (2011) o mercado de CC totalizou em 2011 US$ 40.7 bilhões e deverá atingir US$ 241 bilhões em 2020, um crescimento de 600% até 2020. Para o setor de nuvem pública em 2011, o mercado registrou US$ 25 bilhões e a tendência é que em 2020 gere mais de US$ 160 bilhões, conforme figura 1. Figura 1. (Fonte: RIED, et al, 2011, p. 3) Taxa de crescimento de mercado de Cloud Computing Gantz e Toncheva (2012) destacam que este crescimento no mercado nas nuvens gerará uma demanda global, criará mais de 14 milhões de novos empregos e receitas de US$ 1.1 trilhões por ano até 2015. 73 Figura 2. (Fonte: Microsoft Research) Taxa de crescimento de oportunidades de trabalho relacionados a Cloud Computing 1. Metodologia Esta é uma pesquisa exploratória para entender como se dá a adoção de CC, em particular as ferramentas de Software as a Service. Adotou-se o questionário baseado em metodologias de pesquisas de mercado realizadas pelos orgãos IDC3, Forrester4, Gartner5, ENISA6, 451 Group7 e Cloud Security Alliance8 adaptadas ao mercado nacional. 3 C.f BRODERICK, Katherine. Worldwide Enterprise Server Cloud Computing 2011-2015 Forecast, IDC, Junho de 2011. 4 C.f SCHADLER, Ted Should Your Email Live In The Cloud?A Comparative Cost Analysis, Cambridge, USA: Forrester Research, 5 janeiro de 2009; HERBERT, Liz; ERICKSON, Jon. The ROI of Cloud Apps, Cambridge, USA: Forrester Research, 23 junho de 2011; RIED, Stefan; KISKER, Holger; MATZKE, Pascal The Evolution of Cloud Computing Markets, Cambridge, USA: Forrester Research, 6 de julho de 2010. 5 C.f CAIN, Matthew W. Google Gmail Emerges as Signifcant Threat to Microsoft in the Enterprise, USA: Gartner, 18 de agosto de 2011. 6 C.f CATTEDDU, Daniele, HOGBEN, Giles. SME Perspective on Cloud Computing. ENISA, 2009; CATTEDDU, Daniele; HOGBEN, Giles; Cloud Computing: Benefits, risks and recommendations for information security: European Network and Information Security Agency (ENISA), 2009. 74 O questionário contém 25 questões de múltipla escolha e questões abertas, em 5 etapas: ○ Dados da empresa ○ Motivos da escolha ○ Impactos/Custos pós implementação ○ Vantagens/Desvantagens aos usuários finais ○ Considerações A pesquisa envolveu 300 empresas que adotaram CC no período de 2010 / 2012. Através de contato telefônico, reduziu-se para 60 o número final de empresas interessadas em responderem o questionário. O questionário foi encaminhado via email ao grupo de empresas com o prazo de 7 dias de resposta. Adotou-se o Google Forms, um aplicativo disponível no pacote de Software as a Service, que permite a criação de questionários e a tabulação dos resultados. Empregaram-se duas ferramentas da Google para análise dos dados, Google Spreadsheets e o Google Fusion Tables. Através destas ferramentas as empresas foram divididas por quantidade de usuários. 1.1 OBJETIVOS DO TRABALHO O trabalho sintetisa como empresas de diferentes segmentos e tamanhos implantam e reagem às principais barreiras ao CC. Compara os resultados da pesquisa com os referenciais utilizados no mercado corporativo norte-americano e europeu. Permite conhecer as variáveis de escolha da tecnologia e o seus impactos no negócio do cliente. Destacam-se quatro pontos, a saber: ● Fundamentação teórica sobre a evolução computacional até Cloud Computing; ● Definição das características e camadas de Cloud Computing; 7 C.f Cloud Computing: "As a Service"Market Sizing, Report III, The 451 Group, New York, USA, Setembro de 2011. 8 C.f Cloud Security Alliance, Top Threats to Cloud Computing V1.0, Cloud Security Alliance, 2010; Defined Categories Services 2011, Cloud Securty Alliance, 2011; Security Guidance For Critical Areas of Focus in Cloud Computing V3.0, Cloud Security Alliance, 2011 75 ● Compreender as principais variáveis prós e contras desta tecnologia; ● Comparar os dados obtidos com referencial teórico analisado; 2. A Lei de Moore Em 1965, Gordon Moore (co-fundador da Intel) realizou um estudo, conhecido como, a Lei de Moore, relacionando a constante evolução tecnológica com a crescente queda no custo de produção computacional. Ele foi capaz de traçar uma curva exponencial, presente na figura 2, na qual a cada 18 meses a capacidade dos transístores contidos em um circuito integrado iria duplicar. Figura 3. (Fonte: MOORE, 19659) Curva Exponencial de custos relacionados com o número de componentes por circuito integrado Nos anos 70 e 80, grandes investimentos foram realizados em telecomunicações e tecnologia, o que gerou o avanço dos meios de comunicação. Um destes investimentos foi a ARPANET, Advanced Research Projects Agency Network10. 9 C.f. MOORE, Gordon E. Cramming More Components onto Integrated Circuits, IEEE, 1965 10 ARPANET Advanced Research Projects Agency Network Rede de agencias avançadas de pesquisa 76 Criada no princípio da década de 60, durante a Guerra Fria, como um projeto militar, com objetivo da descentralização e distribuição de informações vitais para continuidade do governo. Esta tecnologia popularizou-se após sua implantação dentro das universidades americanas. A associação entre pesquisas privadas e universidades, no final dos anos 80, criou a World Wide Web, permitindo a troca de informações através de protocolos específicos e o desenvolvimento de uma nova arquitetura: a cliente-servidor. Na metade dos anos 90, as limitações físicas já reduziam a expectativa da Lei de Moore, estimulando a criação de alternativas, como por exemplo: os processadores com múltiplos núcleos e a computação quântica. Segundo pesquisadores da UNSW (University New South Wales) e da IBM (International Business Machine), a Lei de Moore, chegará ao seu limite em 2017, devido a globalização da tecnologia e crescentes investimentos em micro-engenharia. Neste cenário, a popularização da internet também revelou as limitações da arquitetura cliente-servidor, o que demandou investimentos para otimizar os recursos alocados, a redução dos custos de operação, melhoria dos processos e a redução do impacto ambiental. 3. MAINFRAME No início da década de 50, a International Business Machines (IBM11), desenvolveu a arquitetura mainframe com grande capacidade de processamento da entrada e saída dos dados (Input/Output). Os mainframes adotavam uma arquitetura de lotes (batchs), que reduziam a utilização do processador durante a leitura ou a escrita dos dados. Os dados eram armazenados em disco, para execução posterior. Esse modelo foi denominado "um-para-vários" (1:N). O mainframe era responsável pelo processamento final das tarefas originadas de vários terminais. O acesso à estação era realizado através de um protocolo específico, que encaminhava as solicitações e as aplicações, geralmente desenvolvidas em C ou Cobol, utilizando um sistema operacional baseado em tempo-compartilhado, conforme figura 3. 11 C.f História da evolução computacional 77 Figura 4. (Fonte: SHROFF, 2010, p. 5) Arquitetura Computacional do Mainframe Segundo Shroff (2010, pg. 6-7), um dos principais avanços computacionais entre os mainframes e os servidores é a possibilidade de executar aplicações em tempo real, a medida que a solicitação é encaminhada é resolvida, sem depender dos processos pendentes em tempo como no modelo anterior dos batches. O Custo Total de Operação ou Total Cust of Ownership dos mainframes devido às limitações dos batchs, estimulou nos anos 80 a transição para os computadores pessoais (PC). Neles, a utilização de servidores e novas aplicações (microsoft e Apple) permitiam a troca de informação mais rapidamente. A demanda por mainframes diminuiu nos anos 1990, mas a IBM manteve o investimento em pesquisa e desenvolvimento. Este permitiu o aumento da velocidade do processamento de 300MHz para 5200MHz (aumento de 94% de performance). A empresa criou a nova série de mainframe, a série Z (zSeries). Essa série é capaz de virtualizar vários sistemas operacionais, a partir de uma única estação e foi a responsável pelo início da tecnologia de virtualização (máquinas virtuais), caracterizada pelo controle automatizado sobre demanda semelhantes aos disponibilizados na gestão da infraestrutura dos provedores de CC. 78 Figura 4. (Fonte: IBM, 2012) Evolução de processamento do mainframe IBM zSeries 4. CLIENTE-SERVIDOR As aplicações são divididas em 2 partes: uma permanece no servidor e outra nas estações dos usuários, conhecidas como clientes. Os últimos solicitam acessos, transmitidos através de uma rede de comunicação entre cliente e servidor, geralmente implementada utilizando o protocolo de controle de transmissão e o protocolo da internet (TCP/IP12), entregando ao servidor a solicitação a ser executada, e após sua execução retorna com o resultado da operação. Destacam-se as seguintes vantagens relacionadas ao modelo cliente servidor: a gestão de dados armazenados nos servidores, maior controle de segurança e auditoria (centralização dos dados), clientes acessam e alteram as informações em tempo real e de acordo com suas necessidades. Contudo, esta centralização pode gerar uma sobrecarga no servidor, implicando na indisponibilidade do mesmo. 12 TCP/IP Transmission Control Protocol/Internet Protocol Tradução do autor: Protocolo de Controle de Transmissão e Protocolo de Internet 79 Figura 5. Modelo de arquitetura Cliente-Servidor 5. Hiper texto (HTTP) O HTTP, protocolo de transmissão hipertexto, foi criado por Tim Beerners-Lee em 1989 e está em uso na rede mundial de computadores desde 1990. Este foi criado para ser distribuído e colaborado entre diferentes pessoas através de ferramentas de navegação web, como por exemplo o Mosaic, Netscape, Internet Explorer, Mozilla Firefox, Safari e o Google Chrome. A Internet Engineering Task Force13 (IETF) junto da World Wide Web Consortium14 (W3C), são os órgãos responsáveis pela gestão e regulamentação da internet, lançando a versão final da especificação do protocolo HTTP/1.0 em maio de 1996. A rápida expansão da rede de computadores exigiu uma atualização protocolo, denominada HTTP/1.1, permitindo maior flexibilidade entre as partes envolvidas. 6. HTML A linguagem de marcação hipertexto, (HTML), consiste de uma linguagem de programação semântica, criada para formatação de trabalhos científicos, que se tornou fundamental para o desenvolvimento de sites no decorrer da década de 90. 13 14 Internet Engeneering Task Force Tradução do Autor: Força tarefa de engenharia da internet World Wide Web Consortium Tradução do Autor: Consórcio da ampla rede mundial 80 Figura 6. Fluxo de renderização do navegador ao carregar uma página web Desenvolvido por Tim Berners-Lee e Dan Connolly, e homologada em 1993 pela W3C, o HTML, encontra-se em constante evolução. Em Janeiro de 2008, através do estudo realizado pela Apple e da Google (Ian Hickson e David Hyatt) foi lançado o primeiro esboço da 5ª versão da linguagem, conhecida como HTML5. O seu objetivo é a revisão de algumas funcionalidades pouco utilizadas e a adição de novos elementos, permitindo maior flexibilidade e capacidade aos navegadores. 7. WEB SERVICES Web services são aplicações identificadas através de URI (Uniform Resource Identificator), capaz de ser definida, descrita e encontrada através de artefatos. Estes serviços tem por finalidade trocar mensagens, utilizando o protocolo HTTP/1.1, afim de executar uma determinada ação, conforme definição da W3C, definida em Abril de 2002. Segundo Baun e outros (2011, p. 13, apud WOLHSTADTER e TAI 2009), web services são instrumentos distribuídos que permitem uma comunicação máquina-amáquina através de protocolos web, integrando aplicações utilizando serviços distribuídos, gerenciando sistemas legados ou outras aplicações. 81 Os web services podem ser segmentados em dois formatos principais, SOAP (Sample Object Access Protocol) e REST (Representional State Transfer), utilizados para trocar documentos entre o consumidor e o fornecedor. Estes devem ser modelados utilizando de arquivos XML ou JSON, permitindo o serviço, "empacotar" e "desempacotar" os objetos de maneira simples e dinâmica. 7.1. SOAP Definido como Simple Object Access Protocol, o SOAP é um protocolo de especificação para estruturar a troca de informações entre os web services. Este protocolo baseia-se em troca de mensagens no formato XML, utiliza geralmente HTTP ou SMTP (Simple Mail Transfer Protocol) para a transmitir cada pacote. O SOAP é um protocolo baseado em WSDL (Web Service Description Language) que permite trabalhar de maneira descentralizada, possível através de pacotes de extensões, que são implementados de maneira modular. Cada modulo pode suportar diversos níveis de qualidade de serviço, sendo distribuídos através de uma estrutura simples que possibilita diversos usos. 7.2. REST O REST, Representional State Transfer, é descrito por Baun e outros (2011, p. 14), como um estilo de arquitetura de software desenvolvido com base no protocolo HTTP/1.1 que padroniza todos os métodos a serem invocados através de uma interface uniforme do HTTP. Os serviços que utilizam esta solução, são projetados de maneira genérica, onde se faz necessário apenas implementar os métodos que utilizem a semântica do protocolo HTTP, sendo os principais: ● GET, utilizado para obtenção de dados do servidor ● PUT, utilizado para atualização de dados do servidor ● POST, utilizado para inserção de dados do servidor ● DELETE, utilizado para remoção de dados do servidor Esta funcionalidade o define como uma comunicação stateless, modelo de comunicação sem necessidade da troca de estados entre cliente e servidor, ou seja, ele simplifica a comunicação ponto-a-ponto, permite encaminhar qualquer informação junto a mensagem. 82 8. SOA A arquitetura SOA, Service-Oriented Architecture15, segmenta os componentes e os serviços computacionais, permitindo que comuniquem-se através da troca de mensagens utilizando protocolos e sintaxes padrões, permitindo ser executada independente de plataforma ou linguagem de programação. Segundo Baun e outros(2011 p. 10-11), as principais propriedades do SOA são: ● Componentes distribuídos ● Consumidores heterogêneos ● Fornecedores padronizados entre plataformas ● Os serviços são fracamente acoplados, e comunicarão-se dinamicamente em tempo de execução, permitindo ajustes dinâmicos, gerando um efeito local e não global. 9. VIRTUALIZAÇÃO O conceito de virtualização surgiu nos anos 60, os pesquisadores da IBM que tinham como objetivo a melhor utilização dos mainframes. A crescente implantação da arquitetura cliente-servidor promoveu a descontinuidade do projeto. Em 1999, a empresa VMWare Inc, utilizou o conceito criado pela IBM e desenvolveu uma aplicação capaz de criar servidores virtuais a partir do servidor host. Esta tecnologia garantia que o hardware utiliza-se todo o poder de processamento, operando a 100% da sua capacidade. Através desta aplicação, um grande potencial para redução de custos envolvidos na manutenção e operação dos negócios foi descoberto, já que não seria mais necessário a aquisição de novos equipamentos, arrefecimento, energia elétrica consumida pelos servidores, etc. Segundo Baun e Kunze (2011) a virtualização traz vantagens e desvantagens. Destaque-se a melhor utilização dos recursos, redução no consumo de energia, diminuição do espaço utilizado. A utilização desta tecnologia sem o estudo dos sistemas pode impactar em custos, por exemplo a necessidade de hardwares capazes de gerenciar sistemas de múltiplos núcleos ou a redundância de energia elétrica para caso o servidor host fique inacessível. 15 Service-Oriented Architecture Arquitetura orientada à serviços 83 Neste modelo de arquitetura, existe uma série de conceitos e tecnologias que podem ser utilizadas, dentre elas a virtualização de: sistemas operacionais, plataforma, armazenamento, rede e aplicações. Virtualização de Sistemas operacionais: Este tipo de virtualização permite que o servidor host sirva como plataforma para a criação de determinados ambientes de sistema ou de execução, executando sobre um único kernel, conforme figura 7. Figura 7. (Fonte: BAUN, 2011, p. 7) Conceito de virtualização de sistema operacional A)Virtualização de Plataforma: Este modelo permite a execução de qualquer sistema operacional desejado e aplicações, onde pode-se utilizar dois modelos, sendo eles: Full virtualization ou Paravirtualization. B) Full Virtualization: o sistema inteiro é simulado, inclusive o hardware (BIOS, drive, memória), possuíndo diversos objetivos, os principais descritos abaixo: • Compartilhar um computador com diversos usuários • Isolar usuários uns dos outros • Emular o hardware em outro computador No paravirtualization é permitido a utilização de múltiplos sistemas operacionais em um único hardware, porém diferente do full virtualization, o hardware não é simulado, assim é necessário distribuir o hardware físico entre os sistemas operacionais que são emulados. Com essa configuração, a paravirtualização tende a ter melhor performance do que a full virtualization. 84 Tabela 1. (Fonte: VELTE, 2010, p. 11) Comparação entre full virtualization e paravirtualization Tipos de Virtualização Instâncias Overhead de Virtualização Carga de Processamento Total Full Virtualization 5 10% (50% total) 10% (50% total) 100% Paravirtualization 8 2% (16% total) 10% (50% total) 96% Fonte: autores • Virtualização de armazenamento: O principal fundamento de neste modelo é segmentar os dados necessarios para manter o servidor operacional, dos dados utilizados pelas aplicações, este procedimento permite que os dados sejam migrados para diferentes servidores sem afetar o serviço. • Virtualização de rede: Esta funcionalidade permite combinar diferentes recursos de rede em um único sistema, simplificando a administração e otimizando a velocidade, confiabilidade, flexibilidade, escalabilidade e segurança do ambiente. • Virtualização de aplicações: É um modelo de venda de software onde sua gestão é centralizada e a aplicação é oferecida aos usuários por meio da internet, simplificando a administração, atualização e compatibilidade. 3. SISTEMAS DISTRIBUÍDOS O sistema distribuído opera aplicações específicas, embora esteja disponível em diversos computadores interligados em rede e que se auto gerenciam através da troca de mensagens. Define-se um sistema distribuído como os componentes de hardware ou software, localizados em computadores interligados em rede, que se comunicam e coordenam suas ações apenas enviando mensagens entre si.(COULOURIS, 2007, p. 16). Por tratar-se de uma aplicação distribuída em diferentes computadores, os sistemas distribuídos oferecem certos desafios, sendo os principais: ● Concorrência de processos: um sistema distribuído deve permitir que sejam executados diversos processos de uma só vez, sem que um interfira no outro. 85 ● Inexistência do relógio global: este é um item importante para o sincronismo de informações entre os diferentes nós do sistema distribuído. Deve-se estudar uma maneira de realizar o sincronismo dessas informações ● Falhas de componentes independentes: a falha, por exemplo, em um nó do sistema distribuído não deve interferir no funcionamento do sistema como um todo, deve ser possível identificar o local da falha e corrigi-la sem que o sistema saia do ar. Existem ainda outras características que compõe um sistema distribuído: ● Segurança ● Escalabilidade ● Transparência Quanto a segurança, é necessário considerar 3 níveis para um sistema distribuído: a confidencialidade, a integridade e a disponibilidade. Quanto à escalabilidade, é necessário que os recursos de hardware e software acompanhem a quantidade de acessos demandados a um sistema ou dados específicos sem gerar impactos ao usuário final. Para garantir a escalabilidade do sistema distribuído deve-se mitigar os seguintes pontos de atenção no decorrer do projeto: ● Controlar o custo dos recursos físicos; ● Controlar a perda de desempenho; ● Impedir que os recursos de software se esgotem; ● Evitar gargalos de desempenho. Outra característica fundamental ao sistema distribuído é o conceito de transparência, no qual o usuário final não precisa saber por exemplo, onde está hospedada a aplicação e/ou em que plataforma a mesma está desenvolvida. O usuário precisa apenas que a mesma esteja disponível para o uso. São definidos também diversos tipos de transparência em sistemas distribuídos: ● Acesso: permite que recursos locais e remotos sejam acessados com o uso de operações idênticas 86 ● Localização: permite que os recursos sejam acessados sem conhecimento de sua localização física ou na rede (por exemplo, qual o prédio ou endereço IP) ● Concorrência: permite que vários processos concorrentes que utilizam recursos compartilhados sem interferência entre eles ● Replicação: permite que várias instâncias dos recursos sejam usadas para aumentar a confiabilidade e o desempenho, sem conhecimento das réplicas por parte dos usuários ou dos programadores de aplicativos ● Falhas: permite ocultação das falhas, possibilitando que usuários e programas aplicativos concluam suas tarefas, a despeito da falha de componentes de hardware e software. ● Mobilidade: permite a movimentação de recursos e clientes dentro de um sistema, sem afetar a operação de usuários ou programas ● Desempenho: permite que o sistema seja reconfigurado para melhorar o desempenho a medida que as cargas variam ● Escalabilidade: permite que o sistema e os aplicativos se expandam em escala, sem alterar a estrutura do sistema ou os algoritmos de aplicativo Um exemplo de sistema distribuído que é utilizado atualmente é a internet, onde é possível trocar mensagens, arquivos, assistir vídeos, ouvir musicas entre muitas outras funcionalidades. 12. CLUSTER COMPUTING Cluster Computing foi o primeiro termo computacional relacionado a sistemas distribuídos. Esse conceito exige a utilização de um conjunto de computadores com a mesma arquitetura e o mesmo sistema operacional, ou seja, para implementar um sistema distribuído utilizando a tecnologia de Cluster Computing é necessário uma estrutura homogênea onde as solicitações são processadas como uma única máquina e não como vários computadores interligados. Outra característica é deste sistema consiste na dependência dos nós estarem próximos uns dos outros. Dessa forma, é necessário um grande local para montar um cluster com muitos servidores, como diz Costa e outros. Os cluster são caracterizados também como sistemas distribuídos fracamente acoplados, isso significa que cada nó do cluster possui seu próprio espaço de 87 endereçamento e não existe um espaço compartilhado. Com essa característica, os nós utilizam da troca de mensagens para a sincronização dos processos. Uma grande vantagem da utilização do cluster computing é a alta escalabilidade, pois pode-se adicionar nós sem a necessidade de parar o sistema conforme falado por Colvero (2005): “A abordagem cluster possui alta escalabilidade, pois tarefas de inclusão ou exclusão de nós escravos não exigem que sejam feitas modificações no ambiente, sendo realizadas de forma isolada.” As soluções desenvolvidas em arquitetura cluster computing é uma solução para disponibilizar alta performance e alta escalabilidade dentro de uma infraestrutura própria e homogênea, sem a necessidade de interligar os nós da rede em locais geograficamente distantes. Um exemplo de sistemas em cluster é o Beowulf desenvolvido pela NASA em 1994. Este cluster utilizava 16 nós com processadores Intel 486 interligados por uma tecnologia de redes Ethernet, este modelo de cluster se tornou bem conhecido pela utilização da plataforma 486 que viabilizou financeiramente a construção deste tipo de arquitetura por cientistas do mundo inteiro. 13. GRID COMPUTING Assim como o Cluster, o Grid Computing tem o objetivo de proporcionar grande escalabilidade e alto desempenho, porém possui algumas diferenças de arquitetura. Pode-se utilizar diferentes arquiteturas de máquinas para processar a mesma aplicação, ou seja, pode-se manter uma infraestrutura heterogênea rodando um mesmo sistema, sendo uma das principais características da arquitetura segundo Colvero (2005). Garante assim o crescimento da sua utilização para pesquisas que envolvem cálculos matemáticos complexos. Outra característica que difere o Grid Computing do Cluster é que no Grid não é necessário uma infraestrutura alocada em uma mesma localidade (servidores fisicamente próximos), permitindo que a arquitetura em grid tenha maior disponíbilidade, além disso, no Grid Computing não é necessário que todas as máquinas que compõe a grid tenham a mesma configuração. Através de Grid Computing é possível também gerenciar o balanceamento de recursos. Bart Jacob e outros (2005, p.08) citam um exemplo deste gerenciamento 88 uma organização que eventualmente teve um pico de aumento de atividades demandando mais recursos computacionais, caso as aplicações estejam utilizando grid, elas poderão distribuir as tarefas às máquinas com menor demanda computacional.16 Na Tabela 3 pode ser visto um comparativo de Cluster em relação à Grid. Diferenças entre Cluster e Grid Computing Configuração Cluster Grid Domínio Único Múltiplos Nós Milhares Milhões Segurança do processamento e do Desnecessária Necessária recurso Custo Alto, pertencente a um único Alta, todavia dividido entre domínio domínios Granulariada do problema Grande Muito grante Sistema Operacional Homogêneo Heterogêneo Tabela 2. (Fonte: COLVERO, 2005, p. 2) 14. CLOUD COMPUTING Em 2006, surge o termo Cloud Computing utilizado por Eric Schmidt, ex-CEO do Google ao explicar como eram gerenciados os seus datacenters. A crescente evolução suportou um novo modelo computacional para grandes quantidades de informação, aumento no tráfego, analise de informações, computação distribuída, virtualização de hardwares e ampla expansão da internet. Segundo Velte (2010, p. 10) a virtualização é relevante para Cloud Computing pois é uma das formas de acessar serviços na nuvem, ou seja, dessa maneira um data center remoto entrega serviços no formato full virtualization. 16 C.f JACOB, Bart, et al, 2005, p.08 An organization may have occasional unexpected peaks of activity that demand more resources. If the applications are grid-enabled, they can be moved to under utilized machines during such peaks. 89 Há diversas definições sobre Cloud Computing. Para Nielsen (2011, p.2) "Cloud Computing é um conceito onde através da internet, diversos computadores conectados entre si compartilham memória, processamento, rede e aplicação." Já Mell e Grance (2011, p. 6) definem Cloud Computing, conforme o NIST17: um modelo de compartilhamento de recursos computacionais on-demand, ou seja, conforme o uso, e esses recursos podem ser rapidamente provisionados com o menor esforço de gerenciamento e/ou interação com o provedor de serviço. Todo este novo conceito é caracterizado por cinco atributos principais: ● Serviços on-demand ● Acesso a rede extremamente ampla ● Pool de recursos ● Escalabilidade ilimitada e rápida ● Disponibilidade Segundo Mell e Grance (2011), responsáveis pelas especificações dos modelos da arquitetura em Cloud Computing, pode-se segmentar a nuvem em três: Nuvem Pública, Nuvem Privada e Nuvem Híbrida, representados na figura 8. 17 NIST National Institute of Standards and Technology 90 Figura 5. (Fonte: MAHMOOD, 2011, p. 95) Características de Cloud Computing A Nuvem Pública compartilha os recursos computacionais entre diversas empresas e pessoas, exige níveis de segurança para garantir a privacidade das pessoas, para evitar que uma pessoa acesse os dados de outra sem autorização prévia. Nuvem Privada diz respeito à infraestrutura com capacidade similar a pública porém, não é compartilhada com outras empresas. Através dessa é possível utilizar as vantagens de uma arquitetura cloud computing, com recursos próprios. Contudo, este modelo exige investimentos para provisionar uma capacidade similar a uma nuvem pública. Na Nuvem Híbrida uma quantidade considerável de informações é processada em uma nuvem pública, e outras em uma nuvem privada, possibilitando as empresas a processarem as informações sensíveis ao negócio em sua nuvem privada. 91 Figura 9. (Fonte: BAUN, 2011, p.16) Modelos de Cloud Computing Segundo Ramos (2011, p. 2) os executivos veêm Cloud Computing como a tecnologia capaz de atender rapidamente as mudanças, o crescimento, reduzir os riscos e ampliar as vantagens competitivas, acompanhado da redução de custos. Figura 10. (Fonte: RAMOS, 2011) Visão dos CIO's para o modelo de Cloud Computing Com a utilização de Cloud Computing os serviços oferecidos são pagos conforme a utilização, dessa forma as empresas que prestam este tipo de serviço podem oferecer 3 grandes pilares, são eles: Plataform as a Service, Infrastructure as a Service, Software as a Service, que são suportados pela por diversas tecnologias, sendo as principais: virtualização de hardware, web services, SOA, Grid e Cluster computing. 92 Figura 1. (Fonte: BUYYA, et al, 2011, p. 6) Conjuntos que permitiram o conceito de Cloud Computing 15. PIRÂMIDE DE CLOUD COMPUTING Para Mahmood e Hill (2011, p. 5), computação nas nuvens consiste da liberação de recursos através da internet, que utiliza o modelo pay-as-you-go (pagamento baseado na utilização), com isso empresas de todos os portes podem facilmente expandir conforme a demanda necessária. Os autores acima (2011, p. 4) destacam os principais fatores que influênciam a implementação de Cloud Computing: ● Redução de custos associados com os serviços de TI, desviando os investimentos para a integração com novos serviços; ● Redução nas responsabilidades administrativas, permitindo com que os funcionários foquem em inovações e produtividade; ● Aumento na agilidade e escalabilidade dos serviços de TI. Através do surgimento e a consolidação desta tecnologia se fez necessário a criação de padrões a serem implementados pelas empresas que oferecem este serviço, com 93 isso o National Institute of Standards and Technology (NIST)18, em 25 de outubro de 2011, realizou um estudo e criou o padrão conforme abaixo: ● Modelos de implementação: ○ Nuvem privada A infraestrutura é provisionada para uso exclusivo da por uma única organização, segmentando entre os consumidores (unidades de negócios). ○ Nuvem comunitária A infraestrutura é provisionada para uso exclusivo de uma comunidade de consumidores de uma organização que possuem preocupações similares (por exemplo: missão, requisitos de segurança, políticas e regras de conformidade). ○ Nuvem híbrida A infraestrutura é uma composição entre duas ou mais infraestruturas distintas (on-premises, privada, comunitária ou pública) que permanece um entidade única, mas que possuem vínculos e por compatibilidade padrão ou proprietária permite a portabilidade de dados e aplicações. ○ Nuvem pública Infraestrutura disponibilizada para uso aberto pelo público geral suportada através um fornecedor (empresa privada, instituição academica ou orgão governamental). ● Principais características: ○ On-demand self-service (Sobre demanda, auto-serviço) Possibilidade do usuário manipular os recursos (processamento, armazenagem) sem intervenção humana. ○ Broad network access (Amplo acesso a internet) Permitir que os recursos estejam disponíveis através da internet garantindo o acesso através de diferentes recursos (thin client, think client, smartphones, tablets, estações de trabalho). ○ Resource pooling (Armazenamento de recursos) Os recursos deverão atender multiplos consumidores utilizando o modelo multi-tenant19, 18 National Institute of Standards and Technology (NIST) Instituto nacional de padrões e tecnologia norte americano 19 Multi-tenant É o modelo que define a segmentação, isolamento, governança, níveis de serviço e cobrança para cada cliente que encontram-se na mesma infraestrutura de cloud computing, 94 utilizando servidores físicos e virtuais dinamicamente alocados e realocados baseados na demanda do usuário. ○ Rapid elasticity (Ampla escalabilidade) Capacidade de ampliar e reduzir o consumo de recursos baseado na demanda solicitada. ○ Measured service (Serviços mensuráveis) Possibilidade de monitoramento, controle utilização de relatórios fornecendo segurança e transparência ao provedor e ao consumidor. ● Modelos de Serviço: ○ Infrastructure as a Service (Infraestrutura como Serviço) Capacidade de fornecer infraestrutura básica, permitindo com que o usuário possa gerencia-las com lhe convêm. ○ Platform as a Service (Plataforma como Serviço) Capacidade de fornecer uma plataforma de desenvolvimento que permite a utilização aos recursos de Cloud Computing. ○ Software as a Service (Aplicação como Serviço) Capacidade de fornecer aplicações ao usuário final executadas em Cloud Computing. Através das diferentes características, camadas de serviço e modelos de implementação, Brunette e Mogul desenvolver um infográfico capaz de traduzir a complexidade e modularidade da computação nas nuvens, presente na figura 13. permitindo compartilhamento da infraestrutura sem comprometer a segurança e sigilo dos dados armazenados. C.f BRUNETTE; MOGULL, 2009, p. 16) 95 Figura 6. (Fonte: BRUNETTE; MOGULL, 2009, p. 14) Infográfico sobre Cloud Computing baseado na específicação da NIST 16. INFRASTRUCTURE AS A SERVICE (IaaS) Infrastructure as a Service é a base da pirâmide de Cloud Computing sendo o alicerce desta tecnologia e permitiu a criação de novas camadas, como por exemplo: plataforma e software como serviço. Segundo Mell e Grance (2011, p. 2) infraestrutura como serviço é definido através da capacidade de proporcionar rede, armazenamento, processamento sem a necessidade do cliente precisar administrar esses e outros recursos, se preocupando apenas com a disponibilidade dos mesmos. O cliente tem acesso a qualquer recurso computacional necessário para determinado processamento, seja ele um temporário ou então para hospedar determinada aplicação que nunca irá ser descontinuada. Conforme figura 14 podese verificar como são provisionados os recursos computacionais necessários em uma empresa, salientando 3 opções: ● Sempre acima da demanda; ● Abaixo da demanda; 96 ● Através da média de demanda necessária; Figura 7. (Fonte: ARMBURST; FOX; GRIFFITH, 2009, p. 11) Exemplos de diferentes cenários, relacionando demanda com capacidade e recursos no decorrer do tempo A utilizaçao de IaaS pode servir como base de sistemas legados. Sendo possível através desta infraestrutura instalar qualquer sistema operacional e simular qualquer cenário, permitindo ao cliente a configuração necessária para esses sistemas. Esta tecnologia permite que muitas empresas abandonem o modelo cliente-servidor, alocados em datacenters tradicionais e migrem as aplicação para provedores de computação nas nuvens, possibilitando principalmente os seguintes benefícios. ● Paga-se pela utilização; ● Escalabilidade; ● Alta disponibilidade; ● Não há contratos longos com multas recisórias, pode-se cancelar o contrato quando desejado; Assim, a Iaas atrai empresas de diferentes segmentos para esta tecnologia, principalmente para empresa no estágio inicial (start-ups), pois não necessita de grande investimentos iniciais e pode-se crescer o parque de servidores conforme a demanda. Empresas que realizam campanhas de marketing também são grandes 97 clientes dessa tecnologia, pois não há multas recisórias e permite grande escalabilidade, duas características essenciais para campanhas temporárias e que possuem certo horário de pico no processamento das informações. Quadro 1. Lista dos principais provedores de serviço na camada IaaS Serviço Tipo de Serviço Provedor Informações EC2 Virtualização Amazon http://aws.amazon.com/ec2/ S3 Storage Amazon http://aws.amazon.com/s3/ Dropbox Storage Dropbox http://www.dropbox.com GoGrid Virtualização GoGrid http://www.gogrid.com/cloud-hosting/cloudservers.php Tycoon Virtualização HP http://www.hpl.hp.com/research/tycoon/ Nimbus Virtualização Universidade de Chicago http://www.nimbusproject.org/ Openflow Virtualização Openflow http://www.openflow.org/ OpenNebula Virtualização OpenNebula http://opennebula.org/ Eucalyptus System Virtualização Eucalyptus Project http://www.eucalyptus.com/ Compute Engine Virtualização Google http://cloud.google.com/products/computeengine.html Cloud Storage Storage Google http://cloud.google.com/products/cloudstorage.html Big Query Big Data Google http://cloud.google.com/products/bigquery.html Fonte:autores A migração das empresas para a utilização de IaaS é o serviço Elastic Computing Cloud (EC2) oferecido pela Amazon Web Services. Este serviço consiste em um sistema de virtualização de servidores, onde permite-se escolher entre diferentes imagens virtuais de sistemas operacionais e manipula-los, semelhante ao modelo tradicional. Além do Amazon EC2, esta camada conta ainda com outros provedores, como por exemplo: GoGrid, Rackspace, VMWare, Verizon, CSC, IBM, Google, entre outras. 98 17. PLATFORM AS A SERVICE (PaaS) Platform as a Service foi desenvolvida sobre a camada de infraestrutura, permitindo que empresas e usuários utilizem as vantagens do modelo Cloud Computing sem a necessidade de configurar e suportar os diversos ambientes de negócio, focando no desenvolvimento de aplicações relevantes ao negócio. A camada de PaaS possibilita ao consumidor usufruir de uma plataforma de desenvolvimento capaz utilizar recursos através de um framework fornecido pelo provedor, eliminando a necessidade de adquirir, gerênciar e suportar diferentes ambientes, resultando na redução dos custos de operação e desenvolvimento. A principal vantagem na implementação do modelo em PaaS é a facilidade com que o provedor dispõe recursos computacionais ao consumidor com base na demanda, evitando assim o investimento em infraestrutura subutilizada, conforme a figura 16. Figura 16. (Fonte: Google Code, 2009) Monitoramento do serviço disponibilizado para perguntas ao presidente dos Estados Unidos da América A falta de interoperabilidade e portabilidade entre os provedores geram problemas, já que não existe um padrão estabelecido, tornando a migração entre provedores um processo complexo e caro. Para manter a integridade do modelo em PaaS, algumas 99 organizações criaram o OpenCloud Manifesto20. Os seus objetivos são: estabelecer protocolos compatíveis a fim de minimizar os impactos e riscos relacionados a liberdade de escolha, flexibilidade, agilidade, velocidade e competência entre os diferentes provedores. Os principais tópicos discutidos são: ● Segurança; ● Interoperabilidade de dados e aplicações; ● Portabilidade de dados e aplicações; ● Governança e gerênciamento; ● Métricas e monitoramento; Quadro 2. Lista dos principais provedores de serviço na camada PaaS Serviço Provedor Informações App Engine Google http://cloud.google.com/ Simple Storage Service Amazon Web Services http://aws.amazon.com/ CloudFoundry VMWare http://www.cloudfoundry.com/ OpenShift RedHat https://openshift.redhat.com/app/ Force.com Salesforce http://www.force.com/ Heroku Salesforce http://www.heroku.com/ Mosso Rackspace Cloud Computing http://www.rackspace.com/cloud/ Windows Azure Microsoft http://www.windowsazure.com Fonte: autores. 20 OpenCloud Manifesto é um grupo liderado pelos seguintes players do mercado: Adobe, Akamai, AMD, Boeing, CA, Cisco, EMC, VMWare, Novell, SAP, Samsung, IBM, Hewlett-Packard, Heroku, RedHat, GoGrid. Cf. http://www.opencloudmanifesto.org/supporters.htm 100 18. SOFTWARE AS A SERVICE (SaaS) Software as a Service – SaaS - encontra-se no topo da pirâmide de Cloud Computing pois as plataformas abaixo são as bases dessa tecnologia. Não seria possível um software como serviço sem que houvesse a escalabilidade e paralelismo da plataforma e infraestrutura como serviços. A NIST o define como um serviço capaz de prover ao usuário aplicações de vários dispositivos, sem a necessidade do usuário gerenciar ou controlar a infraestrutura (servidores, sistemas operacionais, storages) que as suportam. Este serviço administra os acessos e pequenos detalhes na aplicação, como por exemplo a criação e manutenção dos usuários ou a implementação das regras de negócios. Destacam-se nesta plataforma o custo e a confiabilidade a solução oferecida pelos, provedores em relação a uma infraestrutura interna. A utilização do SaaS traz valor agregado as empresas, pois essas ferramentas análisam informações estratégicas que suportam o crescimento da empresa. A SaaS pode operar qualquer serviço baseado na web, seja para controlar estoque, alguns serviços bancários, processamento de banco de dados, serviço de e-mail, entre outros. Existem ainda outros benefícios estão sendo de grande valia para as empresas pensarem neste tipo de solução: ○ Rápida adaptação por se trabalhar no mundo Web (Internet) onde a maioria das pessoas possuem acesso atualmente. ○ Como nesta plataforma não é necessário que se tenha um time de TI somente para gerenciar servidores e redes para essa aplicação, há uma redução de custo pois pode-se reduzir a equipe de TI. ○ Facilidade na personalização da aplicação, pois geralmente os provedores deste serviço oferecem API’s para tal. ○ Melhor comercialização, pois o provedor de serviço pode disponibilizar esta aplicação em qualquer lugar do mundo. ○ Alta disponibilidade por estar em uma estrutura de Cloud Computing com redundancias espalhadas em diversos locais. 101 ○ Alta segurança com a utilização do Secure Sockets Layer (SSL) sem ter que implementar soluções complexas para tal, como por exemplo VPN’s Apesar de todos esses beneficios Velte (2010, p. 13) cita alguns pontos que ainda são vistos como obstáculos para as empresas optarem por esta SaaS, são eles: ○ Empresas com necessidades especificas devem adquirir ou desenvolver o software especifico e hospeda-lo em infraestrutura adequada. ○ Há concorrência com aplicações open source, uma organização pode instalar alguma dessas aplicações em seu servidor, o que terá o custo reduzido em comparação com o aplicação SaaS. Esta tecnologia causa impactos nas empresas mais conservadoras na gestão de segurança por alocar informações em servidores e equipamentos em local desconhecido. Porém, a estrutura criada para suportar essa tecnologia é, na maioria das vezes, mais segura do que uma empresa tenha condições de isoladamente. Quadro 3. Principais provedores de serviços na camada SaaS Serviço Provedor Segmento Informações Google Apps Google Mensageria/Colaboração http://www.google.com/a Postini Services Google Segurança http://www.google.com/postini Salesforce Salesforce CRM http://www.salesforce.com BlueCoat BlueCoat Segurança http://www.bluecoat.com Zendesk Zendesk Servicedesk http://www.zendesk.com DocuSign DocuSign E-Signature http://www.docusign.com Office365 Microsoft Mensageria/Colaboração http://www.microsoft.com/office365 PasswordBank PasswordBank Autenticação http://www.passwordbank.com Gestão de Projetos http://www.smartsheet.com ERP http://www.sap.com/cloud Smartsheet SAP Smartsheet SAP Fonte: autores 102 19. RESULTADOS E DISCUSSÃO As empresas participantes que adquiriram soluções em Cloud Computing de 2010 à 2012 atuam nos ramos de tecnologia, industrial, financeiro, varejo e turismo, e também diferentes tamanho. Elas foram classificadas em três categorias, pequenas, médias e grandes conforme a tabela 7. Tabela 4. Agrupamento e classificação de empresas por quantidade de usuários Quantidade de funcionários 1-200 201-999 1000+ Fonte: Google Inc, 2009 Quantidade de Empresas 18 14 6 Classificação Pequena Média Grande Quando questionados a respeito do motivo de adoção do modelo, em primeiro lugar observou-se que a disponibilidade do sistema é o fator principal, totalizando 71% das respostas, seguido de perto pelo fator custo, somando 58%, conforme analisado na figura 17. Figura 17. Analise quantitativa dos motivos de escolha a soluções em Cloud Computing Tais resultados sugerem uma ligação direta com o tipo de infraestrutura utilizada, conforme figura 18, 58% utiliza estrutura interna, que engloba diversos custos e possíveis problemas com disponibilidade de hardware, software, atualizações, redundâncias, suporte, manutenção, arrefecimento, energia elétrica, entre outros. 103 Figura 18. Modelo de infraestrutura anterior a aquisição de Cloud Computing Schadler (2009, p. 10), pesquisador da Forrester em 2009, vide figura 19, aponta a diferença dos custos quando relaciona-se soluções internas com uma solução utilizando software as a service pode chegar a 50% por usuário. Figura 19. (Fonte: SCHADLER, 2009, p. 10) Comparativo de custos mensal entre soluções internas e soluções em Cloud Computing As barreiras para adoção do modelo no mercado corporativo nacional estão localizadas na adaptação cultural que corresponde a 84%, seguida pela segurança e custos empatados em 21% das respostas, conforme figura 20. Tais números diferem de estudos internacionais, como o realizado por CATTEDDU (2009) com destaque para a segurança corporativa e a privacidade. 104 Figura 20. Principais barreiras para adoção de Cloud Computing Após a implementação cerca de 76% das empresas pesquisadas, afirmam que a complexidade na administração do ambiente de tecnologia foi reduzida, figura 21. Figura 81. Redução de complexidade do ambiente Quando questionados se a adoção do novo modelo causou alterações na organização da empresa, observou-se que em 50% delas não houve alterações, em 24% a equipe foi reduzida, em 21% foi reestruturada a fim de manter o novo ambiente. Tais dados demonstram que não existe grande complexidade para manutenção da nova tecnologia já que em nenhuma delas foi necessário a contratação de novos funcionários e 24% a equipe foi reduzida, confirmando a redução de complexidade administrativa demonstrada na figura 22. Figura 22. Alterações nas áreas responsáveis pelos sistemas legados 105 Com relação aos custos de operação, 76% das empresas pesquisada afirmam que houve redução após a implementação do modelo em Cloud Computing, conforme figura 23. O que pode ser explicado por diversos fatores, entre eles a redução das equipes, manutenção e atualização de hardwares e softwares, entre outros. Figura 23. Redução de custos de operação Através do gráfico exibido na figura 24, demonstra-se que a complexidade do sistema implantado relacionando o tamanho das empresas, aqui representado pela quantidade de funcionários, verifica-se que em empresas de pequeno e médio porte (menos de 500 funcionários) aplicações como serviço são consideradas mais complexas, enquanto empresas maiores (mais de 500 funcionários) entendem que SaaS não tem tal nível de complexidade. Figura 24. Complexidade do sistema implantado O aumento na segurança da informação foi classificada como um benefício importante resultante da implementação da nova plataforma. É possível observar na figura 25 em uma escala de 1 a 5, onde 1 significa "não muito importante" e 5 "muito 106 importante", este quesito atingiu notas superiores a 3, sendo que em empresas com mais de 3000 funcionários atingiu nota máxima. Figura 25. Aumento da segurança Outro benefício alcançado através da implementação deste modelo foi a mobilidade, pois em todas as empresas obteve-se uma média superior a 4, em uma escala de 0 a 5, conforme figura 26. Figura 26. Ganho em mobilidade Ao se observar os resultados de acordo com o tamanho das empresas obteve-se: Pequenas Empresas (de 1 a 200 funcionários) Pode-se verificar conforme a figura 26 que cerca de 61% das empresas, mantém sua infraestrutura computacional internamente, aumentando os custos de operação, 107 impactando diretamente nos custos, segurança, performance e disponibilidade dos sistemas, conforme constatado na figura 27. Figura 27. Modelo de infraestrutura anterior a aqusição de Cloud Computing para pequenas empresas Figura 28. Motivo da adoção de Cloud Computing para pequenas empresas Contudo a migração para Cloud Computing implica em diferentes barreiras no mercado corporativo. Uma das principais preocupações deste segmento é a adaptação cultural totalizando 83% da opinião dos clientes, conforme figura 29, isso se deve principalmente às diferenças de uso das plataformas, onde cliente-servidor utiliza-se softwares instalados em cada estação de trabalho e cloud computing somente através de um navegador web e é dependente de uma conexão à internet, alterando completamente o modo de trabalho. 108 Figura 29. Barreiras na adoção de Cloud Computing para pequenas empresas Após a implementação da plataforma é possível notar dois resultados próximos, a estabilidade da equipe responsável pela administração da infraestrutura e a redução desta equipe, com 39% e 33% respectivamente, conforme figura 30. Figura 30. Alteração na equipe de TI para pequenas empresas Destacam-se aqui dois diferentes impactos no ambiente: a redução de complexidade e a redução nos custos de operação, ambas obtiveram 78% de redução, conforme figuras 31 e 32, o que pode explicar os resultados vistos anteriormente de manutenção da equipe responsável pelo ambiente e até mesmo a redução nestas equipes, não havendo a necessidade de contratação de novos profissionais. Figura 31. Redução da complexidade administrativa do ambiente para pequenas empresas 109 Figura 32. Redução nos custos de operação após a implementação de Cloud Computing para pequenas empresas Médias Empresas (de 201 a 1000 funcionários) No segmento de empresas de médio porte, foi analisado que 57% das empresas utilizam infraestrutura interna, 14% em datacenters e outros 14% um modelo compartilhado entre diversas empresas, conforme figura 33. Figura 33. Modelo de infraestrutura anterior a aquisição de Cloud Computing para médias empresas As pequenas empresas adotam plataformas em nuvem para a redução dos custos de operação. Para as empresas de médio porte a disponibilidade da infraestrutura é critico e totaliza 71% dos resultados, conforme figura 34. Contudo, existem outros dois pontos, segurança e custos, que contribuem com esta mudança para as empresas, onde cada variável obteve 43% de resultado. Estes resultados podem traduzir a dependência cada vez maior em ferramentas de tecnologia da informação como meios de alavancar os negócios. 110 Figura 34. Motivo da adoção de Cloud Computing para médias empresas Embora a adoção de Cloud Computing traga inúmeros benefícios à estas organizações de médio porte, 86%, conforme figura 35, acreditam que a adaptação cultural ainda seja a maior barreira a ser quebrada. Este fato deve-se ao modelo atualmente utilizado pelas diferentes áreas de tecnologia da informação, no qual os responsáveis de tecnologia monitoram apenas a infraestrutura e não as decisões estratégicas da empresa. Segundo Mahmood e Hill (2011, p. 68), a quebra desta barreira permitirá que a equipe de TI seja vista como Information Technology as a Service (ITaaS), suportando as novas necessidades estratégicas e de negócio. Figura 35. Barreiras na adoção de Cloud Computing para médias empresas Quando comparadas com empresas de pequeno porte, empresas de médio porte relataram resultados expressivamente diferentes, dos quais 64% informaram que não houve nenhuma alteração na equipe, seguidos de 14% alocados com reestruturação do time de administração e outros 14% com a realocação da equipe internamente à diferentes projetos. 111 Através destes dados constata-se que apesar da redução de complexidade do ambiente, conforme a figura 36, e da redução dos custos de operação, conforme a figura 37, a equipe responsável pela gestão das plataformas poderá reduzir o tempo gasto no suporte e administração e passar a dedicar-se a projetos cada vez mais envolvidos com as decisões estratégicas da empresa, segundo Mahmood e Hill (2011). Figura 36. Alteração na equipe de TI para médias empresas Figura 37 Redução da complexidade administrativa do ambiente para médias empresas Figura 38. Redução no custo de operação após a implementação de Cloud Computing para médias empresas Grandes Empresas (acima de 1000 funcionários) Através da análise realizada no conjunto de empresas com mais de 1000 funcionários foi possível observar que 50% destas empresas possuíam infraestrutura interna, conforme figura 39. 112 Desta forma o segmento de grandes empresas encontraram através da computação nas nuvens outros motivos para a transição. Os principais são a inovação, a disponibilidade e a competitividade, cada um destes obteve 100% dos resultados, seguidos pelos custos e performance da plataforma que representaram 50% dos resultados, conforme figura 40. Segundo Rittinghouse e Ransome (2010, passim), estas se enquadram em empresas com uma visão estratégica que permitirá oferecer serviços de baixo custo e alta disponibilidade para as necessidades mais críticas de apoio às decisões do negócio. Figura 39. Modelo de infraestrutura anterior a aquisição de Cloud Computing para grandes empresas Figura 40. Motivo da adoção de Cloud Computing para grandes empresas De acordo com Velte (2010, p.35) um dos principais pontos de relutância à implementação de Cloud Computing nas empresas do mercado internacional está ligado à segurança da informação, contudo através dos resultados analisados para o mercado corporativo brasileiro, 83% das grandes empresas indicaram a adaptação cultural como principal barreira na adoção desta arquitetura, e em segundo lugar com 17% dos resultados o critério de segurança, conforme figura 41. Diferente dos outros dois cenários analisados (pequenas e médias empresas) onde o custo da solução representava uma parcela importante das principais barreiras, neste segmento as empresas desconsideraram esta variável. Segundo Armburst e 113 outros (2009, p. 12-13) o motivo está relacionado ao retorno no investimento, houve 67% de redução na complexidade do ambiente, conforme figura 42, e 100% de redução de custos de operação, conforme figura 43, permitindo que estes custos sejam visualizados como investimentos para a empresa. Figura 41. Barreiras na adoção de Cloud Computing para grandes empresas Figura 42. Redução da complexidade administrativa do ambiente para grandes empresas Figura 43. Redução no custo de operação após a implementação de Cloud Computing para grandes empresas Para o gerenciamento desta arquitetura 50% das empresas deste segmento não julgaram necessário qualquer alteração organizacional, contudo em 33% delas a equipe foi reestruturada para atender os novos requisitos de sistemas e em 17% os profissionais foram realocados em outros projetos, assumindo outros papeis dentro da organização e em nenhum dos casos foi necessário aumentar a equipe para suportar a nova plataforma, conforme figura 44. O que não acarreta em novos custos, sustentando os resultados de redução de complexidade do ambiente, conforme figura 42. 114 Figura 44. Alteração na equipe de TI para grandes empresas 21. Analise Qualitativa (perguntas abertas) O estudo de ROI21 das empresas adotarem a solução em Cloud Computing separou as respostas em custos de infraestrutura, como aquisição de hardware, aquisição de software, energia elétrica, arrefecimento dos servidores, redundância, manutenção de hardware e software e custos com Recursos Humanos, como capacitação das equipes, salários e benefícios. Além disso as empresas traçaram nos estudos de ROI perspectivas relacionadas a vantagens e desvantagens da plataforma atual em comparação com a plataforma em Cloud Computing. Para exemplificar as principais barreiras na adoção da nova tecnologia, as empresas citaram uma série de razões, dentre elas: Adaptação cultural, exemplificada como falta de conhecimento técnico na área: "Falta cultura e conhecimento técnico no perfil nuvem"; "Mudança cultural dos funcionários, ferramenta outlook muito enraizada e serviço offline muito ruim disponibilizado pelo Google". Custos, apesar de significar uma redução de custos a médio prazo, para a implementação desta tecnologia, o investimento inicial também foi visto como uma barreira. "As empresas não calculam TCO, por isso o custo dos serviços na nuvem pode parecer maior do que o local.". Segurança, este item tem relação com a falta de informação acerca da tecnologia por representar a insegurança das empresas em disponibilizar os dados à provedores externos. "Tecnologia recente, receio por grande parte das empresas, 21 ROI Return on Investment tradução : Retorno ao investimento 115 falta de informação por parte do usuário. Há um estigma de que deixar suas informações na nuvem é inseguro.". A redução de custo pós-implantação apontam diversas possibilidades, como manutenção, mão-de-obra técnica, infraestrutura de hardware e software, energia elétrica, aumento na produtividade e simplificação de processos. "A redução surgiu com a eliminação da necessidade de instalação de servidores e manutenção de procedimentos de suporte, backup, etc."; "Redução de custos na folha de pagamento, menos pessoas estão produzindo mais."; "Redução de custos para aquisição de hardware além de custos de gerenciamento físico (eletrica, documentação e etc...)". Os principais benefícios pós-implantação da CC apontados foram: alta disponibilidade, fácil adaptação, redução de custos, velocidade na implementação, centralização de recursos, segurança, agilidade, facilidade de acesso, integrações com outras plataformas, pagamento sobre demanda, mobilidade e colaboração. "O principal benefício é a facilidade de início de uso de uma nova ferramenta, sem as complexidades e custo de implantação e manutenção."; "Aumenta a confiabilidade e disponibilidade das informações para todos. O gasto com armazenamento local será mínimo. A equipe de TI terá mais tempo para administrar o Negócio e buscar novas soluções para empresa.". As implicações da adoção da tecnologia no crescimento da empresa as respostas positivas estão relacionadas ao custo/benefício, agilidade, mobilidade, colaboração e novas tendências. "O ganho mobilidade/disponibilidade/segurança é inevitável, dos dados, principalmente atrelado devido à inevitavelmente à centralização dos dados e a um aumento de produtividade."; "Com certeza a Cloud Computing possibilitará agilidade às empresas de todos os setores, e deve contribuir para a melhoria dos negócios."; "Sim. Acredito que a medida que a empresa vai crescendo novos rumos serão tomados e isso deve acompanhar a tecnologia. Um dia era usado o disquete para compartilhar. Hoje podemos acessar informações em qualquer lugar do mundo. Esse ganho não será visto nem medido em dinheiro, mas em ganho de tempo para novos negócios a serem explorados." 116 CONSIDERAÇÕES FINAIS Razões e barreiras para uma empresa adotar a solução de Cloud Computing variam conforme o seu tamanho, visão estratégica, disponibilidade de recursos, necessidades, entre outras. Dentre as principais barreiras, a adaptação cultural foi diagnosticada como a maior preocupação para a implementação da plataforma. Este motivo pode ser devido à falta de informação e conhecimento sobre Cloud Computing, pois trata-se de uma tecnologia recente e em constante evolução. A redução das barreiras demanda maior divulgação sobre as vantagens/desvantagens dos usos de computação nas nuvens e a definição das melhores práticas para a sua adoção. A medida que a nova visão for disseminada, será possível reduzir as barreiras e eliminar as preocupações relacionadas aos custos, à segurança, à disponibilidade, entre outras. O mercado já demanda novas comparações e novos estudos que possibilitarão às empresas analisarem junto aos provedores de serviços de Cloud Computing qual a melhor tecnologia para determinado cenário de implementação. E através de analises de Total Cost of Ownership22 (TCO) e o Return on Investment23 (ROI) verificarem a viabilidade dos projetos. As razões para as empresas adotarem plataformas em Cloud Computing são: melhor relação entre os custos, a disponibilidade e a performance. No segmento de grandes empresas destaca-se a fácil integração com diferentes sistemas (internos ou externos, legados ou novos) de diversos provedores, assegurando o acesso a informação de maneira segura e eficiente. A pesquisa apontou ainda indícios de que a computação nas nuvens encontra-se em um estágio inicial no mercado brasileiro, e pode ser comprovado pela pequena amostra abordada neste projeto. Portanto para obter resultados mais verossímeis acerca da realidade nacional serão necessários novos trabalhos a longo prazo com uma amostra maior para visualizar a real característica e taxa de adoção da plataforma no Brasil. 22 23 Total Cost of Ownership TCO Tradução: Custo total de posse ou propriedade. Return on Investment ROI Tradução: Retorno sobre o investimento. 117 BIBLIOGRAFIA ARMBURST, Michael; FOX, Armando; GRIFFITH, Rean; et all Above the Clouds: A Berkley View of Cloud Computing, Berkley, California, EUA: Tech Report UCB/EECS-2009-28, Fevereiro, 2009,http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html. BAUN, Christian; KUNZE, Marcel; NIMIS, Jens; TAI, Stefan Cloud Computing: Web-Based Dynamic IT Services, Heidelberg, Berlin, Alemanha: Springer-Verlag, 2011. BRODERICK, Katherine. Worldwide Enterprise Server Cloud Computing 2011-2015 Forecast, IDC, Junho de 2011. BRUNETTE, Gleen , MOGULL, Rich Security Guidance for Critical Areas of Focus in Cloud Computing V2.1, Cloud Security Alliance, Dezembro, 2009. BUYYA, Rajkumar; BROBERG, James; GOSCINISKI, Andrzej, Cloud Compuing: Principles and Paradigms, Joboken, Nova Jersei, EUA: John Wiley & Sons, Inc, 2011. CATTEDDU, Daniele; HOGBEN, Giles; Cloud Computing: Benefits, risks and recommendations for information security: European Network and Information Security Agency (ENISA), 2009. CHEN, Yanpei; PAXSON; Vern, KATZ, Randy H. What's New About Cloud Computing Security, Berkely, California, EUA: Universidade da Califórnia de Berkley Engenharia Elétrica e Ciências da Computação, Janeiro, 2010. CHORAFAS, Dimitris N. Cloud Computing Strategies, Boca Raton, Flórida, EUA: CRC Press, 2011. Cloud Computing’s Role in Job Creation Infographic by Microsoft Research, Disponível em: http://www.microsoft.com/global/enus/news/publishingimages/Cloud_Computing_s_Role_in_Job_Creation_Web.jpg. Acesso em: 22/09/2012. Cloud Security Alliance, Top Threats to Cloud Computing V1.0, Cloud Security Alliance, 2010. COLVERO, Taís Appel. DANTAS, Mar. CUNHA, Daniel Pezzi da, Ambientes de Clusters e Grids Computacionais: Características, Facilidades e Desafios. Santa Catarina, 2005. COSTA, Jaqueline Henrique Pereira. Grid Computing Conceitos e Aplicações.pdf Pontificia Universidade Católica de Minas Gerais, Betim, 2006. COULOURIS, George et al. Sistemas Distribuidos: Conceitos e Projeto. Bookman, Porto Alegre, 2007. Defined Categories Services 2011, Cloud Securty Alliance, 2011. 118 ECMA Script Language Specification. Disponível em: <http://ecma-international.org/ecma-262/5.1/>. Acesso em: 04/06/2012. ENISA SME Perspective on Cloud Computing. GANTZ, John F.; TONCHEVA, Anna Cloud Computing’s Role in Job Creation, Framingham, Massachusetts, USA, Março de 2012. HAFF, Gordon Extending IT Governance From Private to Hybrid Clouds Through Consistency and http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1Portability, EUA, Red Hat Press, 2011. Indicadores de segurança do site. Disponível em: <http://www.iss.net/security_center/advice/Underground/Hacking/Methods/Technical/Spoofing/default. htm>. Acesso em: 30/05/2012. JACOB, Bart. BROWN, Michael. FUKUI, Kentaro. TRIVEDI, NiharThe. Introduction to Grid Computing, IBM Redbooks, dezembro 2005. KOTLER, Philip Marketing Management, Millenium Edition, Upper Saddle River, New Jersey, EUA: Prentince-Hall, 2000. LI, Henry. Introducing Windows Azure: Learn Windows Azure to create next-generation, cloud-base application, Nova Iorque, EUA, 2009. MAHMOOD, Zaigham; HILL, Richard; Cloud Computing for Enterprise Architectures, Londres, Inglaterra: Springer-Verlag, 2011. MCGRATH, Michael P. Understanding PaaS, Califórnia, EUA, O'Reiley Media Inc, Fevereiro, 2012. MELL, Peter; GRANCE, Timothy The NIST Definition of Cloud Computing: Recommendations of the National Institute of Standards and Technology, Gaithersburg, Washington, EUA: U.S Department of Commerce Press. Setembro, 2011. MILLER, Michael. Cloud Computing Web-based applications that change the way you work and collaborate online, Indiana, Indianápolis-EUA: QUE Publishing, Agosto, 2008. MONTGOMERY, Douglas C.; RUNGER, George C. Estatística Aplicada e Probabilidade para Engenheiros, 2 edição, Editora LTC, Rio de Janeiro, Brasil, 2003. MORRE, Gordon E. Cramming More Components onto Integrated Cirtuits, IEEE, 1965. NIELSEN, Lars. The Little Book of Cloud Comuputing: A new Street Executive Summary, WickfordRhode Island, EUA : New Street Comunication, 2011. Open Cloud Manifesto, Spring, 2009. http://opencloudmanifesto.org. 119 RAMOS, Elsie; ACKER, Kurt; GREEN, Robert; LLAURENCY, SEBASTIEN Cloud Computing and the Value of zEnterprise, Nova York, EUA: IBM Red Books, 2011. RFC 2616 Seção 06. Disponível em: <http://www.w3.org/Protocols/rfc2616/rfc2616sec6.html#sec6.1.1>. Acesso em: 30/05/2012. RFC 2616 Seção 09. Disponível em: <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html>. Acesso em: 01/06/2012. RFC 4627. Disponível em: <http://www.ietf.org/rfc/rfc4627.txt>. Acesso em: 05/06/2012. RIED, Stefan; HOLGER, Kisker Sizing The Cloud: understanding And Quantifying The Future of Cloud Computing, USA, Forrester Research, 21 de Abril de 2011. RITTINGHOUSE, John W.; RANSOME, James F. Cloud Computing Implementation, Management and Security, Boca Raton,Florida,USA:CRC Press, 2010. SCHADLER, Ted Should Your Email Live In The Cloud? A Comparative Costs Analysis: Cloud-Based Email is Ofter Cheaper Than On-Premise Email, Cambridge, Massachusetts, EUA: Forrester Research Inc, Janeiro, 2009. Security Guidance For Critical Areas of Focus in Cloud Computing V2.1, Cloud Security Alliance, 2009. Security Guidance For Critical Areas of Focus in Cloud Computing V3.0, Cloud Security Alliance, 2011. SHROFF, Gautam. Enterprise Cloud Computing: Technology, Architecture, Applications. Cambridge, Inglaterra: Cambridge University Press, 2010. VELTE, Anthony T. et all. Cloud Computing:A pratical Aproach, EUA, McGraw-Hill Inc., 2010. W3C HTML 5: <http://www.w3.org/TR/2008/WD-html5-20080122/>. Acesso em: 04/06/2012. W3C XML. Disponível em: <http://www.w3.org/TR/2008/REC-xml-20081126/>. Acesso em: 04/06/2012. WOHLSTADTER E und Tai S. Web Services. Reference Entry. Encyclopedia of Database Systems (EDBS). Springer, 2009. 120 GLOSSÁRIO Amazon Loja virtual e um dos principais provedores de Cloud Computing. App Engine Ambiente de Plataforma como um serviço disponibilizado pela Google, que permite programar em Java, Python ou Go! AWS Amazon Web Services. Coleção de várias nuvens disponibilizadas pela Amazon. Azure Windows Azure platform. Plataforma com um serviço disponibilizada pela Microsoft. Cluster Grupo de computadores próximos em uma rede cujo qual é gerenciada e utilizada em conjunto. EBS Amazon Elastic Block Store. Disponibiliza blocos orientados de armazenamento de dados para os servidores do EC2. EC2 Amazon Elastic Compute Cloud. Um Web Service que permite a execução de instancias virtuais nos servidores da Amazon. Elasticity Na computação nas nuvens, os recursos podem ser adicionados e removidos com certa granularidade em quesão de minutos, a fim de suprir a demanda das aplicações. Emulator Simula, Duplica um hardware por completo em um sistema computacional, aplicações ou sistemas operacionais para diferentes tipos de hardwares e arquiteturas podem ser utilizados sem realizar nenhuma alteração Grid Tecnologia para integração e distribuição heterogênia de recursos independentes de suas localidades. Hybrid Cloud Combinação de nuvem pública e privada. Hypervisor Sistemas Meta-operacionais em virtualização que distribui os recursos de hardwares entre os sistemas virtualizados e é responsável pela sua coordenação. IaaS Infrastructure as a Service. Implementa uma visão abstrata do hardware com o propósito de oferecer componentes virtuais de TI em Cloud Computing. Multi-tenancy Capacidade de gerenciar multiplos consumidores no mesmo servidor ou mesma aplicação, enquanto nenhum outro usuário possa visualizar os dados alheios. Open Source Software que possui seu código aberto para a comunidade, e sujeito a uma licença código livre aprovada pela OSI (Open Source Initiative), o qual seu propósito é promover o desenvolvimento de códigos open source. PaaS :Platform as a Service. Programação virtual e execução de ambientes para aplicações que permite escalabilidade transparente, cobrando com base na utilização do recurso e o tempo de uso. 121 Paravirtualization É uma tecnica de virtualização que disponibiliza uma interface de aplicação ao sistema operacional virtualizado, que deve ser modificado apriadamente pode cada acesso direto ao hardware deve ser modificado pelo método de interface hypervisor. Private Cloud Serviços em cloud operados internamente, dentro da corporação. Public Cloud Serviços em Cloud operados por provedores externos RDS Relational Database Service. Este serviço disponibilizado pela Amazon permite a implementação e operação de banco de dados relacionais. REST Representational State Transfer. Estilo de arquitetura de software baseada na internet. S3 Amazon Simple Storage Service. Web services com objetivo de armazenar informações SaaS Software as a Service. Software é gerenciado por um provedor que permite a utilização via Web, estes serviços são cobrados pelo tempo em que realmente foram utilizados. SDC Secure Data Connector. Aplicações dentro do Google App Engine capaz de integrar a infraestrutura local com a nuvem. SLA Service Level Agreement. Nível de qualidade de serviço ou operação. SOA Service-oriented architecture. Uma organização técnica de arquitetura de negócios baseada em serviços. SOAP Padão de mensagens para a comunicação entre sistemas em rede. SQS Simple Queue Service. Um serviço de mensagens da AWS, que provê uma fila de simples mensagens. TCO Total Cost of Ownership. Custo total de um serviço. URI Uniform Resource Identifier. Variável que identifica únicamente um recurso. Virtualization Camada de abstração entre os serviços e a infraestrutura de TI. VPC Virtual Private Cloud. Permite a integração dos recursos AWS EC2 na infraestrutura legada de TI utilizando um túnel VPN criptografado. Web service Um web service é uma aplicação em software identificada unicamente através de uma URI, cujas interfaces podem ser descritas, definidas e localizadas como artifatos XML. Um web service suporta interação direta com outro software através de mensagens XMLs encaminhada via os protocolos da internet. XML Extensible Markup Language. Linguagem padrão a ser utilizada para representação hierarquica da informação em formato de texto. 122