Você está na página 1de 110

0

FACULDADE DE TALENTOS HUMANOS FACTHUS DIEGO OLIVEIRA GURGEL

CLOUD COMPUTING

UBERABA 2011

DIEGO OLIVEIRA GURGEL

CLOUD COMPUTING

Projeto de pesquisa apresentado Faculdade de Talentos Humanos de Uberaba, como parte das exigncias parciais da disciplina de TCC 2. Orientador: Diovani dos Santos Milhorim

UBERABA 2011

DIEGO OLIVEIRA GURGEL

CLOUD COMPUTING

Projeto de pesquisa apresentado Faculdade de Talentos Humanos de Uberaba, como parte das exigncias parciais da disciplina de TCC 2 Orientador: Diovani dos Santos Milhorim

REA DE CONCENTRAO:

Uberaba, __ de _________ de 2011.

BANCA EXAMINADORA

___________________________________________________________ __ Prof.._________________________ FACTHUS

___________________________________________________________ __ Prof. _____________________________ - FACTHUS

___________________________________________________________ _ Prof. __________________________________ UFTM

RESUMO

Neste trabalho de concluso de curso so apresentados os principais conceitos da computao em nuvem, modelo que coloca servios antes disponveis apenas para acesso local ou em pequenas redes, disponveis para serem acessados via internet, de qualquer lugar e a qualquer momento, apresentando algumas vantagens como propostas de valor para aquisio desses servios, destacando principalmente a vantagem econmica que a computao em nuvem traz sobre o modelo de computao tradicional. Tambm, atravs do referencial terico, so apresentados cuidados a serem tomados antes da contratao de um servio na nuvem, bem como as limitaes que do modelo em nuvem. E ainda so apresentados os tipos de nuvem e os principais modelos de servios adotados pelos fornecedores. Ao final so apresentados trs casos de uso cada um demonstrando a utilizao de uma categoria dos modelos de servios oferecidos pela computao em nuvem, infraestrutura como servio, plataforma como servio e software como servio.

Palavras chave: Computao em nuvem, servios, elasticidade.

ABSTRACT

In this final paper the main concepts of the cloud computing are presented, a model that puts the services that were localy accessible only or in local networks, available to be accessed through the internet, anytime, anyplace, presenting some advantages like several commercial options, particularly focusing on the economic advantage that cloud computing brings over traditional computing model. Through the theorical reference, the precautions to be taken before hiring a cloud computing service are presented, along with the service limitations. The cloud computing services options and the more services models used by the service providers are also presented. At the end, three use cases are shown, each one demonstrating one of the cloud computing services categories, infrastructure as a service, platform as a service and software as a service.

Keywords: Cloud computing, services, elasticity.

LISTA DE FIGURAS FIGURA 1 - Modelo computao em nuvem ............................................................... 6 FIGURA 2 - Contratao de servio na nuvem da Locaweb. ...................................... 9 FIGURA 3 - Arquitetura multi inquilino. ..................................................................... 14 FIGURA 4 - Principais modelos de servios da computao em nuvem. ................. 16 FIGURA 5 - Painel de instrumentos do EC2. ............................................................ 17 FIGURA 6 - Detalhamento da descrio de uma instncia no servio EC2 da Amazon. .................................................................................................................... 19 FIGURA 7 - Instncia relacionada no painel de gerenciamento. ............................... 20 FIGURA 8 - Detalhamento do monitoramento de uma instncia no EC2. ................. 20 FIGURA 9 - Tela inicial onde possvel iniciar a criao de aplicativos. .................. 22 FIGURA 10 - Composio da plataforma Windows Azure. ....................................... 27 FIGURA 11 - Tela inicial do portal de gerenciamento do Windows Azure. ............... 28 FIGURA 12 - Fornecimento de aplicaes atravs da computao em nuvem. ....... 28 FIGURA 13 - Comparativo dos planos do Google Apps. .......................................... 30 FIGURA 14 - Painel para adicionar aplicaes ao Google Apps............................... 32 FIGURA 15 - Tipos de nuvem. .................................................................................. 33 FIGURA 16 - Tela para identificao do tipo de usurio. .......................................... 37 FIGURA 17 - Formulrio para criao de credenciais de login no Amazon Web Services..................................................................................................................... 37 FIGURA 18 - Formulrio para preenchimento das informaes de contato. ............. 38 FIGURA 19 - Formulrio de informaes para cobrana. ......................................... 39 FIGURA 20 - Interface de gerenciamento do EC2 para criao e gerenciamento de instncias. FONTE: Arquivo do autor. ....................................................................... 40 FIGURA 21 - Tela de selao rpida de AMI. ........................................................... 40 FIGURA 22 - Tela para definio dos detalhes da instncia. .................................... 41 FIGURA 23 - Opes avanadas no detalhamento da instncia. ............................. 43 FIGURA 24 - Tela para criao de etiquetas para a AMI. ......................................... 44 FIGURA 25 - Tela para criao de chave de acesso. ............................................... 45 FIGURA 26 - Tela de configurao de um novo grupo de segurana. ...................... 46 FIGURA 27 - Reviso da configurao da instncia. ................................................ 47 FIGURA 28 - Relao das instncias disponveis no console de gerenciamento do EC2. .......................................................................................................................... 48

FIGURA 29 - Caixa para confirmao de alocao de endereo IP. ........................ 49 FIGURA 30 - Tela de relao de endereos alocados com tela de associao de instncia em destaque. ............................................................................................. 49 FIGURA 31 - Chave gerada no Puttygen. ................................................................. 51 FIGURA 32 - Tela inicial do Putty, com endereo IP definido. .................................. 52 FIGURA 33 - rea para vinculao de chave privada para autenticao na instncia. .................................................................................................................................. 52 FIGURA 34 - Console do Putty conectado a uma instncia no EC2. ........................ 53 FIGURA 35 - Falha mensagem de erro quando h falha na autenticao. ............... 53 FIGURA 36 - Edio de chave ppk. .......................................................................... 54 FIGURA 37 - Informaes bsicas sobre o sistema. ................................................. 54 FIGURA 38 - Informaes de rede da instncia. ....................................................... 55 FIGURA 39 - Tela de confirmao para instalao do Apache. ................................ 56 FIGURA 40 - Instalao do servidor Apache............................................................. 56 FIGURA 41 - Inicializao do servidor de pginas. ................................................... 56 FIGURA 42 - Pgina de teste pr definida para o servidor de pginas. .................... 57 FIGURA 43 - Instalao e inicializao do vsftpd...................................................... 58 FIGURA 44 - Criao de usurio na instncia........................................................... 58 FIGURA 45 - Grupos das pastas localizadas em var/www da instncia. .................. 58 FIGURA 46 - Configurao de um novo site para acesso aos diretrios da instncia EC2. .......................................................................................................................... 59 FIGURA 47 - Cdigo fonte da pgina enviada para o servidor de pgina. ................ 60 FIGURA 48 - Tela de envio de arquivo para a pasta de pginas HTML da instncia. .................................................................................................................................. 60 FIGURA 49 - Pgina acessada via endereo IP. ...................................................... 61 FIGURA 50 - Pgina sendo acessada via URL de um domnio. ............................... 61 FIGURA 51 - Lista de aplicaes disponveis na conta do Google App Engine. ....... 62 FIGURA 52 - Criao da aplicao no App Engine. .................................................. 63 FIGURA 53 - Confirmao de registro da aplicao appcadastroclientes no Google App Engine. ............................................................................................................... 64 FIGURA 54 - Lista de plugins disponiveis, entre eles o Google Plugin for Eclipse. .. 65 FIGURA 55 - Lista para seleo de recursos do Google Plugin for Eclipse. ............. 66 FIGURA 56 - Progresso da instalao do Google Plugin for Eclipse. ....................... 66 FIGURA 57 - Menu do plugin do Google para Eclipse. ............................................. 67

FIGURA 58 - Criao de um novo projeto no Eclipse atravs do Plugin do Google. 68 FIGURA 59 - Estrutura de diretrios da aplicao criada no Eclipse. ....................... 69 FIGURA 60 - Classe pessoa da aplicao. ............................................................... 70 FIGURA 61 - Classe PMF da aplicao. ................................................................... 71 FIGURA 62 - Servlet CadastroClientesServlet da aplicao. .................................... 72 FIGURA 63 - Pgina inicial feita em JSP. ................................................................. 73 FIGURA 64 - Cdigo XML para mapeamento da pgina e servlets, nomeado de web.xml. .................................................................................................................... 74 FIGURA 65 - Estrutura de diretrios da aplicao aps todo seu desenvolvimento. 74 FIGURA 66 - Tela para implantao do projeto no Google App Engine. .................. 75 FIGURA 67 - Configurao do projeto para o App Engine. ....................................... 76 FIGURA 68 - Progresso do envio da aplicao para o App Engine. ......................... 76 FIGURA 69 - Aplicao sendo executada no App Engine. ....................................... 77 FIGURA 70 - rea para vinculao de domnio a uma aplicao no Google App Engine. ...................................................................................................................... 78 FIGURA 71 - Aplicao sendo acessa atravs do endereo vinculado ao domnio. . 78 FIGURA 72 - Tela da aplicao com a relao de clientes cadastrados. .................. 79 FIGURA 73 - Visualizao de dados da aplicao. ................................................... 80 FIGURA 74 - Campos para adio de uma entidade do tipo pessoa. ....................... 81 FIGURA 75 - Lista de entidades cadastradas com a apresentao da entidade cadastrada via gerenciador. ...................................................................................... 81 FIGURA 76 Visualizao dos dados da aplicao com a entidade criada via gerenciador. .............................................................................................................. 82 FIGURA 77 - Formulrio para registro de utilizao gratuita por 30 dias do Intuit QuickBase. ................................................................................................................ 84 FIGURA 78 - Tela inicial do Intuit QuickBase. ........................................................... 85 FIGURA 79 - Lista de modelos de aplicao............................................................. 86 FIGURA 80 Tela para criao de aplicao atravs da definio de campos. ....... 86 FIGURA 81 - Tela para criao de aplicao atravs da importao de arquivo. ..... 86 FIGURA 82 - rea para cria de tabela. .................................................................. 87 FIGURA 83 - Formulrio para adio de campos tabela. ....................................... 87 FIGURA 84 - rea para cria de tabela com a uma chave definida. ....................... 88 FIGURA 85 - Tela de comfirmao de criao da aplicao. .................................... 88 FIGURA 86 - Tela inicial da aplicao criada. ........................................................... 89

FIGURA 87 - Formulrio para adicionar um novo vendedor na aplicao. ............... 89 FIGURA 88 - Resultado apresentado aps a insero do vendedor. ........................ 90 FIGURA 89 - Lista apresentada na tela inicial da aplicao...................................... 90 FIGURA 90 - Opes da tabela................................................................................. 91 FIGURA 91 - Tela de listagem e criao de relatrios. ............................................. 91 FIGURA 92 - Tela para seleo do tipo de relatrio.................................................. 92 FIGURA 93 - Configuraes do grfico. .................................................................... 93 FIGURA 94 - Definies para confirmao de salvamento do novo relatrio. .......... 94

SUMRIO

1 INTRODUO ........................................................................................................ 1 2 JUSTIFICATIVA ..................................................................................................... 2 3 OBJETIVOS............................................................................................................ 3 3.1 Objetivo Geral ....................................................................................................... 3 3.2 Objetivos Especficos ............................................................................................ 3 4 MATERIAIS E MTODOS ...................................................................................... 3 5 REFERNCIAL TORICO ........................................................................................ 4 5.1 Definio de Cloud Computing ............................................................................. 4 5.2 Proposta de valor e benefcios da computao em nuvem................................... 6 5.2.1 Custo e pagamento .......................................................................................... 6 5.2.2 Elasticidade e escalabilidade ............................................................................ 7 5.2.3 Simplicidade ..................................................................................................... 9 5.2.4 Fornecedores capacitados.............................................................................. 10 5.2.5 Recursos internos e disponibilidade ............................................................... 10 5.3 Limitaes e cuidados ........................................................................................ 11 5.3.1 Legislao e geopoltica ................................................................................. 11 5.3.2 Hardware especfico ....................................................................................... 11 5.3.3 Controle do servidor ....................................................................................... 12 5.3.4 Integrao com aplicaes ativas ................................................................... 12 5.3.5 Latncia e volume de dados e demanda ........................................................ 12 5.4 Componentes...................................................................................................... 13 5.4.1 Virtualizao ................................................................................................... 13 5.4.2 Servios baseados na internet (Web Services) .............................................. 14 5.4.3 Software Livre ................................................................................................. 15 5.5 Modelos de Servios ........................................................................................... 15 5.5.1 Infraestrutura como servio Iaas .................................................................. 16 5.5.2 Exemplo de IaaS Amazon EC2 ................................................................... 17 5.5.3 Plataforma como servio PaaS .................................................................... 20 5.5.3.1 Exemplos de PaaS ................................................................................... 21

10

5.5.3.1.1 Force.com ................................................................................................ 21 5.5.3.1.2 Google App Engine .................................................................................. 22 5.5.3.1.3 Windows Azure......................................................................................... 26 5.5.4 Software como servio SaaS ....................................................................... 28 5.5.4.1 Exemplos de SaaS ................................................................................... 29

5.5.4.1.1 Google Apps ............................................................................................. 29 5.5.5 Bases de dados como servio DaaS ........................................................... 32 5.5.6 Backup como servio BaaS ......................................................................... 32 5.6 Tipos de Nuvens ................................................................................................. 33 5.6.1 Nuvem Pblica ................................................................................................ 33 5.6.2 Nuvem Privada ............................................................................................... 34 5.6.3 Nuvem Hibrida ................................................................................................ 34 5.7 Segurana ........................................................................................................ 35 5.8 Estudos de caso ................................................................................................. 36 5.8.1 Utilizao da Infraestrutura EC2 da Amazon - IaaS ....................................... 36 5.8.2 Utilizao da Plataforma App Engine do Google PaaS ............................... 62 5.8.3 Utilizao do Software Intuit QuickBase da Intuit SaaS ............................... 83 6 RECURSOS UTILIZADOS ................................................................................... 96 7 CONCLUSO........................................................................................................ 97 8 REFERNCIAS .................................................................................................... 98

1 INTRODUO A evoluo de uma srie ferramentas e conceitos difundidos na rea da tecnologia criaram o conceito de computao em nuvem. Esse conceito tem como principal fator a transformao do modo como as empresas utilizam e adquirem recursos de tecnologia da informao e comunicao. A computao em nuvem parte do princpio que toda infraestrutura de TI possa ser acessada e administrada atravs da internet (nuvem), os servios podem ser acessados utilizando desde o prprio navegador de internet a conexes rea de trabalho remota ou atravs de outras formas de execuo de trabalho remoto como o SSH1. Cloud computing (computao em nuvem) coloca servios que antes eram disponveis apenas localmente ou em pequenas redes, disponveis para serem acessados via internet, de qualquer lugar e a qualquer momento e com confiabilidade. Esses servios na maioria das vezes so providos por computadores e centros de dados de alta capacidade de processamento e armazenamento. Hoje as pessoas e empresas esto passando a confiar mais em servios que esto na nuvem do que em aplicaes e recursos locais, como exemplo disso, temos os servios de armazenamento e sincronizao de arquivos online, que mesmo seu computador sendo totalmente danificados os arquivos estaro disponveis para serem acessados de qualquer outro computador atravs da internet. Hoje a maioria das pessoas que esto na internet utilizam a computao em nuvem seja em redes sociais, servios de armazenamento de fotos, vdeos, msica etc., esses servios existem aos montes e podem parecer comuns aos usurios e muitos no sabem que esto utilizando computao em nuvem para armazenar ou processar seus dados. Com a larga utilizao por usurios domsticos a computao em nuvem com o tempo passou a se tornar interessante tambm para empresas. No decorrer do trabalho so demonstrados alguns recursos oferecidos pela computao em nuvem e exemplos de acessos nos principais fornecedores do mercado.

Secure Shell, protocolo de rede para comunicao segura entre dois computadores.

2 JUSTIFICATIVA A evoluo e minimizao dos gastos so buscas constantes das organizaes, e nada mais vivel para atender essa demanda que cada vez mais crescente do que a utilizao de computao em nuvem, uma soluo extremante vivel as negcios que far com que empresas e organizaes economizem e que possam mover seus recursos que antes eram gastos com infraestrutura e manuteno, aquisio de equipamento, etc. para o objetivo principal do negcio. A computao em nuvem um novo modelo de computao que desperta a curiosidade de muitas pessoas e principalmente empresas, frente a isso o trabalho a seguir demonstra uma viso geral e superficial da computao em nuvem.

3 OBJETIVOS 3.1 Objetivo Geral Este trabalho de concluso de curso objetiva demonstrar de forma terica e prtica a utilizao da cloud computing (computao em nuvem), abordando algumas ferramentas que utilizam esse conceito, demonstrando uma viso geral, criando assim uma fundamentao bsica para pessoas e empresas interessadas no assunto. Tem-se tambm como objetivo a demonstrao de casos de sucesso na utilizao desse novo paradigma de comunicao. 3.2 Objetivos Especficos Demonstrar conceitos que perfazem a computao em nuvem; Exemplificar os principais componentes da computao em nuvem; Demonstrar de forma prtica a utilizao de ferramentas que tem como base a computao em nuvem; Demonstrar como so oferecidos os principais servios disponveis no mercado; Testar os principais servios oferecidos pelo mercado; Demonstrar casos de utilizao da computao em nuvem.

4 MATERIAIS E MTODOS Para a elaborao deste trabalho foram utilizados os seguintes recursos: pesquisa em livros, pesquisa em artigos, pesquisa em trabalhos de concluso de curso e atravs de computadores, pesquisa em sites da internet, tambm foram feitos acessos a sites para utilizao e visualizao de servios que utilizam computao em nuvem.

5 REFERNCIAL TORICO 5.1 Definio de Cloud Computing Segundo Taurion (2009) alguns setores de negcio esto em um estado de hipercompetio. Neste estado as vantagens competitivas so difceis ou mesmo impossveis de ser mantidas por longo tempo, existe inovao tecnolgica rpida e desarticuladora do setor, a escala competitiva crescente e a proposio de valor, ou o que o cliente valoriza, constantemente alterado. Nesses setores o sucesso empresarial daqueles que conseguirem mover-se mais rapidamente. Nitidamente as empresas de hoje no so as mesmas do sculo passado, o quadro a seguir demonstra as diferenas entre as empresas da sociedade industrial e as do sculo XXI:

Organizaes do Sculo XX Economias de escala Produo em alto volume Operrios e cho de fbrica Regional ou nacional Estruturas hierrquicas Avies, trens e automveis

Organizaes do Sculo XXI Agilidade e flexibilidade Velocidade de resposta Trabalhadores do Global Redes Sociais Dispositivos mveis e internet conhecimento

QUADRO 1 - Diferena entre organizaes do sculo XX e XXI. FONTE: TAURION, 2009

Nesse contexto das organizaes do sculo XXI a infraestrutura computacional pode ser considerada como as usinas e os sistemas de transmisso e distribuio de energia. Sem energia, as aplicaes, ou televisores, geladeiras e outros eletrodomsticos no funcionam. No se pode mais pensar que o negcio simplesmente depende de tecnologia. Hoje os negcios esto verdadeiramente embutidos nas tecnologias e os negcios podem mudar to rpido quando as tecnologias inseridas neles. (TAURION, 2009). Devido a vrios fatores das organizaes do sculo XII, alguns demonstrados no QUADRO 1, a demanda por tecnologia cada vez maior, e devido a grande competio as tecnologias tm que ser economicamente viveis para a empresa. As decises sobre infraestrutura no devem ser vistas apenas como uma

questo tcnica, mas sim como algo que ir impactar diretamente no negcio, analisando a questo custo benefcio, visto a quantidade de solues disponveis no mercado e a rapidez com que essas solues se tornam obsoletas. Uma das solues resultado da integrao de diversas tecnologias existentes no mercado a tratada neste trabalho, a Cloud Computing (computao em nuvem). Termo que se origina devido a utilizao de uma nuvem na representao da internet em diagramas de rede. Ento Cloud Computing se trata da utilizao da internet como base para disponibilizao de diversos servios Assim como diversas outras tecnologias a Cloud Computing tem seu uso massivo por usurios domsticos, pois todas as pessoas que utilizam o redes sociais na internet, por exemplo, utilizam Cloud Computing. Muitos consideram a Cloud Computing simplesmente um

aperfeioamento da internet, um aprimoramento e aumento de recursos de computao e dados para a Web, no entanto pode-se classific-la como um nvel mais elevado em muitos aspectos e a grande diferena que a Cloud Computing um conjunto de recursos e servios disponibilizados na internet. Significa uma convergncia das estruturas fsicas e servidores em uma arquitetura mais inteligente, moderna e flexvel, disponibilizando poder de processamento,

armazenamento de dados, conectividade, plataformas, aplicaes e servios, com elasticidade dos recursos, o usurio controla a expanso dos servios contratados, alocando recursos de acordo com suas necessidades. (ANDRADE, 2010). A FIGURA 1 exemplifica como o funcionamento do acesso a servios disponibilizados na nuvem.

FIGURA 1 - Modelo computao em nuvem FONTE: Arquivo do autor, baseado em NETO(2010)

A IMB (2009) em um artigo sobre a computao em nuvem para a empresa solicita a seguinte considerao para computao em nuvem:
A computao em nuvem uma soluo completa na qual todos os recursos de computao (hardware, software, rede,

armazenamento, etc.) so fornecidos rapidamente a usurios medida que a demanda exigir . Os recursos, ou servios, que so fornecidos so controlveis para assegurar coisas como alta disponibilidade, segurana e qualidade. O fator chave para essas solues que elas possuem a capacidade de serem aumentadas ou reduzidas gradualmente, de forma que usurios obtenham os recursos necessrios, nem mais, nem menos.

5.2

Proposta de valor e benefcios da computao em nuvem A computao em nuvem apresenta alguns benefcios que so vantagens

quando comparados ao modelo tradicional, a seguir ser apresentado alguns desses benefcios. 5.2.1 Custo e pagamento Segundo Taurion(2009) no mundo empresarial o conceito valor para o negcio cada vez mais importante. Para adotar uma tecnologia ou conceito como o de computao em nuvem importante avaliar o seu real valor para a

organizao, assim o valor agregado da tecnologia est diretamente ligado sua importncia para os resultados do negcio. Sob essa tica a computao em nuvem implementa modelos de pagamento pr e ps pago. No modelo pr pago temos o pagamento antecipado de um determinado recurso o que faz com que a empresa possa prever o quanto ser gasto mensalmente com a soluo. No modelo ps pago o pagamento feito depois que o recurso utilizado, nesse modelo pode-se fazer um comparativo com o pagamento de energia eltrica, onde o consumidor paga pelo que usa. Taution(2009) afirma que com o pagamento aps a utilizao dos recursos o risco financeiro menor, pois no modelo tradicional gasto antecipadamente o dinheiro em tecnologia sem saber se o resultado obtido ser conforme o esperado. Na computao em nuvem o risco financeiro torna-se mensal e o gerente financeiro poder acompanhar mais de perto como o dinheiro est sendo gasto. Outro ponto e que no preciso a preocupao com a depreciao de ativos. 5.2.2 Elasticidade e escalabilidade Na computao em nuvem os recursos podem ser adquiridos de forma rpida e elstica, em alguns casos de maneira automtica, caso houver necessidade de escalar com por um aumento de demanda. (MOTA, 2010) Ao invs de ter que comprar, instalar e configurar o novo equipamento, na nuvem pode-se comprar ciclos de CPU adicionais ou armazenamento. Conforme a contratante do servio necessita de mais capacidade o fornecedor pode tornar a escalabilidade muito mais simples do que adicionar o equipamento nas instalaes de uma organizao por exemplo. (ELSENPTER; VELTE, A.; VELTE, T., 2011) Com a mesma facilidade que os recursos foram adquiridos podem ser descartados quanto no for mais necessrio, voltando ao estado inicial o que uma das vantagens comparando ao modelo tradicional em que um recurso adquirido e no mais utilizado fica ocioso. O GRFICO 1 e o GRFICO 2 demonstram como funciona relao capacidade e demanda nos modelos tradicional e em nuvem.

GRFICO 1 - Representao de recursos e demandas em um data center local. FONTE: SILVA, 2010.

GRFICO 2 - Representao de recursos e demandas em um data center em nuvem. FONTE: SILVA, 2010.

5.2.3 Simplicidade No ter que comprar e configurar novos equipamentos permite que uma aplicao comece imediatamente e custa menos do que custaria para implementar uma soluo local.(ELSENPTER; VELTE, A.; VELTE ,T., 2011) A aquisio dos servios de computao na nuvem acontecem de forma simples e intuitiva. Na figura abaixo pode ser visto como feita a aquisio de servidores na nuvem da LocaWeb, empresa nacional de hospedagem de servios voltados para internet(email, domnios2, hospedagem de sites, servidores dedicados, cloud computing, etc.).

FIGURA 2 - Contratao de servio na nuvem da Locaweb. FONTE: LOCAWEB, 2011.

A empresa oferece uma interface para contratao do servio denominado Cloud Server Pro onde o contratante pode simplesmente deslizar o um apontador para que a capacidade de armazenamento do servidor que ser contratado seja aumentada ou diminuda. Assim como a capacidade de armazenamento a capacidade de transferncia e o sistema operacional so alterados de maneira intuitiva.

Nomes que servem para localizar e identificar computadores na Internet.

10

5.2.4 Fornecedores capacitados Normalmente quando uma tecnologia ou conceito novo se populariza, h uma gama de fornecedores oferecendo sua verso da tecnologia ou conceito, o que pode no ser bom, pois muitos desses vendedores tende a oferecer menos do que a tecnologia capaz. Mas com a computao em nuvem isso ocorreu diferente, os vendedores desse conceito so empresas respeitadas no ambiente de tecnologia. Empresas como a Amazom, Google, Microsoft, IBM, e Yahoo! Foram bons fornecedores porque ofereceram um servio confivel, com grande capacidade e tem-se familiaridade com os nomes das empresas. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) Todas essas grandes empresas citadas anteriormente j tinham experincia em gerenciar a infraestrutura de seus data centers de maneira escalvel antes mesmo de implantarem o modelo de computao em nuvem. Com esse grande infraestrutura disponvel e a experincia em gerenci-la, bastou apenas criar um servio em que o usurio tambm desfrutasse desses recursos. 5.2.5 Recursos internos e disponibilidade Ao contratar um servio na nuvem a empresa passa a no ter mais que se preocupar com os recursos internos de infraestrutura, agora quem passa a ser o responsvel por todo o gerenciamento desses recursos o fornecedor. Com isso importante a verificao dos nveis de SLA. A maioria dos fornecedores de cloud computing oferecem a disponibilidade anual de 99,9% ou no caso do servio EC2 da Amazon o percentual de 99,95%(AMAZON, 2011), neste caso importante observar que a empresa ter no ano aproximadamente 4 horas e 37 minutos que poder deixar o servio inoperante e com a disponibilidade de 99,9% ser o dobro de tempo que a ofertante do servio poder telo inoperante. Comparando com a disponibilidade interna oferecida pela maioria dar empresas o tempo de parada extremamente baixo. Um meio para garantir ainda mais a disponibilidade dos servio a a multa caso o fornecedor no cumpra com a disponibilidade prometida.

11

5.3

Limitaes e cuidados Mesmo a computao em nuvem sendo uma excelente opo

importante que alguns cuidados sejam tomados antes da contratao de um servio em nuvem. 5.3.1 Legislao e geopoltica Algo que preocupa e limita a adoo de computao em nuvem por governos e grandes empresas, principalmente so as leis e polticas que permitem a determinados governos mais livre acesso a uma nuvem do que em um servidor privado. A exemplo disso que algumas empresas permitem que o FBI acesse dados sem obter autorizao ou consentimento do proprietrio. (ELSENPTER;

VELTE, A.; VELTE ,T., 2011) Segundo Silva(2010), ao utilizar a computao em nuvem uma empresa pode no saber com exatido onde seus dados esto armazenados. Existem casos em que a empresa no sabe ao menos o pais em que seus dados esto armazenados. No momento de aquisio de um servio em nuvem importante verificar se o fornecedor se o mesmo est disposto a armazenar e a processar dados em jurisdies especificas e se esto dispostos a obedecer a legislao, no que diz respeito a privacidade, do pas de origem do cliente. 5.3.2 Hardware especfico Caso o a empresa tenha um aplicativo que tem como pr requisito para o seu devido funcionamento um hardware especfico, chips ou drives, por exemplo, uma soluo em nuvem pode no atender completamente os requisitos para o funcionamento da aplicao.(ELSENPTER; VELTE, A.; VELTE ,T., 2011) Quanto maior a especificidade do hardware menores so as chances que o fornecedor tem de fornecer o hardware que atenda a necessidade. Isso pode reduzir de forma significativa as opes para localizao de um bom servio de computao em nuvem. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) Mesmo que o provedor atenda a necessidade de hardware importante verificar se esse provedor altera constantemente o hardware isso evitar surpresas como funcionamento inadequado ou no funcionamento de uma aplicao.

12

5.3.3 Controle do servidor Outra questo importante que deve ser observada e se a aplicao exige um total controle sobre tudo o que executado, uma soluo em nuvem pode no trazer o nvel de acesso desejado. Se necessrio um controle detalhado sobre a quantidade de memria, CPU, especificaes do disco, ou interfaces, a nuvem no apropriada, visto que os itens citados administrado pelo fornecedor. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) Para que no haja desperdcio de tempo e dinheiro importante que sej verificado antes da contratao de um servio se o fornecedor atende ao nvel de acesso desejado. 5.3.4 Integrao com aplicaes ativas Se a empresa que tem dois ou mais aplicativos que tenha que integrar recomendvel que todos os aplicativos esteja rodando na nuvem. Pois se no estivarem havero problemas de segurana velocidade e confiabilidade.

(ELSENPTER; VELTE, A.; VELTE ,T., 2011) Nesse caso importante observar qual a demanda de troca de informaes ser necessria entre o aplicativo on-site e o aplicativo na nuvem pois alm de problemas com velocidade, muitos fornecedores cobrar tambm pelo volume de entrada e sada de dados, ento de a integrao exige um alto nvel de entrada e sada a entrada na nuvem dever ser melhor avaliada. Normalmente empresas iniciantes ou start-ups tem mais sucesso, no que diz respeito a integrao, visto que podem comear iniciar a integrao entre aplicaes diretamente a nuvem. 5.3.5 Latncia e volume de dados e demanda A prpria natureza da computao em nuvem faz com que os dados acessados via internet levem algum tempo,menos de minutos. Para que cheguem at o solicitante. Mas se a empresa necessita dos dados instantaneamente uma soluo na nuvem poder no atender os requisitos de velocidade. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) A computao em nuvem cobrada, geralmente em um formato de utilidade, utilizando um modelo em que voc paga por aquilo que usar. Isso muito

13

bom, mas se forem implantados aplicativos que utilizem muita transferncia os custos iro comear a subir. Se estiver executando vdeos em alta definio por exemplo, com mais de 100 fontes, os custos subiro rapidamente. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) A computao em nuvem pode ser muito boa mas necessrio que clculos sobre volume de dados, demanda, tempo de resposta realizando um comparativo de quanto custaria para que a soluo fosse implementada localmente. 5.4 Componentes A computao em nuvem est estruturada sobre alguns componentes que atravs de sua evoluo e integrao com se tornam base para que a maioria dos servios fossem criados. Alguns desses componentes sero vistos neste captulo. 5.4.1 Virtualizao A virtualizao a abstrao das caractersticas fsicas de uma plataforma computacional, instanciando um hardware virtual. Com a virtualizao possvel executar simultaneamente em um equipamento diversos sistemas operacionais. (VIEIRA, et al, 2009). A capacidade de proviso de recursos multi inquilino em nvel de IaaS3, PaaS4 ou SaaS5 baseada na habilidade de prover virtualizao, criando assim uma escala econmica. (CSA, 2009) A FIGURA 3 exemplifica a arquitetura multi inquilino relacionada as maquinas virtuais(virtual machines, VM).

3 4

Infraestrutura como servio. Plataforma como servio. 5 Software como servio.

14

FIGURA 3 - Arquitetura multi inquilino. FONTE: CSA, 2009.

Na computao em nuvem criada uma interface e o usurio dimensiona os recursos conforme necessrio, por trs disso existe uma aplicao de virtualiza os servios automaticamente, abstraindo toda infraestrutura disponvel para os usurios. Isso acarreta duas situaes, a utilizao de um nico servidor para vrios usurios com a garantia de disponibilidade dos recursos escolhidos por cada uma delas e a utilizao de vrios servidores para um usurio, mantendo a estabilidade do negcio do usurio. A paravirtualizao faz com que operaes de sistemas funcionem em um dispositivo fsico simultaneamente, de forma eficiente, utilizando recursos

especficos como processador e memria. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) Se tratando de virtualizao completa, o sistema inteiro virtualizado, mas na paravirtualizao, o mdulo de gerenciamento opera com um sistema operacional feito para trabalhar em uma mquina virtual. A na maioria dos casos a paravirtualizao funciona melhor que a virtualizao completa em que na segunda todos os elementos so virtualizados. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) 5.4.2 Servios baseados na internet (Web Services) O surgimento de servios de servios baseados em internet e seus padres abertos tem contribudo significativamente para a integrao de software, Servios Web tem a capacidade de trocar mensagens entre aplicativos em execuo de diferentes plataformas, permitindo que um aplicativo interno possa ser

15

disponibilizado para outros atravs da internet. (BROBERG; BUYYA; GOSCINSKI, 2011) Durante os anos uma grande quantidade de software ricos em Web Services foram especificados e padronizados, o resultado disso foi uma grande quantidade de tecnologias para compor, descrever e orquestrar servios que criassem uma via para o transporte de mensagens entre servios com qualidade e segurana. (BROBERG; BUYYA; GOSCINSKI, 2011) Segundo a SUN(apud CHIRIGATI, 2011) O fornecimento de aplicaes e recursos para todos os usurio da nuvem solucionada utilizando servios baseados na internet. As organizaes utilizavam e ainda utilizam aplicaes com interfaces na internet direcionada a clientes externos e internos. Servios disponveis na internet podem ser acessados a qualquer hora e de qualquer lugar, assim tornaram-se elementos indispensveis para o conceito de computao em nuvem. 5.4.3 Software Livre Segundo a SUN (apud CHIRIGATI, 2011) O software de cdigo aberto(software livre) tem um papel importante na computao em nuvem. Ele permite que elementos da computao em nuvem como imagens de mquinas virtuais, sejam criados atravs de ferramentas de fcil acesso. Assim o desenvolvimento de aplicaes para computao em nuvem simplificado e melhor difundido. Como a software livre d acesso a quem queira criar algo baseado nele, a quantidade de componentes tende a aumentar, criando mais possibilidades para a computao em nuvem e aumentando o nvel de conhecimento sobre a capacidade das ferramentas. (CHIRIGATI, 2011) 5.5 Modelos de Servios A computao em nuvem oferece vrios modelos de servios os principais so Infraestrutura como Servio(Iaas), Plataforma como Servio(PaaS) e Software como Servio(SaaS). A FIGURA 4 representa como esses tipos de servios so dispostos.

16

FIGURA 4 - Principais modelos de servios da computao em nuvem. FONTE: Prprio autor, adaptado de:SILVA, 2010.

Os tpicos abaixo apresentaro detalhes desses trs modelos, principalmente e dois outros modelos para dados sendo o Bases de dados como Servio (DaaS) e o Backup como Servio (BaaS). 5.5.1 Infraestrutura como servio Iaas Segundo Martins (2010) essa uma caracterstica provida para o cliente, que provisiona processamento, storage, rede e outros recursos computacionais importantes, onde o cliente est apto a implantar e executar qualquer software, o que inclui sistemas operacionais e aplicaes. O cliente no gerencia ou controla os recursos por trs dessa infreestrutura, mas tem controle sobre o sistema operacional, storage, aplicaes e possibilidade de controle limitada a alguns tipos de componentes como firewall, por exemplo. Martins (2010) tambm argumenta que infraestrutura como servio oferece recursos computacionais como processamento ou armazenamento. Exemplos so as ofertas de servios em nuvem da Amazon, chamados de EC2(Elastic Cloud Computing) e S3(Simple Storage Service). Independente do recurso escolhido (armazenamento ou processamento) esse recurso, assim como outros recursos da nuvem, poder ser redimensionado como a empresa julgar necessrio. sabido que qualquer empresa no trabalha o tempo todo em capacidade total, por exemplo, em diversas empresas utilizam mais processamento em horrio comercial em que muitas pessoas esto utilizando um determinado servio e fora esse horrio o processamento cai drasticamente, nesses

17

casos, se tratando de um servio de processamento utilizando computao em nuvem a empresa no pagar pelas horas ociosas dessa capacidade de processamento. 5.5.2 Exemplo de IaaS Amazon EC2 Um dos exemplos mais conhecidos de IaaS a Amazon Elastic Compute Cloud (EC2). A FIGURA 5 demonstra o painel de instrumentos do AWS (Amazon Web Services) mais especificamente a aba do EC2. Na FIGURA 5 tambm pode-se observar como os recursos do EC2 so dispostos.

FIGURA 5 - Painel de instrumentos do EC2. FONTE: AMAZON, 2011.

O Amazon EC2 fornece uma interface Web6 simples que permite obter e alterar capacidades sem muitas dificuldades. Permite o controle dos recursos computacionais. O EC2 reduz o tempo para a obteno e criao de novas instncias de servidor por pouco tempo, permitindo a mudana de escala conforme necessrio.(ELSENPTER; VELTE, A.; VELTE ,T., 2011).
6

Abreviao de World Wide Web, so sistemas de hipermdia executados atravs da internet.

18

AMIs(Amazon Machine Imagens) disponveis no quick start do EC2 Basic 32-bit Amazon Linux AMI 2011.09 (AMI Id: ami-7f418316) Amazon Linux AMI 2011.09, EBS boot, 32-bit architecture with Amazon EC2 AMI Tools. Root Device Size: 8 GB Basic 64-bit Amazon Linux AMI 2011.09 (AMI Id: ami-7341831a) Amazon Linux AMI 2011.09, EBS boot, 64-bit architecture with Amazon EC2 AMI Tools. Root Device Size: 8 GB Red Hat Enterprise Linux 6.1 32 bit (AMI Id: ami-3ddb1954) Red Hat Enterprise Linux version 6.1, EBS-boot, 32-bit architecture. Root Device Size: 6 GB Red Hat Enterprise Linux 6.1 64-bit (AMI Id: ami-31d41658) Red Hat Enterprise Linux 6.1, EBS-boot, 64-bit architecture. Root Device Size: 6 GB SUSE Linux Enterprise Server 11 32-bit (AMI Id: ami-e0a35789) SUSE Linux Enterprise Server 11 Service Pack 1 basic install, EBS boot, 32-bit architecture with Amazon EC2 AMI Tools preinstalled; Apache 2.2, MySQL 5.0, PHP 5.3, Ruby 1.8.7, and Rails 2.3. Root Device Size: 15 GB SUSE Linux Enterprise Server 11 64-bit (AMI Id: ami-e4a3578d) SUSE Linux Enterprise Server 11 Service Pack 1 basic install, EBS boot, 64-bit architecture with Amazon EC2 AMI Tools preinstalled; Apache 2.2, MySQL 5.0, PHP 5.3, Ruby 1.8.7, and Rails 2.3. Root Device Size: 15 GB Microsoft Windows Server 2008 Base (AMI Id: ami-92ba43fb) Microsoft Windows 2008 R1 SP2 Datacenter edition and 32-bit architecture. Root Device Size: 30 GB Microsoft Windows Server 2008 R2 Base (AMI Id: ami-1cbd4475) Microsoft Windows 2008 R2 SP1 Datacenter edition and 64-bit architecture. Root Device Size: 35 GB Microsoft Windows Server 2008 R2 with SQL Server Express and IIS (AMI Id: ami-42bd442b) Microsoft Windows Server 2008 R2 SP1 Datacenter edition, 64-bit architecture, Microsoft SQLServer 2008 Express, internet Information Services 7, ASP.NET 3.5. Root Device Size: 35 GB Microsoft Windows Server 2008 R2 with SQL Server Standard (AMI Id: ami-a76aa9ce) Microsoft Windows Server 2008 R2 SP1 Datacenter edition, 64-bit architecture, Microsoft SQL Server 2008 R2. Root Device Size: 35 GB Cluster Instances HVM SUSE Linux Enterprise 11 (AMI Id: ami-e4a7558d) SUSE Linux Enterprise Server 11 Service Pack 1, 64-bit architecture, and HVM based virtualization for use with Amazon EC2 Cluster Compute and Cluster GPU instances. Nvidia driver installs automatically during startup. Root Device Size: 10 GB Cluster Instances Amazon Linux AMI 2011.09 (AMI Id: ami-df4183b6) Amazon Linux AMI 2011.09, and HVM-base virtualization for use with Amazon EC2 Cluster Instances. Includes Nvidia GPU driver and CUDA toolkit. Root Device Size: 8 GB Microsoft Windows 2008 R2 64-bit for Cluster Instances (AMI Id: ami-c7d81aae) Microsoft Windows 2008 R2 SP1, 64 bit architecture, for use with Cluster Instances. Includes Nvidia GPU driver. Root Device Size: 30 GB Microsoft Windows 2008 R2 SQL Server 64-bit for Cluster Instances (AMI Id: ami-33a96b5a) Microsoft Windows 2008 R2 SP1, 64 bit architecture, with SQL Server, for use with Cluster Instances. Includes Nvidia GPU driver. Root Device Size: 35 GB

QUADRO 2 - Instncias disponveis para incio rpido no EC2. FONTE: AMAZON, 2011.

19

De acordo com a escolha do cliente o EC2 poder executar sistemas de ambientes livres ou proprietrios. O QUADRO 2 demonstra os sistemas operacionais que pode ser instanciados no EC2. No gerenciamento do EC2 tem-se a pagina de instncia onde o usurio poder iniciar uma nova instncia como as que esto relacionadas no QUADRO 2 ou ver detalhes de outras instncias iniciadas anteriormente, conforme a FIGURA 6:

FIGURA 6 - Detalhamento da descrio de uma instncia no servio EC2 da Amazon. FONTE: AMAZON, 2011.

Na descrio, informaes sobre a instncia so mostradas, informaes alm das apresentadas na relao das instncias conforme FIGURA 7. Essas informaes so de grande importncia, a exemplo temos o IP elstico vinculado a instncia, esse endereo IP poder ser utilizado para que a instncia seja acessada externamente via SSH ou atravs de algum servio iniciado na instncia, como um servidor de pginas por exemplo. Alm do detalhamento uma instncia monitorada, conforme apresentado na FIGURA 8.

20

FIGURA 7 - Instncia relacionada no painel de gerenciamento. FONTE: AMAZON, 2011.

FIGURA 8 - Detalhamento do monitoramento de uma instncia no EC2. FONTE: Amazon, 2011.

5.5.3 Plataforma como servio PaaS Diferente de software como servio, onde o cliente pode prover um carto de crdito e comear a utilizao do servio, tanto Plataforma como Servio e Infraestrutura como Servio necessitam de pessoal de Tecnologia da Informao envolvido para publicar e gerenciar os aplicativos. Plataforma como servio um recurso de nuvem que fornece uma plataforma de aplicativos ready-to-run(prontos para execuo). (SOLIDQ, 2010) A SolidQ(2010) afirma que alguns analistas subdividem o conceito de PaaS em PaaS aberto e PaaS fechado. PaaS aberto o PaaS que usa plataforma padro, permitindo a movimentao de uma aplicao de um servio PaaS para outro. O Windows Azure e outras plataformas como o Heroku podem ser considerados PaaS abertos. PaaS fechado proprietrio ou de nica plataforma. O PaaS oferecido pela salesforce.com, o Force.com exemplo de PaaS fechado. Ele possui um ambiente de desenvolvimento nico que cria uma facilidade para o

21

desenvolvimento de aplicaes que integram com o CRM da salesforce.com e outros SaaS oferecidos. 5.5.3.1 Exemplos de PaaS Os servios apresentados a seguir so alguns exemplos de utilizao da computao em nuvem que utilizam o conceito de plataforma como servio escolhidos para apresentao por sua popularidade, esses servios visam demonstrar o funcionamento de uma plataforma como servio, no havendo qualquer promoo da empresa que oferece o servio, dessa forma os servios foram classificados alfabeticamente. 5.5.3.1.1 Force.com O force.com de graa para aplicaes simples de at 100 usurios, 10 objetos de banco e 1GB de armazenamento. Sua verso empresarial com usurios ilimitados, 200 objetos de bancos de dados e 20MB de dados por usurio e acesso a contas e clientes no CRM de U$$50,00 por usurio/ms. Para um sistema com 200 usurio pode-se chegar a U$$10.000 por ms, fazendo o Force.com ser o mais caro entre Azure, Heroku ou Amazom Web Services.(SOLIDQ, 2010). A force.com utiliza uma linguagem prpria chamada Apex, semelhante a linguagem Java, alm da linguagem a plataforma tambm oferece a opo de criar aplicativos visualmente, integrando os recursos disponveis na plataforma. Na FIGURA 9 vemos a tela da Force.com, onde em destaque tem-se a opo para adicionar um aplicativo.

22

FIGURA 9 - Tela inicial onde possvel iniciar a criao de aplicativos. FONTE: FORCE.COM,2011

5.5.3.1.2

Google App Engine O Google App Engine permite aos desenvolvedores criarem seus

aplicativos web utilizando a infraestrutura do Google. desenvolvedores podem realizar tarefas como:

Com a soluo

Criar o cdigo e implant-lo de uma vez: prover e configurar vrios computadores para aplicaes web e armazenar dados acaba sendo caro e demorado para a maioria das empresas. O Google App Engine torna mais fcil a implementao de aplicaes web fornecendo dinamicamente recursos computacionais de acordo com o necessrio.

Absoro de picos de trfego: Caso um aplicativo apresente picos de acesso, o aumento sbito de trfico pode prejudicar a prpria aplicao e outras que compartilhem o mesmo ambiente, independente do tamanho da aplicao o Google App engine facilita a escala de um para um milho de usurios.

Fcil integrao com outros servios do Google: no necessrio nem produtivo para os desenvolvedores criar componentes de autenticao de email a partir do zero a cada nova aplicao. Os desenvolvedores que utilizam o Google App Engine tem a possibilidade de utilizar componentes que acompanham o aplicativo e tambm a biblioteca externa do Google de

23

APIs que fornecem funcionalidades rpidas de recursos simples, mas importantes. (ELSENPTER; VELTE, A.; VELTE ,T., 2011) O Google App Engine oferece uma cota gratuita para desenvolvedores que querem testar a plataforma e uma verso paga que oferece nvel de SLA7, apoio operacional, escalabilidade infinita entre outras funcionalidades dependendo do plano que for adquirido. O QUADRO 3, QUADRO 4, QUADRO 5 e o QUADRO 6 demonstram planos, preos e recursos do Google App Engine.

QUADRO 3 - Opes de planos do Google App Engine FONTE: GOOGLE, 2011.

QUADRO 4 - Ferramentas oferecidas pelo Google App Engine nos servios livre, pago e premier, respectivamente. FONTE: GOOGLE, 2011.

Service Level Agreement (Acordo de Nvel de Servio).

24

QUADRO 5 - Valores de hospedagens no Google App Engine. FONTE: GOOGLE, 2011.

QUADRO 6 - Servios e valores de utilizao de APIs no Google App Engine. FONTE: GOOGLE, 2011.

A plataforma Google App Engine tambm oferece um painel para monitoramente das aplicaes ativas mantendo basicamente a mesma interface para o plano de avaliao e para o plano pago. O GRFICO 3 demonstra o status de uma determinada aplicao, apresentando a quantidade de requisies por segundo no grfico possvel aumentar o diminuir o perodo para construo do grfico.

25

GRFICO 3 - Grfico disponivel no Painel de Monitoramente do Google App Engine representando o nmero de requisies por segundo nas ultimas 6 horas. FONTE: GOOGLE, 2011.

O controle de uma aplicao no Google App Engine oferece os status de cada recurso disponvel, a carga atual com a quantidade de requisio por URI e a representao percentual de quanto o recurso utilizou a CPU comparando com a utilizao total da aplicao, apresentado um quadro de erros e nmeros de instncias da aplicao. Alm de outros recursos de dados no painel so apresentados grficos com a taxa de utilizao das tabelas da aplicao. Algumas das visualizaes que facilitam o gerenciamento de uma aplicao no Google App Engine podem ser vistas nos QUADRO 7 e QUADRO 8 e no GRFICO 4 .

QUADRO 7 - Utilizao diria de uma aplicao no Google App Engine FONTE: GOOGLE, 2011.

QUADRO 8 - Status de cada recurso disponvel por URI no painel do Google App Engine. FONTE: GOOGLE, 2011.

26

GRFICO 4 - Percentuais de utilizao de uma das tabelas e seus respectivos campos de uma determinada aplicao no Google App Engine. FONTE: GOOGLE, 2011.

5.5.3.1.3

Windows Azure O Windows Azure uma plataforma para compilar, hospedar, gerenciar,

escalonar e distribuir aplicativos e servios web por meio de datacenters da Microsoft. Segundo a Microsoft o Windows Azure um servio operacional disponvel como um servio. O servio fornece uma malha de computao em nuvem que est hospedada em centros de dados da Microsoft. Windows Azure trata-se de um grupo de tecnologias em nuvem, onde casa uma fornece uma srie de servios especficos aos desenvolvedores.(Microsoft, 2009). A FIGURA 10 mostra os componentes da plataforma.

27

FIGURA 10 - Composio da plataforma Windows Azure. FONTE: MICROSOFT, 2009.

Segundo a Microsoft(2009) os componentes esto distribuidos em quatro partes : Windows Azure: Ambiente Windows usado para execuo de aplicativos e armazenamento de dados. SQL azure: servio de dados em relacionais na nuvem que tm como base o SQL Server. Windows Azure AppFabric: servio de infraestrutura baseado em nuvem usado para aplicativos em execuo na nuvem ou local. Windows Azure Marketplace: servio usado para aquisio de aplicativos e dados em nuvem. Segundo a SolidQ(2010) o Windows Azure pr carregado com ,Net Framework 3.5 e 4.0 o que facilita a publicao de aplicativos ASP.NET dentro do Azure diretamente de dentro do Visual Studio 2010. Azure tambm permite Fast CGI, so aplicativos que no necessitam do Web Server e linguagens no .Net como o PHP. Azure custa 12 cents por hora para uma simples instancia de uma pequena Web Role, sendo U$$86.40/ms. A mnima configurao realstica de duas instncias para um Web Server para tolerncia a falhas, sendo o custo de U$$173 por ms. SQL Azure database custa U$$9,99 por GB por ms. O Azure possui ainda um servio de armazenamento custando 15 cents por GB por ms. Aplicaes que possuem utilizao pesada e alto processamento ter que utilizar mais instncias de computadores. Na FIGURA 11 possvel visualizar a tela inicial do gerenciador do Windows Azure.

28

FIGURA 11 - Tela inicial do portal de gerenciamento do Windows Azure. FONTE: MICROSOFT, 2011.

5.5.4 Software como servio SaaS Ao pensar em computao em nuvem o primeiro item que vem que vem a mente o software como servio. Em software como servio a aplicao hospedada por um fornecedor e acessada via internet conforme representado na FIGURA 12. (ELSENPTER; VELTE, A.; VELTE ,T., 2011)

FIGURA 12 - Fornecimento de aplicaes atravs da computao em nuvem. FONTE: Arquivo do Autor.

29

Software como servio a camada mais alta do modelo de computao em nuvem. SaaS so servios prontos para serem utilizados pelo usurio final. Em geral o usurio no tem controle sobre a insfraestrutura, e o mesmo utiliza o software apenas como um servio, no tendo acesso a outras configuraes do tipo, localizao do aplicativo, configurao de servidor, configurao de rede, etc. (BROBERG; BUYYA; GOSCINSKI, 2011) Uma caracterstica forte do SaaS que no h exigncia de que o software fique do lado do cliente. Todos os dados manipulados so mantidos em infraestruturas remotas, onde todo o processamento ocorre. Uma das vantagens importantes da camada SaaS a acessibilidade universal e independentemente da disponibilidade do sistema do cliente o software continuar acessvel. Este regime prev flexibilidade para o usurio final e transparncia de qualquer mecanismo complexo envolvido. (BROBERG; BUYYA; GOSCINSKI, 2011) SaaS foi a rea da computao em nuvem que mais se desenvolveu, isso aconteceu por sua caracterstica bsica de atender os usurios finais. Quando a web iniciou no passou muito tempo e aplicaes comearam a surgir e com a web 2.0 aplicaes e modelos de desenvolvimento se tornaram mais dinmicos, fazendo com que o conceito de software como servio pudesse sem implementado na web. 5.5.4.1 Exemplos de SaaS A seguir alguns exemplos de solues que utilizam amplamente o software como servio. 5.5.4.1.1 Google Apps O Google Apps trata-se de um conjugado de aplicaes que inclui alguns servios conhecidos do Google como o Gmail, Google Agenda, o Google Talk, o Google Docs o Sites Google e outros para serem utilizados principalmente nas pequenas e mdias empresas. O Google Apps oferece trs tipos de planos, o Google Apps gratuito, a verso para empresas e a verso para educao. A FIGURA 13 apresenta a comparao dos recursos que compem cada uma das solues do Google Apps.

30

FIGURA 13 - Comparativo dos planos do Google Apps. FONTE: GOOGLE, 2011.

Segundo o Google(2011) os aplicativos de mensagens e colaborao no necessitam de hardware ou software e exigem pouca manuteno, gerando assim economia de tempo e custos para empresas, alm disso os usurios podem utilizar o Microsoft outlook para e-mails, contatos e agenda enquanto fazem a transio para o gmail e o Google agenda. Alm da possibilidade de conexo com o outlook o Google Apps permite que os funcionrios mantenham a produtividade, mesmo quando estiverem fora do escritrio atravs do acesso via dispositivos mveis como o Black Barry, Iphone, Windows Mobilie, Android e em outros telefones com menos recursos, o QUADRO 11 demonstra os recursos oferecidos pelo Google Apps que podem ser acessados pelas principais plataformas de telefone do mercado.

31

QUADRO 9 - Servios e disponveis para acesso mvel relacionados com as plataformas aceitas pelo Google Apps. FONTE: GOOGLE, 2011

Alm dos aplicativos conhecidos do Google(Gmail, Google Agenda, Tarefas, Google Talk, Google Docs e Sites Google) o servio oferece a possibilidade de vincular outros aplicaes a ele, disponveis para serem adquiridas atravs do Google Marketplace. Os servios so vinculados a conta do Google Apps e podem acessar os dados dela, como contatos, dados de calendrio, arquivos do docs e qualquer dado que seja autorizado pelo usurio e importante dizer que o acesso aos dados da conta e de usurios podem ser revogados a qualquer momento pelo administrador. Um exemplo de servio que pode ser adquirido atravs do Google Marketplace o Box.net que um gerenciador de documentos e mdia, online. Fornece sincronizao de arquivos com o Google Docs e com o desktop. O Google Apps fornece uma integrao com o Google App Engine, onde aplicaes feitas no Google App Engine so vinculadas facilmente atravs do ID da aplicao, para serem acessadas via Google Apps com a opo de personalizao de URL8. A FIGURA 14 demonstra as opes para adicionar aplicaes ao Google Apps.

Uniform Resource Locator (Localizador padro de recursos), o endereo de um recurso para que possa ser acessado via internet ou rede local.

32

FIGURA 14 - Painel para adicionar aplicaes ao Google Apps. FONTE: GOOGLE APPS, 2011.

5.5.5 Bases de dados como servio DaaS Taurion(2009) afirma que hoje em dia bancos de dados so essenciais para qualquer negcios. comum vermos empresas com diversos bancos de dados e diversos sistemas de gerenciamento de banco de dados(SGBDS). Cada banco operante traz um aumento nas atividades de gesto, que envolvem integrao, disponibilidade, segurana e desempenho adequados. E em consequncia a isso os custos aumentam. Manter banco de dados para muitas empresas consome grande parte do oramento, privando o setor de TI de focar no cerne do negcio. Diante do contexto, natural que a computao em nuvem seja uma alternativa a problemtica dos banco de dados. O tempo que os profissionais de dados gastam com reaes a tarefas sem parada de banco de dados, copia dos dados, criao de bases, clone e muito alto, para minimizar esse tempo aplicado o conceito em que o usurio pode simplesmente capturar um banco de dados conforme necessrio, criando assim um auto atendimento para aquisio de bases de dados. Com o conceito desenvolvedores no precisam mais ficar esperando muito tempo para que tenha uma base de dados desenvolvimento/teste funcionando, pois eles mesmos solicitam e provisionam os recursos automaticamente.(IBM, 2011). O DaaS tambm conhecido como DBaaS (Data Base as a Service). 5.5.6 Backup como servio BaaS Taurion(2009) diz que backup um problema para a maioria das empresas, principalmente para pequenas mdias, que tm uma quantidade reduzida de tcnicos, assim no conseguem manter de forma eficaz um sistema especfico. Outro ponto que dificulta o backup que eles consomem capital visto

33

que para efetuao de um backup so necessrios softwares especficos e mdia especifica, tambm demanda um elaborado processo de gerenciamento. Muitas das pequenas medias empresas no tem processos adequados de proteo e recuperao dos dados de seus computadores. Tambm no conseguem gerenciar outros escritrios menores visto que nesses locais muitas vezes no tem um tcnico qualificado. Isso gera uma grande oportunidade para utilizao da computao em nuvem. 5.6 Tipos de Nuvens Segundo a IMB (2009), a computao em nuvem dividida em trs tipos principais de nuvem, pblica, privada e hibrida, conforme representado na FIGURA 15 .

FIGURA 15 - Tipos de nuvem. FONTE: IBM, 2009.

5.6.1 Nuvem Pblica Uma nuvem pblica oferecida por terceiros. Os recursos que uma nuvem pblica oferece so compartilhados por diversos usurios e alocados dinamicamente entre eles. Mesmo com essa utilizao compartilhada de recursos se for levado em considerao, por quem implementa a soluo, questes como desempenho, segurana e disponibilidade, a existncia de outras aplicaes sendo executadas na mesma nuvem no percebida por outros usurios. (CHIRIGATI, 2011) Um dos ganhos com uma nuvem pblica que na maioria das vezes ela muito maior do que uma nuvem privada, visto que existe uma maior capacidade de

34

recursos para serem escalveis. Essa questo evita a aquisio de equipamentos adicionais para solucionar necessidades temporrias, na nuvem pblica riscos com aquisio, instalao e manuteno da intraestrutura so por conta do prestador do servio na nuvem. Ainda sim existe a possibilidade de alocar pores da nuvem pblica para a utilizao exclusiva de um nico usurio, criando um data center privado virtual, que prove ao usurio do servio maior visibilidade da infraestutura que dispe. (CHIRIGATI, 2011) 5.6.2 Nuvem Privada Mesmo com a diviso em SaaS, PaaS e IaaS, a computao em nuvem se dividiu. Embora inicialmente a nuvem se referisse a software acessado atravs de internet/Web pblica, as empresas rapidamente perceberam que poderiam ser configurados internamente ambientes com caractersticas de nuvem: implantao autnoma com base em rede e capacidade flexvel. Essas nuvens nas empresas acabaram sendo chamadas de nuvens privadas.(ORACLE, 2009). Segundo a ORACLE(2009), tanto nuvens pblicas quanto privadas preservam as mesmas vantagens essncias de: Eficincia; Alta disponibilidade; Capacidade flexvel; Benefcios esses que so derivados da virtualizao e de grades computacionais, tecnologias bases para a cloud computing, obtendo alta utilizao dos servidores fsicos compartilhado, disponibilidade do cluster atravs de diversos servidores fsicos e a capacidade flexvel proveniente da habilidade de

redimensionar de forma dinmica os clusters e migrar ns de clusters em tempo real para diferentes servidores fsicos. Segundo pesquisa feita pela IBM em 2010 em um estudo com 110 implementaes de computao em nuvem o principal inibidor para aquisio de um servio em nuvem pblica a segurana. 5.6.3 Nuvem Hibrida Uma nuvem hibrida utilizam o modelo pblico e privado. A vantagem disso a possibilidade de que uma nuvem privada tenha a ampliao de seus

35

recursos partindo de uma reserva de recursos de uma nuvem pblica. Isso faz com que o nvel de servio seja mantido, evitando lentido ou indisponibilidade dos servios. Tambm possvel fazer com que tarefas que so implementadas em uma nuvem pblica realize a conexo com a nuvem privada. (CHIRIGATI, 2011) Em uma nuvem hibrida h uma complexidade no que diz respeito a determinao de como aplicaes sero distribudas entre as nuvens pblicas e privadas, por exemplo, deve-se considerar a relao entre os dados e o processamento. Uma aplicao com uma grande quantidade de dados, ter seu processamento feito em uma nuvem pblica pode gerar um custo elevado devido a grande quantidade de dados que sero enviados. (CHIRIGATI, 2011) Segundo a IBM (2009), a principal desvantagem dessa nuvem exatamente a dificuldade de controlar efetivamente a soluo, visto que, os servios so obtidos de diferentes origens e oferecidos como se estivessem em um nico local com isso a interao entre componentes pblicos e privados podem tornar a implementao mais complicada. Na computao em nuvem o conceito de nuvem hibrida e relativamente novo, boas prticas e ferramentas continuam a surgir, o que ir melhorar gradativamente a aceitao do modelo. 5.7 Segurana A segurana o principal problema em ambientes pblicos ou compartilhados, onde quem prove o servio na nuvem precisa garantir a privacidade e conformidade dos dados, conforme apresentado no GRFICO 5 a segurana um dos principais inibidores para aquisio da computao em nuvem. Uma troca de dados segura e eficiente so as preocupaes principais com a segurana. O gerenciamento de imagens importante em nuvens privadas e pblicas, visto que imagens esto se tornando o objeto principal de implantao em centro de dados, como uma maneira de contornar os problemas de instalao. Dessa forma as organizaes precisam de um modo para organizar, proteger, gerenciar e utilizar imagens em todas as plataformas virtualizadas de maneira excalvel. Logo que implantadas a organizao precisa de um modo para gerenciar as imagens virtuais, monitorando, atualizando, rastreando, gerenciado mudanas e auditando.(IMB, 2011).

36

GRFICO 5 - Principais inibidores para adoo de computao em nuvem. FONTE: IBM, 2010

5.8

Estudos de caso Como estudo de caso foram utilizados trs servios de computao em

nuvem cada um deles abrangendo um dos trs principais modelos de servios, Infraestrutura como servio, Plataforma como servio e Software como servio. 5.8.1 Utilizao da Infraestrutura EC2 da Amazon - IaaS Na seo 5.5.2 temos uma viso geral do servio do Elastic Compute Cloud citando algumas informaes fornecidas pela empresa Amazon, a seguir veremos um exemplo prtico da utilizao do servio, passando pela contratao dos servios, inicializao de uma imagem, ativao e utilizao dos servios, onde ser hospeda uma pgina de internet como exemplo. O primeiro passo realizado para contratao do servio foi a criao de uma conta na Amazon Web Services atravs do endereo

http://aws.amazon.com/ec2/, clicando em Create an AWS Account foi apresentada uma tela para identificao de usurio cadastrado ou no, onde foi selecionada a opo I am a new user(Eu sou um novo usurio) conforme pode ser visto na FIGURA 16, em seguida foi clicado no boto com a descrio Sign in using our secure server(Entrar usando o nosso servidor seguro).

37

FIGURA 16 - Tela para identificao do tipo de usurio. FONTE: Arquivo do autor.

Aps a identificao do tipo de usurio foi preenchido um formulrio para criao para criar as credenciais de login conforme FIGURA 17, aps o preenchimento foi clicado em Continue.

FIGURA 17 - Formulrio para criao de credenciais de login no Amazon Web Services. FONTE: Arquivo do autor.

Aps o preenchimento das informaes de credenciais solicitado pela Amazon o preenchimento do formulrio de informaes de contato, conforme pode ser visto na FIGURA 18, aps o preenchimento foi clicado no boto com a descrio continue.

38

FIGURA 18 - Formulrio para preenchimento das informaes de contato. FONTE: Arquivo do autor.

Em seguia foi solicitada as informaes para cobrana, conforme FIGURA 19. possvel a criao da conta na Amazon Web Services sem o preenchimento das informaes de pagamento, mas para a utilizao dos servios como o EC2 o preenchimento necessrio. A cobrana feita apenas atravs de carto de crdito, podendo o usurio optar por Amazon.com visa, Americam Express, Diners Club, Discover, JCB, MasterCard e Visa. Para contratao dos servios foi utilizado um carto MasterCard internacional vlido.

39

FIGURA 19 - Formulrio de informaes para cobrana. FONTE: Arquivo do autor.

A Amazon d cerca de cinco minutos para o preenchimento de cada formulrio, se o formulrio no for preenchido em tempo hbil solicitado que seja feito o login. Aps o preenchimento dos todos de cobrana foi feita a confirmao e verificao atravs de um email enviado pela Amazon para o email que foi fornecido no momento do cadastro e a conta foi criada. Com a conta criada, atravs do endereo http://aws.amazon.com/ clicando em Sign in to the AWS Management Console (Entrar no console de gerenciamento AWS) foi realizado o login utilizando o cadastro realizado. Aps o login (FIGURA 16), foi apresentada a tela de gerenciamento do EC2 onde h a opo para criao de uma nova instncia, como pode ser visto na FIGURA 20, para iniciar uma nova instncia deve-se selecionar uma regio dentre as opes, US East (Virginia), US West (Orgon), US West (N. California), EU West (Ireland), Asia Pacific (Singapore) e Asia Pacific (Tokio), essas regies se tratam da localizao geogrfica onde o servidor ser instnciado, para esse estudo de caso foi selecionada a regio US East (Virginia). Aps a seleo da regio foi clicado no boto com a descrio, Launch Instnce (Iniciar Instncia).

40

FIGURA 20 - Interface de gerenciamento do EC2 para criao e gerenciamento de instncias. FONTE: Arquivo do autor. Ao clicar no boto Launch Instnce apresentada a tela para seleo de instncias conforme instncias conforme FIGURA 21 (para visualizar todas as instncias pr definidas disponibilizadas pela Amazon, consulte o QUADRO 2 - Instncias disponveis para incio rpido no EC2. FONTE: AMAZON, 2011.

). Para o esse estudo de caso foi selecionada a primeira AMI (Amazon Machine Image), cuja a descrio Basic 32-bit Amazon Linux AMI.

FIGURA 21 - Tela de selao rpida de AMI. FONTE: Arquivo do autor.

Aps a seleo a instncia foi apresentada a tela para detalhamento da instncia, conforme pode ser visto na FIGURA 22. No campo Number of Instances definido a quantidade de AMIs sero instanciadas com essa mesma configurao, no campos Instance Type selecionado o tipo de instncia que para este caso oferecido trs tipos de instncias que podem ser vistas no

41

QUADRO 10.

Para o inicializao da instncia, pode-se apenas execut-la diretamente com o nmero de instncias e o tipo definido ou configurar alguns requisitos para a inicializao da instncia, visto que a capacidade da instncia alterada automaticamente medida em que a instncia demandada e com isso tambm alterado o valor por hora que se paga, no campo Max Price definido o preo mximo que se est disposto a pagar pela instncia por hora de utilizao, definindo um preo mximo a instncia ser executada apenas enquanto o preo for menor ou igual ao definido. Nos campos Requesr Valid From e Requesr Valid From so definidos, respectivamente o periodo de incio e fim da instncia, tambm pode ser definido o grupo de execuo da instncia em que a instncia ser iniciada juntamente com todas que estiverem no grupo. Tambm pode ser especificado um Grupo Zona disponibilidade que garante instncias sero lanados juntas em uma zona Disponibilidade nica, a Opo Persistente Request garante que se a instncia for finalizada pelo usurio ou pela Amazon, ela ser iniciada automaticamente novamente com os mesmos parmetros. Para este caso foi iniciada uma instncia do tipo Micro, sem a configurao de requisitos para a inicializao, selecionando a opo Launch Instnces e clicando em continue.

42

FIGURA 22 - Tela para definio dos detalhes da instncia. FONTE: Arquivo do Autor.

QUADRO 10 - Tipos de instncias para a AMI Basic 32-bit Amazon Linux. FONTE: Arquivo do autor

Em seguida foi apresentada a tela para configurao das opes avanadas do detalhamento da instncia, conforme FIGURA 23. Nesta tela so apresentados os campos de Kernel ID e Ram Disk ID Amazon EC2 fornece kernels selecionvel pelo usurio que permite que voc selecione um kernel quando um agrupamento AMI ou o lanamento de uma instncia. Kernels selecionvel pelo usurio so teis para manter suas instncias atualizados com correes de segurana e atualizaes, sendo capaz de usar a funcionalidade fornecida por novas distribuies, e para utilizar aplicaes especiais que possuem requisitos de tempo nico.(AMAZON, 2011). A opo monitoring abilita um monitoramento mais detalhado da instncia, no campo user data so preenchidos os dados do usurios atravs de um texto digitado ou arquivo, a opo Termination Protection ativa a preveno contra o encerramento acidental e a opo Shutdown Behavior define o

43

que far com a instncia se a mesma for desligada internamente, tendo duas opes parar a instncia ou termin-la definitivamente. Para este caso foram usadas as configuraes pr definidas pela Amazon e em seguida foi clicado no boto continue.

FIGURA 23 - Opes avanadas no detalhamento da instncia. FONTE: Arquivo do autor.

Na tela seguinte temos a possibilidade de definir tags (etiquetas) para a instncia, a criao de etiquetas facilita a organizao de identificao das instncias, principalmente de existe uma grande quantidade com objetivos diversos, para cada instncia possvel adicionar no mximo dez tags, para este caso foram definidas trs tags conforme FIGURA 24.

44

FIGURA 24 - Tela para criao de etiquetas para a AMI. FONTE: Arquivo do autor.

Aps a definio das tags apresentada um tela para criao de uma chave, usar uma chave existente ou prosseguir sem chave, conforme FIGURA 25. A chave utilizada para acesso a instncia fora do console de gerenciamento da Amazon. A opo para continuar s ativada aps a definio da chave, para este caso foi criada uma nova chave de acesso selecionando a opo Create a new Key Pair e clicando em Create & Download your Key Pair, clicando nessa opo a chave foi gerada juntamente com um arquivo para donwload com a extenso .pem, que neste caso ser utilizado para acessar o servidor remotamente usando SSH, a Amazon recomenda que este arquivo seja salvo em um local em que o usurio lembre, para evitar a perda da chave, dificultando assim o acesso.

45

FIGURA 25 - Tela para criao de chave de acesso. FONTE: Arquivo do autor.

Aps a criao da chave solicitada que seja feita a configurao do firewall, onde so apresentadas as opes para selecionar as regras de um grupo ou criar um novo grupo de segurana, nos grupos de segurana definido quais portas da instncia podero ser acessadas, podendo personalizar a porta ou selecionar um servio pr definido . Neste exemplo foi criado um novo grupo de segurana com quatro portas liberadas para acesso, conforme FIGURA 26. O nome dado ao novo grupo de segurana foi Servidor HTTP, com a seguinte descrio: Portas liberadas: 80,22,21,443. Aps a definio do grupo de segurana foi clicado em Continue.

46

FIGURA 26 - Tela de configurao de um novo grupo de segurana. FONTE: Arquivo do autor

Com toda a configurao feita fornecido um resumo da instncia, com a possibilidade de alterao de cada um dos detalhes, conforme FIGURA 27. Confirmado todos os detalhes da instncia e feita a solicitao de execuo da AMI, clicando em Launch.

47

FIGURA 27 - Reviso da configurao da instncia. FONTE: Arquivo do autor.

A instncia escolhida demorou cerca de trinta segundos pra iniciar aps a inicializao apresentada a pgina com a relao das instncias iniciadas com seus respectivos status, grupos de segurana, nome da chave, tipo de monitoramento e outras diversas informaes e detalhamentos como pode ser visto na FIGURA 28.

48

FIGURA 28 - Relao das instncias disponveis no console de gerenciamento do EC2. FONTE: Arquivo do autor.

Com a instncia iniciada foi realizada a aquisio de um endereo IP(internet Protocol) que ser utilizado para facilitar o acesso remoto. Para criar um endereo de IP, chamado de Elastic IP pela Amazon por sua caracterstica de ser atribudo a qualquer instncia que esteja em execuo. Para criar um Elastic IP foi clicado, dentro da guia Navigation em Elastic IPs na rea NETWORK & SECURITY, em seguida foi clicado na opo Allocatte New Address apresentando a tela para confirmao de alocao, conforme FIGURA 29. Para este caso foi criado o IP 107.20.136.40.

49

FIGURA 29 - Caixa para confirmao de alocao de endereo IP. FONTE: Arquivo do autor.

Aps criado o IP aparecer na lista de endereos. Para associar o IP instncia foi clicado em Associete Address, com isso solicitando a seleo da infncia que o IP dever ser vinculado, conforme FIGURA 30.

FIGURA 30 - Tela de relao de endereos alocados com tela de associao de instncia em destaque. FONTE: Arquivo do autor.

50

Aps a associao do endereo IP imagem instanciada foi realizado o acesso remoto para instalao e configurao dos servios, para isso foram utilizadas duas ferramentas o Putty9, para acesso via SSH e o Puttygen para converter o arquivo Chave.pem, gerado no momento da criao da chave, para o formato ppk utilizado pelo Putty. O Putty e o Puttygen foram baixados atravs do endereo http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Para gerar a chave de acesso no Puttygen, ops abaixar o programa o mesmo foi executado, sem a necessidade de instalao, foi clicado em Conversions (Converses) e em seguida em Import Key (Importar Chave), aps a importao foi clicado em Generate (Gerar), no momento da gerao da chave foi necessrio ficar deslizando o cursor do mouse na rea abaixo do status de converso, isso faz com que baseado nas coordenadas do mouse seja gerada uma chave nica aps a gerao da chave tem-se a tela conforme FIGURA 31, por segurana parte da chave foi ocultada. Com a chave gerada foi clicado em Save private Key para salvar a chave privada, importante que a chave seja salva em um lugar exclusivo.Para este caso a chave foi salva com o nome Chave.ppk.

PuTTY uma implementao livre de Telnet e SSH para plataformas Windows e Unix, junto com um emulador de terminal.

51

FIGURA 31 - Chave gerada no Puttygen. FONTE: Arquivo do Autor.

Ops salvar a chave no formato ppk, foi executado o programa Putty para realizar o acesso remoto na tela inicial no campo Host Name (or IP address) foi informado o Elastic IP associado instncia no EC2, conforme FIGURA 32. Aps informar o IP foi necessrio vincular a chave criada na categoria Connection>SSH>Auth, clicando em Browse... para buscar a chave no local onde a mesma foi salva, conforme FIGURA 33. Aps a insero da chave foi clicado em Open para iniciar a conexo com o servidor.

52

FIGURA 32 - Tela inicial do Putty, com endereo IP definido. FONTE: Arquivo do autor.

FIGURA 33 - rea para vinculao de chave privada para autenticao na instncia. FONTE: Arquivo do autor.

53

Ao clicar em open a conexo iniciada, foi solicitado o usurio para login que por padro definido pela Amazon o ec2-user aps a identificao do usurio a chave foi importada e a conexo foi iniciada com sucesso, como pode ser visto na FIGURA 34. Em outros testes houve falha na autenticao, onde apresentada uma mensagem de erro conforme FIGURA 35, essa falha foi solucionada editando o arquivo chave.ppk com o programa bloco de notas do Windows, retirando o sinal de igual no final da ultima linha das Public-lines conforme destacado na FIGURA 36. Aps a edio do arquivo o mesmo foi salvo e a conexo foi realizada normalmente.

FIGURA 34 - Console do Putty conectado a uma instncia no EC2. FONTE: Arquivo do autor.

FIGURA 35 - Falha mensagem de erro quando h falha na autenticao. FONTE: Arquivo do autor.

54

FIGURA 36 - Edio de chave ppk. FONTE: Arquivo do Autor.

Conectado instncia foi realizado o comando uname a que retorna algumas informaes sobre o sistema, como pode ser visto na FIGURA 37. Tambm foi realizado o comando ifconfig para obteno das informaes de rede conforme FIGURA 38.

FIGURA 37 - Informaes bsicas sobre o sistema. FONTE: Arquivo do autor.

55

FIGURA 38 - Informaes de rede da instncia. FONTE: Arquivo do autor.

Aps os comandos de teste e verificao da configurao foi realizada a instalao do servidor de pginas de internet Apache atravs do comando yum install httpd. Antes de instalar o Apache foi necessrio passar para o modo root10 do sistema, utilizando o comando sudo su. Para instalao do servidor apresentado uma descrio dos pacotes que sero instalados, seguido da solicitao de confirmao da instalao de todos eles para confirmar a instalao foi pressionado a teclas y e enter para confirmar a instalao aps isso a instalao dos pacotes foi iniciada, conforme FIGURA 40. Aps a instalao feita a inicializao do servidor, atravs do comando service httpd start conforme FIGURA 41, a mensagem com a descrio OK em verde confirma a inicializao do servidor. Todo o processo de instalao e ativao demorou menos de 2 minutos.

10

Modo super usurio no Linux, com privilgios de instalao e modificao de arquivos que o usurio comum no tem.

56

FIGURA 39 - Tela de confirmao para instalao do Apache. FONTE: Arquivo do autor.

FIGURA 40 - Instalao do servidor Apache. FONTE: Arquivo do autor.

FIGURA 41 - Inicializao do servidor de pginas. FONTE: Arquivo do autor.

Na FIGURA 42 tem-se a pgina de teste pr definida pelo servidor, sendo acessada pelo Elastic IP (107.20.136.40) vinculado instncia.

57

FIGURA 42 - Pgina de teste pr definida para o servidor de pginas. FONTE: Arquivo do autor

Para modificao da pgina foi foi utilizado o envio do arquivo HTML11 via FTP12 utilizando o servidor FTP vsftpd. Para instalao do vsftpd foi utilizado o comando yum install vsftpd e em seguida o servidor foi iniciado utilizando o comando service vsftpd start, conforme FIGURA 43. Aps a ativao do servidor FTP, visando acesso restrito s pastas foi criado um usurio e uma senha para o mesmo, utilizando os commandos useradd e passwd, conforme FIGURA 44. Tambm foi editada o grupo da pasta html localizada em /var/www na instncia EC2, utilizando o comando chown diegog /var/www/html, como pode ser visto na FIGURA 45

11

HyperText Markup Language(Linguagem de Marcao de Hipertexto), linguagem utilizada para criao de pginas de internet. 12 File Transfer Protocol (Protocolo de Transferncia de Arquivos), protocolo utilizado para transferncia de arquivos entre computadores utilizando uma rede local ou atravs da internet.

58

FIGURA 43 - Instalao e inicializao do vsftpd. FONTE: Arquivo do autor

FIGURA 44 - Criao de usurio na instncia. FONTE: Arquivo do autor

FIGURA 45 - Grupos das pastas localizadas em var/www da instncia. FONTE: Arquivo do autor.

Definidos o usurio e a permisso da pasta, foi utilizado o programa FileZilla Client, disponvel para download em http://filezilla-project.org/, para acesso via FTP. Ao executar o FileZilla foi feita a configurao de um novo site em Arquivo>Gerenciador de Sites, com as configuraes para acesso ao servidor

59

instanciado, conforme a FIGURA 46. Feitas as configurao de IP e usurio foi clicado em conectar.

FIGURA 46 - Configurao de um novo site para acesso aos diretrios da instncia EC2. FONTE: Arquivo do autor.

Conectado ao servidor ftp da instncia foi realizado o envio da pgina index.html (o cdigo fonte da pgina pode ser visto na FIGURA 47) e da pasta img(imagens da pgina) para a pasta padro do para pginas HTML /var/www/html na AMI, conforme FIGURA 48.

60

FIGURA 47 - Cdigo fonte da pgina enviada para o servidor de pgina. FONTE: Arquivo do autor.

FIGURA 48 - Tela de envio de arquivo para a pasta de pginas HTML da instncia. FONTE: Arquivo do autor.

Ao aps enviar a pgina a mesma pde ser visualizada atravs do endereo IP da instncia e atravs de um domnio vinculado ao servidor conforme pode ser visto na FIGURA 49 e FIGURA 50 respectivamente.

61

FIGURA 49 - Pgina acessada via endereo IP. FONTE: Arquivo do autor.

FIGURA 50 - Pgina sendo acessada via URL de um domnio. FONTE:Arquivo do autor.

62

5.8.2 Utilizao da Plataforma App Engine do Google PaaS Na seo 5.5.3.1.2 tem-se uma viso geral do servio fornecido pelo Google, o Google App Engine, para este estudo foi utilizada a plataforma para criar uma aplicao de cadastro de pessoas que ser executada utilizando parte a infraestrutura do Google. Para a ativao do servio foi vinculada uma conta Google ao App Engine atravs do endereo http://code.google.com/intl/pt-BR/appengine/, clicando em inscreva-se foi utilizada uma conta Google criada anteriormente. Aps a criao da conta apresentada a tela com a lista de aplicaes com a opo de adicionar uma nova aplicao conforme FIGURA 51, limitado a dez aplicaes, visto que, para este caso foi utilizado a verso gratuita do google app engine, para detalhes de preos e outros recursos da verso paga consulte a seo 5.5.3.1.2. Foi clicado na opo Create Application para criar uma nova aplicao.

FIGURA 51 - Lista de aplicaes disponveis na conta do Google App Engine. FONTE: Arquivo do autor.

Aps clicar em Create Application, foi apresentada a pgina para informar os detalhes da aplicao, para a aplicao foi criado um identificador com o nome appcadastroclientes, clicando em Check Availability(chegar disponibilidade) foi verificado se o identificador estava disponvel, para criao do identificador so aceitas apenas letras minsculas. O identificador ser necessrio para acesso a aplicao, tanto para o envio da aplicao, visualizao ou vinculao a um domnio. A aplicao foi criada com o ttulo Cadastro de Clientes. Para as opes de autenticao foi selecionada a opo padro, Open to all Google Accounts users, que significa que todos que tiverem uma conta Google tero acesso a aplicao, existem ainda as opes Restricted to the following Google Apps domain que restringe o acesso a aplicao apenas para usurios de um determinado domnio do Google Apps e em fase experimental a opo Open to all users with an OpenID

63

Provider que d acesso a usurios do OpenID13. Nas opes de armazenamento tambm foi deixada a opo padro High Replication(Alta Replicao) que replicar os dados da aplicao simultaneamente em vrios locais, essa opo acarreta um aumento de latncia, mas uma alta disponibilidade da aplicao, tambm existe a opo Master/Slave(Mestre/Escravo) que deixa apenas um datacenter como mestre para escrever em um determinado momento e a replicao dos dados feita de forma assncrona, com essa opo pode haver perodos de indisponibilidade se houver algum problema no datacenter. A configurao descrita pode ser vista na FIGURA 52. Aps o preenchimento do formulrio para criao da aplicao foi clicado em Create Aplication.

FIGURA 52 - Criao da aplicao no App Engine. FONTE: Arquivo do autor.

Sistema de identificao universal, cria uma identidade nica para acesso a qualquer servio que utilize o protocolo.

13

64

Em seguida apresentada a tela de confirmao de que aplicao foi criada, conforme FIGURA 53.

FIGURA 53 - Confirmao de registro da aplicao appcadastroclientes no Google App Engine. FONTE: Arquivo do autor.

Com a identificao da aplicao registrada foi realizado o envio da aplio para os servidores do Google. Para desenvolvimento da aplicao e envio foi utilizado a ferramenta de desenvolvimento Eclipse14 verso INDIGO que pode ser encontrada em http://www.eclipse.org/downloads/ com a descrio Eclipse IDE for Java EE Developers. Aps baixar e extrair e executar o eclipse, foi realizada a instalao do plugin15 do Google App Engine, que faz o envio do cdigo para o App Engine, atravs do menu em help>Eclipse Marketplace..., Onde foi pesquisado por plugins com a palavra Google, conforme FIGURA 54. Na lista apresentada foi clicado no boto Install do Google Plugin for Eclipse. Em seguida apresentada uma tela para seleo dos recursos conforme FIGURA 55 , nesta tela todos os recursos foram selecionado e em seguida foi clicado no boto Next(Avanar). Aps o aceite dos termos instalao do plugin iniciada, conforme FIGURA 56.

14

Ambiente de desenvolvimento integrado focado no desenvolvimento de ferramentas e aplicaes de software. 15 Programa de computador utilizado para adicionar funcionalidades a autros programas.

65

FIGURA 54 - Lista de plugins disponiveis, entre eles o Google Plugin for Eclipse. FONTE: Arquivo do autor.

66

FIGURA 55 - Lista para seleo de recursos do Google Plugin for Eclipse. FONTE: Arquivo do autor.

FIGURA 56 - Progresso da instalao do Google Plugin for Eclipse. FONTE: Arquivo do autor.

Aps a instalao do plugin o mesmo pde ser visualizado na parte superior do Eclipse, conforme FIGURA 57. Para criao de uma aplicao para o App Engine, foi clicado no boto do plugin do Google(representado pela letra G) e em seguida foi clicado em New Web Application Project...(Novo Projeto de Aplicao Web).

67

FIGURA 57 - Menu do plugin do Google para Eclipse. FONTE: Arquivo do autor.

Ao solicitar a criao de uma nova aplicao apresentada a tela para preenchimento dos detalhes do projeto, para este caso os detalhes foram preenchidos conforme FIGURA 58. Aps o preenchimento foi clicado em Finish (finalizar) e o projeto foi criado conforme estrutura apresentada na FIGURA 59.

68

FIGURA 58 - Criao de um novo projeto no Eclipse atravs do Plugin do Google. FONTE: Arquivo do autor.

69

FIGURA 59 - Estrutura de diretrios da aplicao criada no Eclipse. FONTE: Arquivo do autor.

Aps a criao do projeto foi feita a programao conforme FIGURA 60, FIGURA 61, FIGURA 62, FIGURA 63 e FIGURA 64. A linguagem utilizada para a programao foi Java, utilizando os recursos de servlets16 e JSP17.

16 17

Classe java que envia e recebe dados da camada web. Java Server Pages tecnologia para desenvolvimento de aplicaes web com cdigos Java.

70

package cadcli; import java.util.Date; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class pessoa { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id; @Persistent private String nome; @Persistent private String cpf; @Persistent private String nasc; @Persistent public String usuario; @Persistent private Date date; public pessoa(String nome, String cpf, String nasc, Date diacadastro) { this.nome=nome; this.cpf = cpf; this.nasc=nasc; this.date=diacadastro; } public Long getId() { return id; } public String getNome() { return nome; } public String getCpf() { return cpf; } public String getNasc() { return nasc; } public Date getDate() { return date; } public void setNome(String nome) { this.nome = nome; } public void setCpf(String cpf) { this.cpf = cpf; } public void setNasc(String nasc) { this.nasc = nasc; } public void setDate(Date date) { this.date = date; } } FIGURA 60 - Classe pessoa da aplicao. FONTE: Arquivo do autor.

71

A classe PMF apresentada na FIGURA 61 fornecida pelo Google e necessria para o armazenamento de um objeto cadastrado nos servidores do Google.

package cadcli; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManagerFactory; public final class PMF { private static final PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory("transactions-optional"); private PMF() {} public static PersistenceManagerFactory get() { return pmfInstance; } } FIGURA 61 - Classe PMF da aplicao. FONTE: GOOGLE, 2011

72

package cadcli; import java.io.IOException; //import java.util.logging.Logger; import javax.jdo.PersistenceManager; import javax.servlet.http.*; import java.util.Date; import cadcli.PMF; import cadcli.pessoa; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; @SuppressWarnings("serial") public class CadastroClientesServlet extends HttpServlet { //private static final Logger log = Logger.getLogger(CadastroClientesServlet.class.getName()); public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); String nome = req.getParameter("nome"); String cpf = req.getParameter("cpf"); String nasc = req.getParameter("nasc"); pessoa cliente = new pessoa(nome,cpf,nasc, new Date()); cliente.usuario=user.getNickname(); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(cliente); } finally { pm.close(); } resp.sendRedirect("index.jsp"); } } FIGURA 62 - Servlet CadastroClientesServlet da aplicao. FONTE: Arquivo do autor.

73

<%@page import="java.text.SimpleDateFormat"%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.List" %> <%@ page import="javax.jdo.PersistenceManager" %> <%@ page import="com.google.appengine.api.users.User" %> <%@ page import="com.google.appengine.api.users.UserService" %> <%@ page import="com.google.appengine.api.users.UserServiceFactory" %> <%@ page import="cadcli.pessoa" %> <%@ page import="cadcli.PMF" %> <%@ page import="java.util.Date" %> <html> <body> <% UserService userService = UserServiceFactory.getUserService(); User user = userService.getCurrentUser(); if (user != null) { %> <div style="background-color: #507cd1; width: 15cm;"> <font color="#ffffff"> <h2><%=user.getNickname().toUpperCase()%>! <a href="<%=userService.createLogoutURL(request.getRequestURI())%>"> <img src="img/exit-icon.gif" alt="Sair" align="right" height="30"></img></a></p></font> </div> <% } else { %> <p>Oi! <a href="<%=userService.createLoginURL(request.getRequestURI())%>">Identifique-se</a> </p> <% } %> <fieldset style="width:14cm; background-color: menu;"> <legend>Inserir Cliente</legend> <form action="cadastroclientes" method="post" > <table border=0 > <tr><td>Nome: <input style="margin: 2px 2px 2px 20px" type="text" name="nome" value="" size="45"/></td></tr> <tr><td>CPF: <input style="margin: 2px 2px 2px 30px" type="text" name="cpf" value="" size="20" /></td></tr> <tr><td>Data de Nascimento: <input style="margin: 2px 2px 2px px type="text" name="nasc" value="" size="20" /></td></tr> <tr><td><input type="submit" value="Cadastrar" /></td></tr> </table> </form> </fieldset> <% PersistenceManager pm = PMF.get().getPersistenceManager(); String query = "select from " + pessoa.class.getName()+" ORDER BY date asc"; List<pessoa> pessoas = (List<pessoa>) pm.newQuery(query).execute(); if (pessoas.isEmpty()) { %> <p>Nenhum cliente Cadastradro.</p> <% } else {%> <br> <table border="0" style="background-color: #507cd1;"> <tr><td width="300" ><FONT COLOR="#ffffff">NOME</FONT> <td width="120"><font color="#ffffff">CPF</font></td> <td width="180"><font color="#ffffff">DATA DE NASCIMENTO</font></td> <td width="250"><font color="#ffffff">DATA CADASTRO</font></td> <td width="250"><font color="#ffffff">USUARIO</font></td></tr> </table> <%for (pessoa p : pessoas) { %> <table border="0" style="background-color: #eff3fb"> <tr><td width="300"><%=p.getNome() %></td><td width="120"><%= p.getCpf() %></td> <td width="180"><%= p.getNasc() %></td><td width="250"><%=p.getDate()%></td><td width="250"><%=p.usuario%></td> </tr> </table> <% } %> <% } pm.close(); %> </body> </html>

FIGURA 63 - Pgina inicial feita em JSP. FONTE: Arquivo do autor.

74

<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>CadastroClientes</servlet-name> <servlet-class>cadcli.CadastroClientesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CadastroClientes</servlet-name> <url-pattern>/cadastroclientes</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> FIGURA 64 - Cdigo XML FONTE: Arquivo do autor.
18

para mapeamento da pgina e servlets, nomeado de web.xml.

Feita a programao a estrutura de diretrios do projeto ficou como apresentado na FIGURA 65.

FIGURA 65 - Estrutura de diretrios da aplicao aps todo seu desenvolvimento. FONTE: Arquivo do autor.
18

Extensible Markup Language(Linguagem de marcao extensvel), utilizada para compartilhamento de informaes atravs da internet.

75

Aps todo o desenvolvimento da aplicao foi realizada a implantao do projeto no Google App Engine clicando em Deploy to App Engine..., e em seguida apresentado a tela para implantao, conforme FIGURA 66. Antes de implantar o projeto a aplicao foi vinculada ao identificador da aplicao(appcadastroclientes), clicando em App Engine project settings....

FIGURA 66 - Tela para implantao do projeto no Google App Engine. FONTE: Arquivo do autor.

Ao clicar em App Engine project settings..., a configurao do projeto foi realizada conforme FIGURA 67, nesta tela tambm possvel visualizar as aplicaes existentes clicando no link My applications..., e as verses existentes clicando no link Existing versions... e inserir o nmero da verso que est sendo implantada, criando a possibilidade de navegar entre as verses da aplicao no App Engine. Aps a insero dos detalhes da aplicao, referente ao App Engine, foi realizada a implantao clicando em OK, assim apresentando a progresso da implantao conforme FIGURA 68.

76

FIGURA 67 - Configurao do projeto para o App Engine. FONTE: Arquivo do autor.

FIGURA 68 - Progresso do envio da aplicao para o App Engine. FONTE: Arquivo do autor.

Aps a implantao a aplicao pde ser acessada atravs do endereo http://appcadastroclientes.appspot.com/, como pode ser visto na FIGURA 69.

77

FIGURA 69 - Aplicao sendo executada no App Engine. FONTE: Arquivo do autor.

Na pgina do app engine possivel vincular a aplicao para ser acessada atravs de um domnio do Google Apps, para vincular ao domnio foi acessado a pagina da aplicao no App engine, em seguida em Administration (Administrao) > Application Settings (Configuraes da Aplicao) foi clicado no boto Add domain onde apresentado o campo para incluso do domnio conforme FIGURA 70. Aps a insero do domnio no campos foi clicado no boto Add Domain, para vinculao foi adicionada uma entrada CNAME19 no gerenciador do domnio com o nome cadastro.diegogurgel.com para o destino ghs.google.com. Aps a vinculao e a adio de uma nova URL para a aplicao no Google Apps, feito isso a aplicao pde ser acessada atravs de um nome no domnio conforme FIGURA 71.

19

Abreviao de canonical name, registro utilizado no gerenciador do domnio para atribuir diversos nomes a um mesmo domnio.

78

FIGURA 70 - rea para vinculao de domnio a uma aplicao no Google App Engine. FONTE: Arquivo do autor.

FIGURA 71 - Aplicao sendo acessa atravs do endereo vinculado ao domnio. FONTE:Arquivo do autor.

Com a aplicao ativa foram cadastrados alguns clientes para testar o funcionamento da aplicao, os clientes foram cadastrados normalmente, conforme pode ser visto na FIGURA 72 onde tambm apresentado o nome do usurio que

79

est utilizando a aplicao, onde utilizada a vinculao com a conta Google para que o nome de usurio aparea.

FIGURA 72 - Tela da aplicao com a relao de clientes cadastrados. FONTE: Arquivo do autor.

Alm dos relatrios e status de aplicao apresentados na seo 5.5.3.1.2 possvel visualizar e configurar outros detalhes de uma aplicao especifica. O App engine fornece uma rea para visualizao e manipulao dos dados da aplicao. Para visualizar os dados da aplicao foi acessado atravs do menu do App Engine na rea Data a opo Datastore Viewer, onde apresentada a tela da FIGURA 16, rea possvel adicionar um novo cadastros, selecionar outra tabela, deletar itens selecionados, editar um item e executar comandos QGL20.

20

GQL uma linguagem semelhante a SQL para a recuperao de entidades ou chaves do armazenamento de dados escalonvel do Google App Engine.(Google, 2011).

80

FIGURA 73 - Visualizao de dados da aplicao. FONTE: Arquivo do Autor.

Para testar as funcionalidades do gerenciador de dados foi adicionada uma nova entidade do tipo cliente atravs do gerenciador, conforme FIGURA 74. Aps a adio da entidade os dados podem ser vistos no gerenciador e na aplicao, conforme FIGURA 75 e FIGURA 76 respectivamente.

81

FIGURA 74 - Campos para adio de uma entidade do tipo pessoa. FONTE: Arquivo do autor.

FIGURA 75 - Lista de entidades cadastradas com a apresentao da entidade cadastrada via gerenciador. FONTE: Arquivo do autor.

82

FIGURA 76 Visualizao dos dados da aplicao com a entidade criada via gerenciador. FONTE: Arquivo do autor.

83

5.8.3 Utilizao do Software Intuit QuickBase da Intuit SaaS Existem muitas solues de software como servio como os conhecidos Google Docs e Sales Force.com, mas para este caso foi feita a utilizao de uma plataforma menos conhecida, o Intuit QuickBase que um software para criao de bases de dados rpidas, ideal para pequenas e mdias empresas. O Intuit QuickBase tem a capacidade de fornecer uma aplicao personalizada para o negcio do cliente em vinte minutos, com a facilidade de no necessitar de especialistas em desenvolvimento para cri-la. Para criar uma aplicao no Intuit QuickBase para este caso foi criada uma conta para utilizao de avaliao por trinta dias em http://quickbase.intuit.com/, clicando em Sign Up for a FREE 30 Day Trial(Registe-se para um teste gratuito de 30 dias). Aps clicar foi apresentada uma tela de cadastro simples conforme FIGURA 77. Realizado o cadastro e feita a confirmao do registro atravs de email fornecido no campo Email Address o Intuit QuickBase j pde ser utilizado.

84

FIGURA 77 - Formulrio para registro de utilizao gratuita por 30 dias do Intuit QuickBase. FONTE: Arquivo do autor.

85

FIGURA 78 - Tela inicial do Intuit QuickBase. FONTE: Arquivo do autor.

Na tela inicial(FIGURA 78) so apresentadas algumas aplicaes de exemplo para utilizao e a opo de criar uma nova aplicao, para criar uma nova aplicao foi clicado em Creat a New Application, onde apresentado uma tela para seleo com as opes de adicionar uma aplicao baseada em um modelo, com diversos modelo criados pela equipe do Intuit QuickBase ou aplicaes criadas pela comunidade, conforme FIGURA 79. Tambm existem as opes de criar uma aplicao baseada na definio de campos, conforme FIGURA 80, e da importao de arquivos, aceitando os formatos CSV21, TSV22, e XLSX23, conforme FIGURA 81. Para este caso foi utilizado a definio dos campos para criao de uma aplicao de cadastro e gerenciamento de vendedores.

21 22

Comma-separated values, valores separados por vrgula. Tab-separated values, valores separados por tabulao. 23 Formado padro de arquivos criados no programa Microsoft Excel.

86

FIGURA 79 - Lista de modelos de aplicao. FONTE: Arquivo do autor.

FIGURA 80 Tela para criao de aplicao atravs da definio de campos. FONTE: Arquivo do autor.

FIGURA 81 - Tela para criao de aplicao atravs da importao de arquivo. FONTE: Arquivo do autor.

87

Para criao da aplicao foi definida uma tabela com o nome Vendedores, conforme FIGURA 82.

FIGURA 82 - rea para cria de tabela. FONTE: Arquivo do autor.

Clicando no boto Define Fields foram definidos alguns campos para a tabela conforme FIGURA 83. Para a criao dos campos definido um nome para o campo e o seu tipo, para confirmar a criao de todos os campos foi clicado em OK.

FIGURA 83 - Formulrio para adio de campos tabela. FONTE: Arquivo do autor.

88

Aps a definio dos campos definida, dentre os campos criados, uma chave para a tabela, algo que identificar de forma nica cada entrada na tabela, para este caso foi utilizado o campo Cdigo, que se refere ao cdigo do vendedor, conforme pode ser visto na FIGURA 84. Com a tabela e seus campos criados foi solicitada a criao da aplicao clicando no boto Create. A aplicao foi criada normalmente conforme FIGURA 85.

FIGURA 84 - rea para cria de tabela com a uma chave definida. FONTE: Arquivo do autor

FIGURA 85 - Tela de comfirmao de criao da aplicao. FONTE: Arquivo do autor.

Aps a criao da aplicao apresentado a tela inicial da aplicao, conforme FIGURA 86, possvel notar que automaticamente foi definido os cabealhos de cada coluna. Tambm gera automaticamente a opo para adicionar um novo vendedor.

89

FIGURA 86 - Tela inicial da aplicao criada. FONTE: Arquivo do autor.

Clicando na opo para adicionar um novo Vendedor(Add a New Vendedor) foi apresentado uma tela para cadastro gerada automaticamente, atravs dos campos criados para a tabela Vendedores, o a insero de um novo vendedor foi realizada conforme FIGURA 87, nesta tela aps a insero dos dados existe a opo de salvar, salvar (SAVE) e adicionar outro (SAVE & ADD ANOTER) e cancelar (CANCEL), foi clicado em SAVE.

FIGURA 87 - Formulrio para adicionar um novo vendedor na aplicao. FONTE: Arquivo do autor.

90

Aps clicar em SAVE apresentada a tela para confirmao dos dados inseridos conforme FIGURA 88. Esta tela apresenta as opes de editar(EDIT), enviar email(EMAIL), deletar(DELETE), imprimir(PRINT) e adicionar outro registro similar(ADD SIMILAR). Nota-se que o campo que foi definido como chave apresentado na parte superior aps o nome do registro.

FIGURA 88 - Resultado apresentado aps a insero do vendedor. FONTE: Arquivo do autor.

Aps a insero de mais alguns vendedores foi apresentado na tela inicial a relao de todos os registros inseridos, conforme FIGURA 89.

FIGURA 89 - Lista apresentada na tela inicial da aplicao. FONTE: Arquivo do autor.

A edio das tabelas no Intuit QuickBase feita de forma simples atraves de acesso via um identificador para a tabela que criado automaticamente, a

91

FIGURA 90 apresenta as opes disponveis para manipulao da tabela Vendedores, possvel notar que podem ser customizados os campos (Fields), formulrios (Forms), relatrios (Reports), relacionamentos com outras tabelas (Relationships), email e outras propriedades (Properties).

FIGURA 90 - Opes da tabela. FONTE: Arquivo do autor.

Para este caso foi criado um relatrio clicando em Reports, onde apresentado a tela com a relao dos relatrios criados, foi clicado na opo CREATE A NEW REPORT, para criar um novo relatrio.

FIGURA 91 - Tela de listagem e criao de relatrios. FONTE: Arquivo do autor.

Ao solicitar a criao de um novo relatrio apresentada a tela para escolha do tipo de relatrio, conforme FIGURA 92, para esteca foi selecionado o relatrio do tipo Chart (Grfico).

92

FIGURA 92 - Tela para seleo do tipo de relatrio. FONTE: Arquivo do autor.

Ao selecionar o tipo de relatrio como grfico foi apresentada a tela para configurao do mesmo, conforme FIGURA 93, onde foram definidas as configurao para exibio de um grfico de barras que demonstre a quantidade de vendas por vendedor. Clicando em SAVE & DISPLAY, feita a confirmao de salvamento, conforme FIGURA 94, em seguida o grfico foi gerado, conforme pode ser visto no GRFICO 6. Com o grafico pronto foi realizada a personalizao da pgina inicial, conforme FIGURA 95, com as configuraes para exibio do grfico definidas foi clicado em SAVE & DONE, para salvar e retornar pgina inicial da aplicao. Assim a pagina inicial foi devidamente configurada e o grfico apresentado juntamente com os dados da aplicao conforme FIGURA 96, onde foi adicionado mais um registro de vendedor que automaticamente foi inserido no grfico.

93

FIGURA 93 - Configuraes do grfico. FONTE: Arquivo do autor.

94

FIGURA 94 - Definies para confirmao de salvamento do novo relatrio. FONTE: Arquivo do autor.

GRFICO 6 - Grfico de vendas criado atravs do formulrio para criao de relatrios. FONTE: Arquivo do autor.

95

FIGURA 95 - rea para configurao da pgina inicial. FONTE: Arquivo do autor.

FIGURA 96 - Pgina inicial da aplicao com o grfico, onde apresentado os dados cadastrados e o relatrio criado. FONTE: Arquivo do autor.

96

6 RECURSOS UTILIZADOS Para sedenvolvimento deste trabalho de concluso de curso foram utilizados os seguintes secursos: Apache server, servidor de pginas de internet. Bloco de notas, programa de computador para criao e edio de textos simples. Computador; Eclipse, ambiente de desenvolvimento integrado. FileZilla, programa de computador utilizado para acesso de repositrios FTP; Folhas; Mozila Firefox, navegador de internet. Picture Manager, programa de computador para edio de imagens. Putty, programa de computador utilizado para acesso remoto via SSH Puttygen, programa de computador para converter a chave de acesso ao servidor WinRar, programa de computador para descompactao de arquivos;

97

7 CONCLUSO Atravs da pesquisa realizada apresentada no referencial terico e principalmente nos estudos de caso, pde-se concluir que a computao em nuvem est alm de ser apenas mais um modismo tecnolgico, que desaparecer em alguns anos. Essa nova tendncia mundial e de acesso fcil a todos, principalmente por sua caracterstica de utilizar a internet como base para seu funcionamento. A computao em nuvem est cada dia mais fortalecida e agora o que parecia ser um modismo est se tornando algo indispensvel para muitas empresas. Com os estudos de casos apresentados pde-se notar que as vantagens de preo, elasticidade, disponibilidade e principalmente a facilidade de acesso, so totalmente verdadeiras. Atravs das ofertas analisadas possvel observar que todas elas esto bem estruturadas no mercado e que no so apenas solues que testam a computao em nuvem. Utilizando a computao em nuvem empresass podem adquirir alta capacidade computacional a um preo acessvel, o que melhora significativamente o nvel de competitividade das pequenas e mdias empresas. A viso geral que o desenvolvimento deste trabalho proporcionou que com a nuvem as empresas podem focar no seu negcio principal ao invs de gastar seus preciosos recursos com aquisio de servidor, manuteno, desenvolvimento, treinamento e outras atividades que no so necessrias a contratao de um servio na nuvem. Apesar de ainda existir alguns fatores como segurana, compatibilidade, confiabilidade, etc. que so dificultadores para a aquisio de um servio na nuvem, ser apenas uma questo de pouco tempo para que essas barreiras sejam eliminadas. Assim em alguns anos o diferencial competitivo no estar em se uma empresa utiliza ou no a computao em nuvem, mas sim em quais solues em nuvem que ela utiliza.

98

8 REFERNCIAS ALECRIM, Emerson. O que Cloud Computing (Computao nas Nuvens)?. Disponvel em:<http://www.infowester.com/cloudcomputing.php>. Acesso em: 15 de Ago. de 2011 ANDRADE, Adilson Luiz de. Computao em Nuvem. 2010. Disponivel em:<http://www.ti.fajesu.org/wp-content/uploads/2010/11/COMPUTA%C3%87%C3% 83O-EM-NUVEM.pdf> Acesso em: 27 de Jun. de 2011. BROBERG, James; BUYYA, Rajkumar; GOSCINSKI, Andrzej. Cloud Computing Principles and Paradigms; New Jersey: John Wiley & Sons, Inc. 2011. 664p. CSA. Guia de Segurana para reas Crticas Focado em Computao em Nuvem V2.1. Disponvel em: <https://cloudsecurityalliance.org/guidance/CSAGuidan ce-pt-BR.pdf> Acesso em: 02 de Out de 2010. ELSENPTER; VELTE, A.; VELTE ,T. Cloud Computing: Computao em nuvem: Uma Abordagem Prtica. Rio de Janeiro: Alta Books, 2011. 333 p. GOOGLE. Google App Engine. 2011. Disponvel em:<https://appengine.google.com/>. Acesso em 28 de set. 2011. GOOGLE. Google Apps. 2011. Disponvel em:<https://apps.google.com/>. Acesso em 30 de set. 2011. GOOGLE. Referncia sobre GQL. Google App Engine. 2011. Disponvel em:< http://code.google.com/intl/pt-BR/appengine/docs/python/datastore/gqlreference.html >. Acesso em 15 de nov. 2011. IBM. Computao em Nuvem para a Empresa: Parte 1: Capturando a Nuvem. 2009. Disponvel em:http://www.ibm.com/developerworks/br/websphere/techjournal /0904_amrhein/0904_amrhein.html. Acesso em 01 de out. 2011. IBM. Banco de Dados na Nuvem. 2011. Disponvel em: <http://www.ibm.com/developerworks/br/data/library/dmmag/DMMag_2011_Issue2/cl oudDBaaS/index.html> Acesso em 04 de out. 2011. MARTINS, Adriano. Fundamentos de Computao Nuvem para Governos. Disponvel em:<http://www.serpro.gov.br/wcge/artigos/Artigo-Fundamentos%20de% 20Computacao%20Nuvem%20para%20Governos.pdf>. Acesso em: 20 de Ago. de 2011. MICROSOFT. Introduo platadorma Windows Azure.2010. Disponvel em:http://www.microsoft.com/windowsazure/pt/br/whitepapers/introducingwindowsaz ureplatform. Acesso em: 12 de Set. de 2011.

99

MOTA, W.C. RUSCHEL, H. ZANOTTO, M.S. Computao em Nuvem.2010. 15p. Especializao em Redes e Segurana de Sistemas. Pontifcia Universidade Catlica do Paran, Curitiba, 2010. PUTTY, PuTTY: A Free Telnet/SSH Client. chiark home page [S.l.]. 2011. Disponvel em: < http://www.chiark.greenend.org.uk/~sgtatham/putty/>. Acessado em 13 Nov. 2011. ORACLE. O Oracle Fusion Middleware e a Nuvem Privada Corporativa. So Paulo:[s.n], 2009. 19 p. CHIRIGATI, Fernando Seabra. Computao em Nuvem. Rio de Janeiro. 2009. Disponvel em: <http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2009_2/seabra/>. Acessado em 28 set 2011. SILVA, Fabrcio Rodrigues Henriques da. Um estudo sobre os benefcios e os riscos de segurana nautilizao de cloud computing. 2010. 15p. Artigo cientfico de concluso de curso. UNISUAN, [S.l.] , 2010. NETO, Olavo Oliveira. Computao em nuvens, viso comparativa entre as principais plataformas de mercado. 24 p. Trabalho de concluso de curso(Graduao/Bacharelado). Faculdade Integrada do Cear, Estcio, 2010. SOLIDQ. Diferena nos tipos de Computao nas Nuvens. [S.l.: s.n.], 40-44 p. TAURION, Cezar. Cloud Computing: Computao em nuvem:Transformando o mundo da tecnologia da informao. Rio de Janeiro: Brasport, 2009. 205 p. VIEIRA, Andr L. et al. Computao em Nuvem. Rio de Janeiro, 2009. Disponvel em:<http://www.mbatvdigital.com.br/wp-content/uploads/2009/12/CLOUDCOMPUTING_V5.pdf> Acesso em: 02 de out. 2011.

Você também pode gostar