Você está na página 1de 172

AMPYTUNA COMPUTAO EM NUVEM: SERVIOS LIVRES PARA A SOCIEDADE DO CONHECIMENTO

MINISTRIO DAS RELAES EXTERIORES

Ministro de Estado Secretrio-Geral

Embaixador Celso Amorim Embaixador Antonio de Aguiar Patriota

FUNDAO ALEXANDRE DE GUSMO

Presidente

Embaixador Jeronimo Moscardo

Ministrio da Fazenda Ministro de Estado Guido Mantega

Servio Federal de Processamento de dados - SERPRO Diretor Presidente Marcos Vincius Ferreira Mazoni

A Fundao Alexandre de Gusmo, instituda em 1971, uma fundao pblica vinculada ao Ministrio das Relaes Exteriores e tem a finalidade de levar sociedade civil informaes sobre a realidade internacional e sobre aspectos da pauta diplomtica brasileira. Sua misso promover a sensibilizao da opinio pblica nacional para os temas de relaes internacionais e para a poltica externa brasileira.

Ministrio das Relaes Exteriores Esplanada dos Ministrios, Bloco H Anexo II, Trreo 70170-900 - Braslia, DF Telefones: (61) 3411-6033/6034 Fax: (61) 3411-9125 Site: www.funag.gov.br

CONSEGI 2010 III CONGRESSO INTERNACIONAL SOFTWARE LIVRE E GOVERNO ELETRNICO

Ampytuna
Computao em Nuvem: servios livres para a sociedade do conhecimento

Braslia, 2010

Copyright Fundao Alexandre de Gusmo Ministrio das Relaes Exteriores Esplanada dos Ministrios, Bloco H Anexo II, Trreo 70170-900 Braslia DF Telefones: (61) 3411-6033/6034 Fax: (61) 3411-9125 Site: www.funag.gov.br E-mail: funag@itamaraty.gov.br

Equipe Tcnica: Maria Marta Cezar Lopes Cntia Rejane Sousa Arajo Gonalves Erika Silva Nascimento Fabio Fonseca Rodrigues Jlia Lima Thomaz de Godoy Juliana Corra de Freitas Programao Visual e Diagramao: Juliana Orem e Maria Loureiro

Impresso no Brasil 2010 C74 Congresso Internacional Software Livre e Governo Eletrnico (3. : 2010 : Braslia) Ampytuna: computao em nuvem: servios livres para a sociedade do conhecimento. -Braslia : FUNAG, 2010. 135 p. : il. ISBN: 978-85-7631-241-3 1. Computao em nuvem (Cloud computing). 2. Sistema de informao. 3. Software livre. 4. Inovao. 5. TV digital CDU: 004. 4

Depsito Legal na Fundao Biblioteca Nacional conforme Lei n 10.994, de 14/12/2004.

Sumrio

Prefcio, 7 Lauro Luis Armondi Whately Apresentao, 13 Por que falar de Computao em Nuvem? Marcos Vincius Ferreira Mazoni Computao na Nuvem Uma Viso Geral, 17 Karin Breitman e Jose Viterbo Fundamentos de Computao Nuvem para Governos, 47 Adriano Martins Modelo de Referncia de Cloud, 67 Luis Claudio Pereira Tujal Ginga, NCL e NCLua - Inovando os Sistemas de TV Digital, 119 Luiz Fernando Gomes Soares Segurana de Computao em Nuvem, 131 Coordenao Estratgica de Tecnologia (CETEC)

Quadrante SERPRO de Tecnologia (QST) - Uma Ferramenta de Apoio Gesto do Ciclo de Tecnologia em tempos de Novos Paradigmas da Computao nas Nuvens, 159 Almir Fernandes

Prefcio
Lauro Luis Armondi Whately Laboratrio de Computao Paralela / COPPE / UFRJ

When the network becomes as fast as the processor, the computer hollows out and spreads across the network. - Eric Schmidt (CTO, Sun Microsystems - 1993)

There was a time when every household, town, farm or village had its own water well. Today, shared public utilities give us access to clean water by simply turning on the tap; cloud computing works in a similar fashion. - Vivek Kundra (CIO, Governo EUA 2010)

Os avanos recentes no poder de processamento, na capacidade de armazenamento em memria e disco e na largura de banda das redes de comunicao nos conduziram para uma era em que encontramos acesso a recursos computacionais virtualmente ilimitados e distribudos globalmente. No modelo de computao1 ainda corrente, usurios tem acesso a poderosos
1

De forma mais precisa todo sistema computacional deve possuir seu modelo de computao, modelo de armazenamento e modelo de comunicao. Para simplificar a discusso, estou usando apenas o modelo de computao.

LAURO LUIS ARMONDI WHATELY

computadores pessoais, onde a maior parte do processamento feito no hardware local ou em alguns casos em servidores em uma sala prxima. Na ltima dcada, assistimos a transferncia do processamento dos dados em desktops para servidores remotos na Internet. Trs avanos virtualizao, utility computing e aplicaes Web (representados por AJAX, REST, SOA etc) ofereceram as ferramentas iniciais para esta mudana de paradigma, onde cada vez mais a computao em benefcio do usurio feita por servidores annimos na Internet. Exemplos so os mais diversos, mas incluem servios como edio de documentos, edio e transmisso de vdeo, simuladores financeiros, traduo de texto e mapas. Como resultado, nosso ambiente computacional passou por uma mudana radical. A mudana de uma viso de computao centrada no hardware para uma computao orientada por servios. Nesse ambiente, a rede passa a ser vista como um repositrio de computadores virtuais escalvel e confivel. Esse repositrio conjugado com os servios oferecidos constituem o que est sendo chamado de computao na nuvem. Os servios nesse modelo esto disponveis de modo ubquo para os usurios e os provedores de servios passam a no se preocupar com os incmodos da administrao, manuteno e o custo de aquisio e propriedade de um sistema de computadores. De maneiras diferentes, as trs tecnologia citadas permitem que um sistema grande, totalmente integrado, seja construdo a partir de componentes heterogneos e muitas vezes incompatveis. A virtualizao elimina as diferenas entre as plataformas de computao de diferentes fabricantes, permitindo que aplicativos desenvolvidos para rodar em um sistema operacional possa ser executado em diferentes plataformas. As tcnicas encontradas em utility computing permitem que os diversos componentes do sistema passem a atuar efetivamente como um nico dispositivo, partilhem as suas capacidades e sejam alocados automaticamente para tarefas especficas de cada cliente. O cenrio econmico atual refora por vrias razes o compartilhamento das mquinas entre muitos servios, tais como o uso racional do espao fsico alocado, o alto custo da energia eltrica consumida pelo sistema e a grande quantidade de calor gerado pelos servidores. O compartilhamento dos componentes do sistema permite o uso mais efetivo dos recursos por multiplexao e oferecem economia de escala na administrao e manuteno da plataforma. Aplicaes Web oferecem protocolos otimizados e seguros para o dilogo entre os web browsers dos clientes e os servidores remotos. Elas oferecem aplicaes com as mesmas
8

PREFCIO

caractersticas das encontradas nos desktops combinada com a ubiquidade encontrada nos servios na web. Individualmente, todas estas tecnologias so interessantes, mas combinadas so capazes de criar um modelo verdadeiramente revolucionrio. Juntamente com alta capacidade das redes de comunicao de fibra ptica, elas podem transformar um conjunto fragmentado de componentes de hardware e software em uma infra-estrutura nica e flexvel, que muitas empresas podem compartilhar. Uma vez que estas tecnologias evoluem, enquanto tecnologias novas e relacionadas emergem, a capacidade de fornecer este novo modelo de computao - e os incentivos econmicos para faz-lo -, s vai continuar a crescer. Mas as vantagens encontradas no uso da computao em nuvem esto acompanhadas de riscos e desafios inerentes ao novo modelo de computao. Como em qualquer mudana de paradigma, de se esperar encontrar alguma confuso na transformao dos mtodos e processos antigos. Alguns dos riscos no so novos e devemos ter em mente que eles j so encontrados na solues conhecidas, como a segurana dos dados no modelo cliente-servidor em empresas conectadas Internet, por exemplo. Alguns desafios encontrados como a segurana dos dados armazenados na nuvem, o risco de ficar preso a um provedor de plataforma, confiabilidade do servio e integrao com sistemas legados ainda no possuem solues amplamente resolvidas. Esse livro apresenta a melhor forma de enfrentar os desafios encontrados na adoo da computao na nuvem: descrever com profundidade e conhecimento o modelo de computao e apresentar as solues j conhecidas. As anlises encontradas nos captulos a seguir so valiosas, pois mesmo que o leitor decida no adotar a computao na nuvem, sua concluso vai ser em benefcio do teu negcio. A computao em nuvem no um modelo rgido e pode ser moldado s caractersticas e necessidades das empresas. O captulo Computao em Nuvens para Governos analisa as adaptaes do modelo que podem ser adotados por uma empresa. Por exemplo, os departamentos podem compartilhar os recursos locais de TI administrado centralmente em uma nuvem e devem conhecer as implicaes e foras de influncia que surgiro ao implementar o novo modelo. Dentro deste contexto, certamente ferramentas de apoio deciso so de grande valia para anlise de riscos e oportunidades. O captulo O Quadrante SERPRO de Tecnologia apresenta uma ferramenta de anlise do ciclo de tecnologia no mbito da gesto do
9

LAURO LUIS ARMONDI WHATELY

conhecimento, utilizando como mtricas a produtividade e maturidade da tecnologia. Um caso bastante exemplar pode ser o de um pesquisador de uma empresa farmacutica que precisa rapidamente analisar os dados que obteve de seu ltimo experimento. Para obter os resultados a tempo e dentro de seu oramento, so necessrios 25 servidores. Na indstria farmacutica, o custo de atraso de um produto estimado a 150 dlares por segundo! Existem, para este pesquisador, dois cenrios: 1) Mtodo tradicional: espere que o pedido de compra seja aprovado, espere at que os servidores sejam entregues, espere a configurao dos servidores etc. O total de espera pode chegar a 3 meses. O que significa um custo de mais de 1 bilho de dlares. 2) Computao na nuvem: o pesquisador abre uma conta na Amazon Web Services, configura 25 servidores e dentro de 2 horas, ele est analisando os dados. Aps completar a tarefa, recebe a conta da Amazon: 89 dlares! Este no um exemplo imaginrio. Isto realmente aconteceu na empresa farmaceutica Eli Lilly2. Esse caso real demonstra um dos grandes benefcios do uso da computao em nuvem, mas ao mesmo tempo introduz um novo problema: como a Eli Lilly garante a segurana de seus dados na transmisso e no processamento remoto? Como garantir que no haver nenhum trao de seus dados nas mquinas da Amazon ? Protocolos de segurana e auditoria precisam ser desenvolvidos para que este modelo de computao possa ser aceito e amplamente usado e oferecido pelas empresas. Sobre este tema, encontramos no livro uma ampla discusso sobre os aspectos de segurana dos dados na computao em nuvem. O captulo Segurana de Computao em Nuvem indica que a transparncia da forma como o provedor implementa, desenvolve e gerencia a segurana so fatores decisivos para este objetivo. A argumentao ilustrada por exemplos de servios implementados pelo prprio SERPRO. Assim como o pesquisador do exemplo pode em duas horas implementar a aplicao de anlise de dados na nuvem da Amazon, ele conseguir executar esta aplicao em outras nuvens sem consumir outras duas ou mais horas ? Para aplicaes mais complexas, o cliente ficar preso ao
2

Cloud Computing Security Framework May Ease Security Concerns, Information Security Magazine, maro de 2009. http://searchsecurity.techtarget.com

10

PREFCIO

provedor da nuvem ? Uma soluo para este desafio dever ser promover referncia de implementao aberta de forma a permitir que nuvens pertencentes a diferentes provedores possam conversar entre si. A referncia deve permitir mover as aplicaes de uma nuvem para outra sem reescrevelas. Os captulos Modelo de Referncia de Cloud e Computao na Nuvem Uma Viso Geral analisam os desafios relacionados com a interoperabilidade. O primeiro apresenta uma anlise profunda dos padres encontrados na implementao e integrao dos componentes da computao em nuvem e o segundo captulo citado discute os desafios para a engenharia de software e demonstra modelos de programao, como o Map-Reduce, amplamente adotado atravs de uma implementao livre, o Hadoop . Uma tendncia encontrada na computao orientada por servio o crescimento acelerado de servios de streaming de contedo multimdia na Internet, como o oferecido, por exemplo, no Youtube, entre outros servios. Servios de streaming implicam na transmisso e na reproduo imediata de vdeo e udio de notcias, eventos esportivos, entretenimento e stios educacionais. Por exemplo, o servio Mogulus chega a transmitir 120.000 canais de vdeo ao vivo na Internet, com toda a sua infra-estrutura encontrada na nuvem. Um grande desafio para os servios de streaming de vdeo a interatividade com o usurio. O servios web vm ocupando o espao da televiso no dia a dia das pessoas. Certamente no devemos decretar a morte da televiso, devido essa tendncia. Mas, pelo contrrio, a previso mais correta ser o fortalecimento atravs da sinergia das mdias. O uso do canal digital, para a difuso de baixo custo de vdeos HD e 3D e a interatividade atravs do canal de retorno, encontrado no acesso Internet feito na prpria TV. As possibilidades de servios, facilmente implementados na nuvem, so tecnicamente apenas limitadas pela nossa imaginao. O captulo Ginga, NCL e NCLua - Inovando os Sistemas de TV Digital apresenta a soluo brasileira para este desafio. Apresentado como uma soluo para IPTV e ISDB-Tb, para TV terrestre, o Ginga tambm poderia ser utilizado como uma interface interativa para os servios de vdeo oferecidos na nuvem. Os servios de vdeo diferem dos servios web tradicionais em muitos aspectos, apresentando novas questes para desenvolvedores de sistemas e os provedores de servios multimdia. Servios de streaming, por razes do modelo de contabilidade do uso de recursos dos sistemas operacionais correntes, no possuem um controle de admisso interno que possa prevenir
11

LAURO LUIS ARMONDI WHATELY

a sobrecarga no servidor, ou alocar uma frao predefinida de recursos para um servio em particular. O servidor de streaming no conhece qual recurso em especial deve ser monitorado para avaliar a disponibilidade (ou o uso) corrente da capacidade do sistema: a utilizao do processador e memria, como tambm a banda da rede so altamente dependentes das caractersticas do servio. Consequentemente, os servios de computao em nuvem ainda oferecem controle de alocao ineficiente. A granularidade e o escalonamento dos recursos alocados, por no conhecerem exatamente a necessidade da aplicao, so pr-definidos estaticamente. Dentro deste contexto, a pesquisa e desenvolvimento no Laboratrio de Computao Paralela3, da COPPE/ UFRJ, busca atravs das tcnicas de virtualizao e utility computing encontrar escalabilidade e eficincia na construo de servidores de streaming de vdeo. O autor Nicholas Carr tem a opinio4 que o maior entrave para a computao em nuvem no tecnolgico, mas de atitude. Como na passagem para o oferecimento pblico da energia eltrica (no lugar dos geradores particulares), os principais obstculos so os pressupostos de gesto estabelecidas, as prticas tradicionais e os investimentos do passado. As grandes empresas vo desativar seus datacenters somente aps a confiabilidade, a estabilidade e os benefcios deste novo modelo terem sido claramente estabelecidos. Para que isso ocorra, necessrio oferecer uma viso clara de como o modelo de computao em nuvem deve operar, bem como a imaginao e o desejo de fazer as coisas acontecerem. Os captulos aqui apresentados fazem um apelo atraente, demonstrando que centralizar a gesto dos recursos anteriormente dispersos, no s reduz os custos de capital, mas tambm pode aumentar a segurana, melhorar a flexibilidade e reduzir o risco.

Mais informaes sobre a pesquisa no LCP podem ser encontradas em http:// www.lcp.coppe.ufrj.br 4 Nicholas G. Carr, The End of Corporate Computing, MITSloan Management Review, spring 1995, vol.46, n.3

12

Apresentao Por que falar de Computao em Nuvem?

Com o advento da Internet e das sociedades em rede, as relaes humanas sofreram intensas transformaes nos ltimos anos. Esse contexto trouxe mltiplos desafios Administrao Pblica. Alguns so aparentemente contraditrios. Por um lado, existem as demandas relacionadas ao crescente nvel de exigncia dos cidados e das empresas. O aumento da qualidade do servio prestado, a modernizao e a introduo de novos servios, alm da celeridade dos processos de atendimento tornaram-se palavras de ordem. Por outro lado, existem as demandas relacionadas ao controle da despesa pblica. A reduo de custos de funcionamento, o aumento da eficincia e a eliminao de processos burocrticos tornaram-se obrigao. Por isso, uma importante pergunta impe-se ao Servio Pblico neste momento: como fazer melhor com menos? Com certeza, um dos caminhos a ser percorrido a adoo de modelos de processos de trabalho suportados pela utilizao da Tecnologia de Informao (TI) como indutora da inovao e da eficincia. No atual momento do setor pblico, esses sistemas e processos de trabalho so mais informativos do que colaborativos. Eles so utilizados de forma desintegrada e para realizar procedimentos limitados, fazendo com que o esforo seja segmentado e executado por meio de trmites protocolares. Essas caractersticas aumentam, em muito, o tempo de resposta ao cidado.
13

CONSEGI 2010

Dessa maneira, a Administrao Pblica ainda est muito distante da situao social contempornea: um ambiente de colaborao e interatividade apoiado em sistemas computacionais. Caso estivesse prxima, isso permitiria potencializar as inovaes, melhorar o desempenho interno, eliminar processos redundantes, agir com pr-atividade, partilhar tarefas, alm de reduzir substancialmente o tempo e os custos operacionais, facilitando o trabalho dos funcionrios pblicos e agregando valor e qualidade prestao do servio ao cidado. Na busca pela equiparao dessa condio, empresas do setor pblico como o Servio Federal de Processamento de Dados Serpro, a Empresa de Tecnologia e Informaes da Previdncia Social Dataprev, o Banco do Brasil BB e a Caixa Econmica Federal - CEF discutem a adoo da Computao em Nuvem ( Cloud Computing ) como forma de dinamizar a capacidade de processamento para servios que possam estar cada vez mais presentes na vida dos cidados. Alm das estaes de trabalho Recursos computacionais em qualquer lugar e independente da plataforma utilizada. Variadas aplicaes acessadas por meio da Internet com a mesma facilidade de t-las instaladas em uma estao de trabalho. Esse o conceito da Computao em Nuvem. Com ela, aplicativos, arquivos e dados relacionados no precisam mais estar instalados ou armazenados em um computador local. Eles ficam disponveis na nuvem, isto , distribudos em vrios servidores, tendo como meio fsico de integrao entre eles, uma rede de dados, como a Internet. O usurio final no precisa se preocupar em manter a informao, e pode utilizla a partir de qualquer ponto de acesso, computador, ou at mesmo, de acordo com a disponibilidade, a partir de Smartphones e Thin Clients. Em sua essncia, a Computao em Nuvem trata-se de uma forma de trabalho na qual o software oferecido como servio, no sendo necessrio adquirir licenas de uso para instalao ou mesmo comprar computadores ou servidores para execut-lo. Nessa modalidade, normalmente paga-se um valor peridico - como uma assinatura - somente pelos recursos que utilizar e/ou pelo tempo de uso. Essa revoluo em marcha no mundo da TI silenciosa, porm profunda. E da, vem a importncia do presente livro que analisa, sob a
14

APRESENTAO

perspectiva do governo, as transformaes que ocorrero nos prximos anos e sua consequente mudana na relao entre a Administrao Pblica e os cidados. Boa leitura! Marcos Vincius Ferreira Mazoni Diretor-Presidente do Serpro

15

Computao na Nuvem Uma Viso Geral


Karin Breitman1 e Jose Viterbo2

Abstract Cloud computing is fast becoming an important platform for research in Software Engineering. Scientists today need vast computing resources to collect, share, manipulate, and explore massive data sets as well as to build and deploy new services for research. Cloud computing has the potential to advance research discoveries by making data and computing resources readily available at unprecedented economy of scale and nearly infinite scalability. In this chapter we provide an introduction to Cloud Computing, i.e, its fundamentals, definition, architecture, associated technologies, challenges and research opportunities. Resumo A computao na nuvem est rapidamente se tornando uma das mais importantes plataformas de pesquisa em Engenharia de Software. O cenrio atual demanda um grande volume de recursos para o apoio as tarefas de elicitao, compartilhamento, manipulao e explorao
1 2

Departamanto de Informtica Pontifcia Universidade Catlica do Rio e Janeiro (PUC-Rio). Departamento de Cincia e Tecnologia Universidade Federal Fluminense (UFF).

17

KARIN BREITMAN E JOSE VITERBO

de grandes conjuntos de dados, bem como para o desenvolvimento e execuo de servios de apoio Pesquisa. A computao na nuvem tem o potencial de contribuir no avano da Cincia na medida em que pode disponibilizar um grande volume de recursos para utilizao imediata, criando um cenrio sem precedentes, onde a escalabilidade de servios, processos e infra-estrutura quase ilimitada. Neste artigo fazemos uma introduo computao na nuvem: fundamentos, definies, arquitetura, tecnologias associadas, desafios e oportunidades de pesquisa na rea. 1. Introduo A idia essencial da computao da nuvem permitir a transio da computao tradicional para um novo modelo onde o consumo de recursos computacionais, por exemplo, armazenamento, processamento, banda entrada e sada de dados, ser realizado atravs de servios. Podemos traar um paralelo entre o cenrio atual com o final do sculo XIX, durante o perodo da Revoluo Industrial, quando era comum que grandes fbricas fossem responsveis pela produo de sua prpria energia eltrica e ou mecnica. Hoje em dia as grandes fbricas consomem energia como um servio, e pagam pela quantidade utilizada. A computao na nuvem tem uma proposta similar. Recursos computacionais passaro a ser de responsabilidade de algumas empresas especializadas, que ficaro responsveis por sua gesto e comercializao atravs de servios [Carr 2008]. Evidente que esta proposta representa uma grande quebra de paradigma, pois atualmente, tanto empresas quanto particulares, utilizam recursos computacionais de forma proprietria, ou seja, so os donos e responsveis pela gesto, manuteno e atualizao dos recursos computacionais que dispem. O objetivo deste artigo apresentar uma breve introduo a computao na nuvem, com o intuito de fornecer ao leitor subsdios para que entenda os desafios e oportunidades oferecidas por este novo modelo. Comeamos por oferecer algumas definies para o termo, j que no existe uma nica formulao para o conceito. A seguir introduzimos uma breve taxonomia, que define tipos, modalidades e caractersticas principais. Para facilitar o entendimento das novas oportunidades oferecidas pelo modelo de computao na nuvem, discutimos
18

COMPUTAO NA NUVEM

UMA VISO GERAL

os principais avanos tecnolgicos que permitiram seu desenvolvimento. Na seo seguinte discutimos o modelo conceitual mais utilizado para descrever este novo paradigma. A seguir discutimos o impacto da computao na nuvem nos requisitos de novas aplicaes de software. Finalizamos nossa contribuio apresentando os desafios e oportunidades de pesquisa na rea. 1.1. Terminologia Neste texto optamos, sempre que possvel, por apresentar a traduo dos termos para o Portugus, formatado com letras minsculas. Desta forma, o termo Cloud Computing foi traduzido para computao na nuvem. No entanto, o jargo da rea inclui alguns anglicismos os quais encontramos dificuldade em traduzir. o caso do termo datacenter. Nestes casos optamos por deixar o termo em ingls, porm suprimimos a utilizao do itlico para facilitar a leitura. Casos mais simples, por exemplo, nomes prprios, de servios, empresas, onde o termo est sendo reproduzido em ingls, so apresentados em itlico, seguido de traduo quando julgada necessria. 2. Definio O termo computao na nuvem foi introduzido em 2006, quando o ento CEO da Google, Eric Schmidt, utilizou o termo para descrever os servios da prpria empresa, e, pouco tempo depois, quando a Amazon utilizou o mesmo termo para lanar seu servio EC2 (Elastic Compute Cloud). Foi, na verdade popularizado atravs de um artigo na edio de Outubro da Wired, atravs do artigo de George Gilder entitulado The Information Factories (as fbricas de informao) [Gilder 2006] . Apesar de ainda no termos uma definio nica objetiva para computao na nuvem, o termo , geralmente, utilizado como rtulo tanto para determinadas aplicaes que so acessadas pela internet, como para servios de datacenters. No primeiro caso, as aplicaes j conhecidas por serem utilizadas nos desktops, como editores de texto, planilhas ou, at mesmo, editores de imagens, so acessadas atravs da internet, e todo o processamento e armazenamento de dados que ocorriam no prprio computador do usurio, agora ocorrem online, ou na nuvem.
19

KARIN BREITMAN E JOSE VITERBO

J nos servios de datacenters, o termo computao na nuvem utilizado quando o conjunto de recursos, como servidores, balanceadores de carga, armazenamento, etc., so comercializados por uso e, normalmente, cobrados por hora. Este novo modelo de negcios trouxe uma srie de benefcios tcnicos e financeiros para consumidores de seus servios tais como: rpido provisionamento, escalabilidade, facilidade para lanamento de novos produtos/servios por empresas de menor tamanho, entre outros. A seguir oferecemos algumas das definies mais encontradas na literatura para o termo. 2.1 As vrias definies de Computao na Nuvem O grupo Gartner define computao na nuvem como um estilo de computao onde capacidades de TI elsticas e escalveis so providas como servios para usurios atravs da Internet. [Cearley 2009]. Markus Klems argumenta que caractersticas chaves de computao na nuvem so a escalabilidade imediata e a otimizao da utilizao de recursos. Estas so adquiridas atravs do monitoramento e automao dos recursos computacionais em utilizao [Klems 2009]. Kepes define computao na nuvem da seguinte forma. De forma simplificada computao na nuvem um paradigma de infraestrutura que permite o estabelicimento do SaaS (software-comoservio)... um grande conjunto de servios baseados na Web com o objetivo de fornecer funcionalidades, que at o momento demandavam enorme investimento de hardware e software, atravs de um novo modelo de pagamento por uso. [Kepes 2008]. Vaquero et al. realizaram um amplo estudo onde foram consideradas dezenas de diferentes definies para o conceito de computao na nuvem. Os autores chegaram a seguinte definio. Nuvens so grandes repositrios de recursos virtualizados (hardware, plataformas de desenvolvimento e/ou servios), facilmente acessveis. Estes recursos podem ser reconfigurados dinamicamente de modo a se ajustar a cargas variadas, otimizando a utilizao destes mesmos recursos. Este repositrio de recursos tipicamente explorado utilizando-se um modelo do tipo pagamento-por-uso, onde os fornecedores de infraestrutura oferecem garantias no formato de SLAs (service level
20

COMPUTAO NA NUVEM

UMA VISO GERAL

agreements) customizadas. [Vaquero et al 2008] Uma definio de computao na nuvem, ligada as caractersticas de hardware, fornecida por Armbrust et al. [Armbrust 2009]. Segundo os autores, este novo paradigma oferece as seguintes novidades: 1. Iluso de recursos computacionais infinitos, disponibilizados sob demanda, eliminando a necessidade do planejamento para a proviso de recursos a longo prazo. 2. Eliminao da necessidade de se fazer grandes investimentos iniciais em infra-estrutura, permitindo com que negcios sejam iniciados com um parque computacional pequeno e que aumentem sua infra-estrutura a medida em que suas necessidades demandarem. 3. Possibilidade da contratao de recursos computacionais a curto prazo, por exemplo, processadores por hora, armazenagem por um dia. Uma vez que estes no so mais necessrios, capacidade de finalizar os contratos. interessante notar que os autores remarcam que no encontraram um denominador comum entre todas as definies estudadas, isto , uma caracterstica comum a todas as definies. 2.2 Distines Uma fonte comum de confuso a comparao entre computao na nuvem e grid computing. A distino no clara, pois ambos paradigmas compartilham os mesmos objetivos de reduo de custos, aumento de flexibilidade e confiabilidade atravs da utilizao de hardware operado por terceiros. A maior distino entre os dois diz respeito a alocao de recursos. Enquanto que em um grid se tenta fazer uma distribuio uniforme de recursos, em ambientes de computao na nuvem os recursos so alocados sob demanda. A utilizao dos recursos tambm diferenciada, pois a virtualizao garante uma maior separao entre os recursos utilizados pelos vrios usurios em ambientes de computao na nuvem. Tambm existem importantes diferenas que distinguem o modelo de computao na nuvem do modelo tradicional de computao. A Tabela 1, a seguir, adaptada de [Cearley 2009], apresenta um resumo dessas diferenas.
21

KARIN BREITMAN E JOSE VITERBO

Tabela 1 - Diferenas entre os modelos tradicionais e de computao na nuvem

3. Nuvens pblicas, privadas e hbridas O modelo de computao na nuvem se refere a aplicaes disponibilizadas como servios na internet, servios de hardware, e sistemas em datacenters que fornecem este tipo de servio. O conjunto do hardware e software o que chamamos de nuvem [Cearley 2009]. Quando a nuvem fornecida para o publico em geral e sob um contrato onde se paga pelo montante utilizado, chamamos a mesma de nuvem pblica. Os servios comercializados so geralmente chamados de computao utilitria (Utility Computing). Alguns exemplos so as plataformas da Amazon, Google AppEngine e Microsoft Azure. Uma lista mais completa apresentada na seo 1.8 deste capitulo. O termo nuvem privada utilizado para designar um novo estilo de computao disponibilizado pelo provedor interno de TI, que se comporta
22

COMPUTAO NA NUVEM

UMA VISO GERAL

de forma semelhante a um ambiente de computao na nuvem externo. Neste modelo, capacidades de TI elsticas e escalveis so oferecidas como servios para usurios internos. A grande diferena entre a computao na nuvem publica e privada reside nos servios de acesso e nos servios de controle. So muitos os requisitos tecnolgicos necessrios para que o modelo privado funcione de forma adequada. Entre eles esto tecnologias de virtualizao, automao, padres e interfaces, que permitam o acesso compartilhado a servidores virtuais. Algumas destas tecnologias so discutidas na Seo 5 deste artigo. Na literatura encontramos, alm dos modelos de nuvem publica e privada, outros modelos que combinam os dois conceitos. So eles [Smith et al. 2009], computao hbrida e computao privada virtual. Alguns autores acreditam que em no futuro prximo, a maior parte das empresas vai utilizar a computao na nuvem de alguma forma. O modelo de computao hbrida prev uma utilizao mista, porm integrada, dos dois paradigmas, i.e., a combinao de servios de computao na nuvem externos com recursos internos. Esta colaborao deve ser realizada de forma coordenada, de forma a garantir integrao no nvel dos dados, processos e camadas de segurana [Hassan et al 2009]. A computao privada virtual se configura pela diviso, seguida do isolamento, de uma poro de um ambiente de computao na nuvem publico. Este ambiente fica isolado, e de utilizao dedicada a um nico grupo ou entidade. Alm disto, um ambiente de computao privada virtual tambm pode ficar isolado da Internet, utilizando uma rede particular (rede privada virtual virtual private network ou VPN), e/ou uma rede LAN para o acesso aos servios. Estas solues servem para melhorar a performance, o trafego de dados e, claro, a segurana [Cearley 2009]. A Amazon j est oferecendo um servio deste tipo comercialmente, o Amazon VPC. 4. Caractersticas essenciais Apesar da falta de consenso sobre um conjunto essencial a aplicativos de computao na nuvem, existem algumas caractersticas que so centrais, citadas na maioria dos textos relevantes sobre o assunto [Cunha 2009]. So elas (a) virtualizao de recursos, (b) independncia de localizao com acesso aos recursos via Internet, (c) elasticidade e (d) modelo de pagamento baseado no consumo.
23

KARIN BREITMAN E JOSE VITERBO

A virtualizao de recursos, conseguida atravs do uso de tecnologias j estabelecidas como virtual machines, virtualizao de memria, Virtualizao de armazenamento e virtualizao de rede (VPN), desatrela os servios de infra-estrutura dos recursos fsicos (hardware, rede). Com essa abstrao, a localizao real dos recursos tratada na camada mais baixa da computao na nuvem (IaaS), sendo transparente (invisvel) para as demais camadas. Desta forma, os recursos passam a ser disponibilizados e consumidos como uma utilitrios. Em uma arquitetura baseada em servios, caractersticas do consumidor so abstradas das caractersticas do provedor atravs de interfaces de servios bem-definidas. Estas interfaces ocultam os detalhes de implementao e possibilitam trocas automatizadas entre provedores e consumidores de servios. Neste modelo, servios ganham um nvel a mais de abstrao, ou seja, passam a ser desenhados para servir necessidades especficas de dos consumidores, ao invs de se ater a detalhes de como a tecnologia funciona. A independncia de localizao na computao na nuvem, ocorre pois os servios tornam-se acessveis de qualquer lugar que se tenha acesso a infra-estrutura de rede. As nuvens aparentam ser o ponto nico de acesso para todas as necessidades de computao dos usurios. A elasticidade , talvez, a caracterstica mais inovadora de computao na nuvem. H uma diferena sutil entre elasticidade e escalabilidade. Escalabilidade a habilidade de satisfazer um requisito de aumento da capacidade de trabalho pela adio proporcional da quantidade de recursos. A escalabilidade quantificada por uma medida de linearidade, mantendo uma relao constante entre recursos e capacidade de trabalho. Esta linearidade permite a organizao planejar seus gastos com recursos de acordo com a expectativa de crescimento de sua capacidade de trabalho. Uma arquitetura escalvel construda tipicamente com base em uma infra-estrutura bsica passvel de repetio, cujo crescimento pode ser alcanado simplesmente com a adio repetidamente do mesmo conjunto de hardware bsico [Ho 2009]. Tradicionalmente, a escalabilidade projetada para garantir que o custo operacional possa crescer linearmente de acordo com a carga de trabalho. Usualmente, no h preocupao com a remoo de recursos nem a preocupao se os recursos so plenamente utilizados, por que os recursos adquiridos j so custo afundado. Por outro lado, a elasticidade a capacidade de provisionar e de24

COMPUTAO NA NUVEM

UMA VISO GERAL

provisionar rapidamente grandes quantidades de recursos em tempo de execuo. A elasticidade pode ser medida quantitativamente atravs do seguintes fatores: velocidade no provisionamento / de-provisionamento dos recursos; quantidade mxima de recursos que podem ser provisionados; e granularidade na contabilidade do uso dos recursos. importante notar que mesmo que se consiga elasticidade, quando uma aplicao colocada em um ambiente de computao na nuvem, a escalabilidade no uma conseqncia direta, ou seja, no um atributo natural da arquitetura do sistema. Para que o sistema seja de fato escalvel preciso tenha sido desenvolvido levanto este requisito no funcional em conta desde o inicio. Em casos extremos, o fato de colocar o aplicativo em um ambiente de computao na nuvem pode ter efeitos contrrios do desejado, i.e., consumo de recursos maior que o esperado, sem benefcios adicionais. A outra caracterstica central da computao na nuvem o modelo de pagamento de acordo com a utilizao dos recursos. Atualmente, servios utilitrios, tais como gua, eletricidade, gs e telefonia so considerados essenciais nas rotinas dirias. Estes servios so utilizados to freqentemente que precisam estar disponveis sempre que os consumidores necessitem deles. A maior parte destes servios oferecido atravs de modelos de contratos e convnios com provedores onde se paga apenas pela quantidade utilizada dos servios. Dentro do paradigma de computao na nuvem, os consumidores de servios e recursos computacionais necessitariam pagar aos provedores apenas quando se utilizarem de tais servios. A grande vantagem do modelo permitir a contratao de novos recursos a medida em que estes se tornem necessrios, fazendo com que grandes investimentos em infra-estrutura e manuteno se tornem desnecessrios. Do ponto de vista de negcio, h dois direcionadores principais para adoo da computao na nuvem, validos para adoo de novas tecnologias de um modo geral: reduo de custos e aumento de capacidade . No modelo de computao na nuvem, a reduo de custos tem um carter evolucionrio, baseada principalmente no pagamento por uso (nos casos de utilizao de um provedor de nuvem pblico) e na virtualizao dos recursos no caso de uso da adoo de ambiente de computao na nuvem privado (ver Seo 3). J o aumento da capacidade proporcionado por este tipo de ambiente, principalmente por suas caractersticas de elasticidade e acesso aos recursos
25

KARIN BREITMAN E JOSE VITERBO

via Internet, tem um carter mais revolucionrio. O uso de ambientes de computao na nuvem viabiliza o surgimento de novos servios (ou aplicaes) que se beneficiem dessas caractersticas (elasticidade no provisionamento de recursos), independncia de localizao e dos dispositivos utilizados para acesso, que no ficam limitados a computadores apenas. A Figura 1, ilustra a contribuio das caractersticas dos ambientes de computao na nuvem com os dois principais direcionadores de negcios: reduo de custos e aumento da capacidade da organizao.

Figura 1 - Contribuio de caractersticas aos direcionadores de negcio

As caractersticas apresentadas tem o potencial de trazer grandes benefcios para os adeptos do modelo de computao na nuvem. Os benefcios da virtualizao so, entre outros, o aumento da eficincia de TI; economia de servidores com a consolidao; reduo de custos associados (espao, energia, refrigerao); tempo de chegada ao mercado (time-to-market) mais rpido; agiliza o deployment (processo de disponibilizao) de servidores e aplicaes; torna as configuraes mais consistentes; e, finalmente, oferece nveis de servio mais previsveis. claro que sempre haver falhas e paradas no programadas, mas virtualizao torna a recuperao mais rpida, fcil e com custo menor. Os benefcios da elasticidade so o aumento da agilidade com usurios aptos a reprovisionar rapidamente recursos de infra-estrutura; a liberao
26

COMPUTAO NA NUVEM

UMA VISO GERAL

dos desenvolvedores de projetar para picos de carga, e, alm disso, evitar a alocao superestimada de recursos, atravs do monitoramento do desempenho os recursos podem ser rapidamente ajustados. Com o processamento em ambientes de computao na nuvem, uma gama de aplicaes que fazem uso intensivo de recursos de infra-estrutura (ex: processamento, armazenamento) passam a contar com a possibilidade de acesso ubquo, atravs de uma grande variedade de dispositivos mveis. Como grande parte do processamento realizado na nuvem, estes dispositivos podem ser simples e desprovidos de grandes recursos de armazenamento e/ ou processamento, provendo independncia do dispositivo, da localizao, e a possibilidade da criao de interfaces para o acesso universal aos recursos atravs de visualizadores (browsers).] Os benefcios da virtualizao so, entre outros, a grande reduo no custo de investimento, que convertido em custo de operao; a reduo das barreiras de entrada, uma vez que a infra-estrutura tipicamente provida por terceiros e no precisa ser adquirida para computao intensiva de tarefas eventuais; e o modelo de precificao ajustado com base no uso de um ou mais recursos computacionais, vistos como utilitrios. 5. Tecnologias Associadas Para melhor entender o paradigma da computao na nuvem importante ter uma melhor compreenso das tecnologias sob as quais o mesmo se baseia. Nesta seo faremos uma breve discusso acerca das mais importantes delas. O leitor interessado encontrar na bibliografia comentada vrios ponteiros para outros trabalhos onde poder se aprofundar nos tpicos discutidos a seguir. 5.1 Plataforma Hadoop O projeto Apache Hadoop um framework Java para armazenamento e processamento em clusters de dados em larga escala. Este projeto foi inspirado em [Dean e Ghemawat 2008] e, atualmente, utilizado por diversas corporaes como Yahoo!, Amazon e Facebook. O Hadoop se prope a resolver problemas de escalabilidade das aplicaes, possibilitando o processamento de grandes volumes de dados, da ordem de grandeza de petabytes, tempo aceitvel. Foi criado a partir da necessidade de uma infra27

KARIN BREITMAN E JOSE VITERBO

estrutura comum que seja confivel e eficiente para ser utilizada em clusters. Como exemplo de eficincia, em 2008, o projeto foi o vencedor do Terabyte Sort Benchmark (Sort Benchmark, 2010) ao ordenar 10 bilhes de registros de 100 bytes cada em 209 segundos, o recorde anterior era 297 segundos, em um cluster com 910 ns. A arquitetura do Hadoop dividida a partir dos subprojetos apresentados na Figura 2. Os subprojetos HDFS, sistema de arquivos distribudos, e MapReduce, para sistema para agendamento e execuo de tarefas distribudas, so os mdulos chave da arquitetura do Hadoop, e so detalhados a seguir.

Figura 2 - Arquitetura do Projeto Apache Hadoop

5.2 HDFS O HDFS Hadoop Distributed File System o sistema de arquivos distribudos do Hadoop, e tem como o objetivo o armazenamento de grandes quantidades de dados atravs de mltiplos ns. Baseado no Google File System (Ghemawat et. al., 2003), o HDFS realiza o tratamento a possveis falhas de hardware ao replicar os dados em diferentes ns do cluster. Por padro, os dados so divididos em blocos de 64 MB, e so replicados em trs ns dois ns no mesmo rack e outro em um rack diferente. Esta estratgia chamada de rack-awareness, onde o framework tenta maximizar o trfego de dados entre ns do mesmo rack. A topologia do HDFS dividi-se em um NameNode e diversos DataNodes. O primeiro responsvel por gerenciar os metadados e a
28

COMPUTAO NA NUVEM

UMA VISO GERAL

localizao dos diversos blocos de dados. J os DataNodes tratam do armazenamento dos blocos. Como s existe um nico NameNode em um cluster Hadoop, este se torna um ponto nico de falha. Caso o NameNode falhe, o sistema de arquivos do Hadoop fica offline. Desenvolvedores tem acesso ao HDFS atravs de interfaces Java que permitem no apenas utilizar o sistema de arquivos do Hadoop, mas tambm alternar para sistemas de arquivos distintos. Dentre os atualmente suportados, esto: HDFS: o prprio sistema de arquivos do Hadoop; Amazon S3: sistema de arquivos da infra-estrutura de computao na nuvem da Amazon. Em situaes onde todos os ns so remotos, no h suporte a rack-awareness; CloudStore: implementao C++ do Google File System; FTP: armazena os dados em servidores FTP acessveis remotamente (tambm no suporta rack-awareness). 5.3 MapReduce O modelo de programao Map/Reduce foi apresentado inicialmente em (Dean e Ghemawat, 2008) para o processamento e gerao de grandes quantidades de dados, e envolve dois passos: o mapeamento e a reduo. No passo de mapeamento, o n mestre divide os dados de entrada em subproblemas e os distribui para resoluo pelos mappers. Basicamente, um mapper (elemento responsvel por processar uma sub-tarefa, mapeador) processa o subproblema e envia a resposta ao n mestre. Este, ao receber as respostas de todos os subproblemas distribudos aos mappers passa etapa de reduo, onde estas respostas so combinadas e enviadas aos reducers (elementos responsveis por combinar respostas enviadas pelos mapeadores, redutores) que processam estas combinaes de respostas a fim de obter uma nova resposta e as enviam de volta ao n mestre, que obter ento a resposta do problema original. A Figura 3 ilustra este fluxo de dados na resoluo de um problema neste modelo de programao.

29

KARIN BREITMAN E JOSE VITERBO

Figura 3 - Fluxo de dados na resoluo de um problema no modelo de programao Map/Reduce

O Hadoop MapReduce implementa este modelo de programao e, atuando em conjunto com o HDFS, permite uma eficiente alocao mappers e dos reducers utilizados durante a resoluo do problema. Desta forma, o processamento de um dado direcionado para o n onde este dado de entrada est replicado. Este processo implementa a seguinte mxima: moving computation is cheaper than moving data, mais barato mover o processo computacional do que mover dados. De forma semelhante ao HDFS, o Hadoop MapReduce tambm apresenta um nico servidor, encarregado de gerenciar os mappers e reducers, chamado de JobTracker (rastreador de tarefas). o JobTracker que determina como dividir os dados de entrada, e para quais ns no cluster enviar os subproblemas para resoluo. Ele recebe as respostas, combinaas e as envia para os reducers. um ponto nico de falha, como o
30

COMPUTAO NA NUVEM

UMA VISO GERAL

NameNode, e durante a execuo de tarefa cria diversos check points, de acordo com a evoluo da mesma. Caso o JobTracker falhe durante este processo, pode reiniciar a tarefa a partir do ltimo check point. Os ns que realizam os subproblemas so chamados de TaskTrackers, e a alocao dos mesmos pelo JobTracker feita de forma simples, no levando em conta o atual processamento dos mesmos, apenas considerando o nmero de processos que esto executando no n. Como desvantagem, caso um TaskTracker demore a apresentar seu resultado, toda a realizao da tarefa prejudicada, visto que o incio da fase seguinte reduo ou finalizao depende do sucesso de todos os TaskTrackers envolvidos. Na figura a seguir exibida a topologia do Hadoop Mad/Reduce em paralelo com a do HDFS. A execuo de uma tarefa no Hadoop chamada de job segue o diagrama ilustrado pela Figura 4. Um cliente Hadoop contacta o NameNode para armazenamento e recuperao de dados ou o JobTracker para submisso de tarefas. O NameNode possui o mapeamento entre os blocos de arquivos e os ns escravos DataNodes. O JobTracker submete subproblemas da tarefa original para os TaskTrackers. Como forma de otimizar o processo de resoluo do problema, os subproblemas enviados aos TaskTrackers contm dados que estejam presentes no mesmo n.

Figura 4 - Execuo de uma tarefa no Hadoop


31

KARIN BREITMAN E JOSE VITERBO

6. Arquitetura O modelo conceitual de computao na nuvem encontrado com maior freqncia na literatura a arquitetura em trs camadas ilustrada na figura a seguir.

Figura 5 - Arquitetura em trs camadas para a computao na nuvem

Neste modelo a camada inferior composta por plataformas internet para desenvolver, testar, implantar e executar aplicaes prprias. Comumente abreviada pelo acrnimo IaaS - Infrastructure as a Service (Infra-estrutura como Servio), esta camada se caracteriza pela utilizao de servidores (ou parte deles), para o desenvolvimento de software proprietrio. Exemplos so o Force.com, Google App Engine, Bungee, LongJump, Coghead (SAP) e Etelos. A camada intermediria composta por hardware virtual, disponibilizado como servios. So plataformas que oferecem algum tipo de servio especifico, tais como um banco de dados, servios de mensagem (MOM) e servios de armazenamento de dados. comumente abreviada pelo acrnimo PaaS Plataform as a Service (Plataforma como Servio). Exemplos so Rackspace, Mosso, Cloudera, Hadoop (ver seo 1.5.2 em diante), GData,
32

COMPUTAO NA NUVEM

UMA VISO GERAL

Flexiscale, Eucalyptus, Nimbus e os diversos tipos de plaformas de servios comercializados pela comercializados pela Amazon: Web Services (AWS), EC2, S3, SimpleDB, SQS. A camada superior composta por aplicativos de software que so executados em um ambiente de computao na nuvem. So aplicaes completas ou conjuntos de aplicaes disponveis pela Web, cujo uso regulado por diversos modelos de negcio, permitem customizao e, em geral, tambm podem ser utilizadas de forma offline. Comumente so abreviadas pelo acrnimo SaaS - Software as a Service (Software como Servio). Exemplos so o Facebook, Google Docs , Microsoft SharePoint, SAP Bussiness ByDesign, entre muitos outros. Youseff, Butrico e Silva propem uma ontologia para computao na nuvem composta de cinco camadas: aplicativos, ambientes de software, infra estrutura de software, kernel (ncleo) de software, e hardware [Youseff et al. 2009]. Reproduzimos a ontologia proposta pelas autoras na Figura 6.

Figura 6 - Ontologia para computao na nuvem proposta por Youseff, Butrico e Silva [Youseff et al. 2009].

O interessante deste modelo a elaborao das camadas inferiores. Os servios que se encontram comumente agregados sob a abstrao de IaaS (infra-estrutura como servio) na maior parte dos modelos de arquitetura de nuvem, so elaborados nos servios de infra-estrutura propriamente dita, dados, comunicao e nas camadas de kernel (ncleo) e de hardware. Esta separao permite com que se trate da virtualizao de maquinas de forma
33

KARIN BREITMAN E JOSE VITERBO

distinta da qualidade de servio (QoS) da rede de comunicao, por exemplo. A separao em camadas destes trs servios: infra-estrutura, dados e comunicao, tambm permite um isolamento de questes relativas a gerncia de software dos servidores fsicos, i.e., a implementao propriamente dita, se como OS kernel, hypervisor, maquina virtual, ou utilizando-se um middleware para construo de grids. Imediatamente abaixo, est a camada de Haas hardware as a service (harware como servio) que trata dos equipamentos propriamente ditos. Os usurios desta camada so os prprios provedores de servios de computao na nuvem. 7. Plataformas para a computao na nuvem Nesta seo discutimos duas das principais plataformas mais utilizadas para a implementao de infra-estruturas e aplicativos de computao na nuvem. 7.1 Amazon Web Services Sem dvida alguma a Amazon fornece o conjunto mais completo de servios de apoio a computao na nuvem. Das plataformas comerciais a mais antiga, foi lanada em 2002. A seguir descrevemos alguns destes servios. Amazon EC2 O Amazon Elastic Compute Cloud um ambiente virtual de computao, que permite que se utilize interfaces baseadas em web services para instanciar servidores na nuvem. O EC2 prov trs tipos de instncias: padro, com muita memria, e com grande capacidade de processamento. As instancias so criadas escolhendo-se dentre uma imensa variedade de imagens pr-configuradas, chamadas Amazon Machine Images (AMI). Estas imagens suportam uma grande variedade de sistemas operacionais, por exemplo. Windows, OpenSolaris, Debian, Fedora, e vrios tipos de Unix (Ubuntu, opensSUSE, Gentoo, RedHat). Alem de oferecer varias imagens com aplicativo j instalados (IBM WebSphere, Oracle WebLogic Server, Ruby on Rails, JBoss), tambm permite com que os usurios preparem suas prprias imagens, que podero ser replicadas em suas instancias no EC2. A grande vantagem do EC2 o tempo reduzido para as operaes de provisionamento e de deprovisionamento destas instancias, que gira em torno de 5 minutos.
34

COMPUTAO NA NUVEM

UMA VISO GERAL

Amazon S3 Este um servio de armazenamento on line, que permite a manipulao ( Leitura/Escrita/Deleo) de objetos cujo tamanho em bits varia de 1B a 5GB. O acesso aos objetos armazenados realizado atravs de APIs no padro REST ou SOAP. O servio um dos mais antigos oferecidos pela Amazon, e tem usurios famosos, entre eles os Twitter, que se utiliza do S3 para armazenar imagens e o SmugMug, servio on line de impresso e armazenamento de fotografias. Estima-se que, no momento em que este texto foi preparado, este servio seja responsvel pelo armazenamento de quase cem bilhes de objetos. Simple DB - um um servio que prov, atravs da nuvem, as principais funes de bancos de dados relacional, por exemplo, busca e indexaco. Este servio permite a criao e armazenamento de mltiplos conjuntos de dados atravs de uma interface REST, o que permite a manipulao simples das informaes. Este servio no demanda um modelo conceitual para banco de dados, mas realiza a indexao automtica dos dados. Amazon Cloud Front - um web service que tem como objetivo facilitar e racionalizar a distribuio de contedos (arquivos) na internet. Para tal conta com uma rede global de servidores, distribudos em vrios pontos estratgicos do planeta. Estes so chamados de edge locations e so responsveis por redistribuir e guardar copias de arquivos. A cada requisio recebida, o servio responsvel por avaliar e redirecionar automaticamente o pedido para o servidor na localizao mais prxima. O Amazon CloudFront utiliza a Amazon S3 como seu servidor de origem, onde os objetos so inicialmente armazenados. A partir da primeira requisio em uma localidade distante, o objeto transferido e mantido no servidor, para agilizar as requisies subseqentes. O servio tambm oferece informaes detalhadas sobre o trfego atravs dos logs de acesso. No momento da produo deste texto, a Amazon contava com servidores em diversas localidades do Estados Unidos, Europa e sia. Amazon Elastic MapReduce este servio utiliza uma infra-estrutura Hadoop (veja seo 1.5 para mais detalhes) que est implementada e rodando sobre a prpria infraestrutura provida pelos servios Amazon Elastic Compute Cloud (Amazon EC2) e AmazonSimple Storage Service (Amazon S3). O Amazon Elastic MapReduce permite a implementao de aplicaes para processamento de grandes volumes de informaes usando diversas linguagens: Java, Perl, Ruby, Python,PHP ou C++.
35

KARIN BREITMAN E JOSE VITERBO

Amazon Relational Database Services (RDB) este servio permite o projeto e implementao de uma banco de dados relacional na nuvem. Prove funcionalidades similares as do banco de dados MySQL, alem de adicionar cdigo suplementar para fazer com que o cdigo, aplicativos e ferramentas do usurio possam ser executadas utilizando-se o Amazon RDB. O servio suporta cinco tipos diferentes de instancias, que vo desde a menor com a capacidade de uma CPU3 at a maior com a capacidade de processamento de vinte e seis CPUs. 7.2 Microsoft Azure O Windows Azure a proposta da Microsoft para servios de computao na nuvem . O servio consiste em uma plataforma para execuo de aplicaes, conhecida como PaaS (Plataforma como servio), onde o programador encontra um conjunto de recursos que facilitam o desenvolvimento de aplicativos de software. A plataforma composta, essencialmente, por tres grandes componentes, que formam o ncleo do servio. So eles as unidades de computao, o espao para armazenamento e o Fabric. Na figura a seguir ilustramos os componentes bsicos da arquitetura do Azure. As unidades, tambm chamados de ns, de computao podem ser mquinas virtuais ou fsicas, e so caracterizadas pelo seguinte conjunto de atributos: velocidade do processador, quantidade de memria e tamanho do disco local. O espao para armazenamento composto de estruturas de dados criadas a partir de abstraes j conhecidas, como tabelas, arquivos e filas.

Figura 7 - Arquitetura do Microsoft Azure


3

Neste caso est se considerando que uma CPU tem a capacidade de processamento de um processador Xeon ou Opteron 2007 de 1.0-1.2 GHz.

36

COMPUTAO NA NUVEM

UMA VISO GERAL

A plataforma, por sua vez, composta por um componente chamado Fabric Controller, que o software responsvel por gerenciar e monitorar todos os recursos do datacenter, como: servidores, IPs, balanceadores de carga, switches, roteadores, entre outros. Este componente tambm responsvel pelo processo de gerncia do ciclo e vida da aplicao, e pela manuteno de nveis satisfatrios de servios, descritos atravs de SLAs. A plataforma Azure tambm intruduz o conceito de Fault Domain, que tem como objetivo reduzir o risco de indisponibilidade das aplicaes. Este componente monitora e se utiliza da topologia do datacenter para realizar esta tarefa. Por exemplo, todas as mquinas fsicas de um mesmo rack esto conectadas a um mesmo switch. No caso de uma falha deste switch, as aplicaes ficariam indisponveis. Ento, o Fabric Controller pode alocar uma determinada aplicao em servidores diferentes. Resumidamente, o Fault Domain evita pontos nicos de falha, garantindo a disponibilidade do servio. Outro conceito importante o Update Domain, que permite especificar quais partes da aplicao podem ficar offline simultaneamente. Assim, nem mesmo no evento de um upgrade, a aplicao fica inacessvel. Os chamados papeis (roles) so funes em que as aplicaes hospedadas so divididas. Existem trs bsicos de papis: Web Role, FastCGI Web Role e Worker Role. O Web Role um website tradicional, desenvolvido com a tecnologia ASP.NET e utilizado como interface da aplicao, e fica disponvel publicamente na internet. O FastCGI Web Role semelhante ao anterior, diferenciando-se pela tecnologia utilizada, pois adiciona mecanismos (handlers) ao servidor web permitindo a execuo de vrias linguagens, como PHP, Phyton, Ruby, entre outras. Porque o Worker Role utilizado para rodar processos em background, no possui uma interface pblica. Cada papel pode ser executado em vrios ns, garantindo a escalabilidade das aplicaes. Todos os papeis tem acesso rea de armazenamento de dados, portanto, a intercomunicao entre os mesmos pode ser feita atravs das estruturas, que so explicadas a seguir. O espao para armazenamento de dados (storage) possui trs estruturas, como citado anteriormente, so elas: Blobs (arquivos), Tables (tabelas) e Queues (filas). Todos os dados criados no sistema de armazenamento so replicados automaticamente para fornecer alta disponibilidade e confiabilidade. A utilizao destas estruturas se d atravs de APIs fornecidas pelo servio, que so chamadas passando-se como parmetros uma identificao nica e uma chave. Blob uma representao genrica para arquivos. Estes arquivos devem ser organizados em Containers,
37

KARIN BREITMAN E JOSE VITERBO

que so divises lgicas semelhante a diretrios, onde se pode configurar permisses de acesso. Cada blob pode ter um tamanho mximo de 50GB e o upload feito em blocos, permitindo o envio paralelo. A Table uma abstrao para tabela, com algumas diferenas para as tradicionais tabelas dos bancos de dados relacionais. A principal diferena a falta de estrutura fixa, ou seja, cada linha da tabela, ou Entity como foram nomeadas no Azure, pode conter um conjunto de propriedades (Properties) diferentes. Duas propriedades obrigatrias so utilizadas como identificador nico dentro de uma tabela, so elas: PartitionKey e a RowKey. A primeira (PartitionKey) possibilita escalabilidade, j que as tabelas podem ser divididas em parties e armazenadas em ns diferentes, mesmo pertencendo mesma tabela. J a RowKey funciona como um identificador dentro de uma partio. Por fim, a fila um conjunto de mensagens ordenadas, com tamanho mximo de 8KB, e tem como objetivo principal a comunicao entre roles, como, por exemplo, a distribuio de trabalho assncrono vista na implementao mostrada no prximo tpico. 8. Desafios de pesquisa em computao na nuvem A novidade deste tpico, aliada aos pesados investimentos que a indstria vem fazendo na rea, tem criado excelentes oportunidades para a pesquisa e desenvolvimento de software de qualidade. Com o objetivo de fornecer um pequeno panorama das oportunidades de pesquisa na rea, discutimos, a seguir, quatro tpicos de grande interesse: provenincia, requisitos nofuncionais, bibliotecas de imagens e modelos de cobrana. Provenincia ou rastreabilidade de dados definida em funo da capacidade de se definir a origem, lugar ou processo, dos dados. Metadados so definidos como dados sobre dados [Breitman 2007]. Tanto a provenincia de dados, quanto a gerncia de metadados na nuvem ainda so assuntos de pesquisa abertos. Podemos classificar este tipo de informao nos seguintes tipos [Vouk 2008]: Provenincia de processos dinmica de controle dos fluxos e de sua progresso, informaes relativas a execuo de processos na nuvem, desempenho do cdigo e rastreabilidade. Provenincia de dados fonte dos dados, localizao (fsica e virtual) de arquivos, informao de entrada e sada de processos e funes que alteram dado.
38

COMPUTAO NA NUVEM

UMA VISO GERAL

Provenincia de fluxo de dados (workflows) estrutura, forma, evoluo do prprio fluxo [Belhajjame et al 2008]. Provenincia de sistemas (ambientes) Dados acerca dos atributos sistmicos, sistemas operacionais, configuraes, imagens utilizadas, compiladores, dispositivos de entrada e sada utilizados. O leitor atento deve ter feito um paralelo com os modelos conceituais para a computao na nuvem apresentados na Seo 6. De fato, a questo da provenincia e da utilizao de metadados transversal a ontologia para a computao na nuvem discutida anteriormente, i.e., independente da camada de servio, provenincia uma questo importante [Li e Huan 2008]. Questes relevantes para a pesquisa na rea englobam o desenvolvimento de novos mtodos, tcnicas e ferramentas para o levantamento e representao de informao de provenincia, o desenvolvimento, elaborao e adequao de padres existem para a utilizao junto a infra-estrutura, plataformas e aplicativos na nuvem; anotao automtica de dados de provenincia, bem como metadados, Modelos de representao que facilitem a indexao e promovam a interoperabilidade de informaes de provenincia e, finalmente, interfaces adequadas para a captura, manipulao e integrao de destes dados por parte dos usurios [Balis et al. 2008]. A prpria natureza dos aplicativos, plataformas e infra-estrutura de computao na nuvem faz com que os impactos de determinados requisitos no-funcionais passem a ser muito mais relevantes do que para sistemas do tipo tradicional. Discutimos alguns deles no que se segue. Segurana Talvez a maior barreira para a adoo do paradigma de computao na nuvem seja a percepo de segurana por parte dos usurios. Notem que fazemos uma distino entre a percepo e segurana propriamente dita. Para que os usurios finais se sintam a vontade em colocar dados e aplicativos sensveis em um ambiente controlado por terceiros, necessrio assegurar-lhes que os mesmos estaro em um ambiente seguro, privado e sobretudo confivel. Estas questes trazem a tona vrias oportunidades de pesquisa tanto na rea da Engenharia de Requisitos quanto na rea de Redes [Kaufman 2009, Jensen et al 2009, Kandukuri et al 2009]. Escalabilidade Nas ltimas dcadas a prtica da Engenharia de Software tem sido voltada ao tratamento da escalabilidade de sistemas, processos e servios, i.e., a habilidade de manipular uma poro crescente de trabalho de forma uniforme, ou estar preparado para crescer [Bondi 2000]. O cenrio
39

KARIN BREITMAN E JOSE VITERBO

na computao na nuvem diferente, pois, ao contrario da escalabilidade unidirecional, busca-se a elasticidade de sistemas, processos e servios. Definimos como elasticidade a capacidade de adequao a variaes de demanda, i.e., a capacidade de expanso ou retrao voluntaria e controlada, como resposta a um estimulo. A elasticidade um assunto muito pouco explorado na literatura de Engenharia de Software, e representa uma excelente rea de pesquisa. [Zhang et al 2009, Catteddu e Hogben 2009]. Uma outra rea passvel de explorao a construo de bibliotecas de imagens e componentes, que facilitem e agilizem o processo de contratao e terminao de instancias de maquinas virtualizadas. O gerenciamento de licenas de software, bem como novos modelos que explorem o lease, ou pagamento pela utilizao de licenas de sofware proprietrio so assuntos correlatos, e oferecem bons tpicos de pesquisa. [Dalheimer et al. 2009]. Finalmente gostaramos de apontar para a necessidade de aplicativos de monitorao e medio do volume de recursos utilizados, por exemplo, armazenamento, processamento, trfego, consultas e transaes [Lim et al 2009]. Estes sero fundamentais na construes de novos modelos de billing (cobrana) de servios externos contratados, no monitoramento do volume de recursos utilizado e na otimizao dos processos de tomada de deciso. [Elmroth et al 2009, Li et al 2009, Greenberg et al 2009]. 9. Concluso A computao na nuvem um assunto muito novo, e muitas so as possveis direes futuras. Em relao aos aplicativos de software, muito possvel que a grande parte destes seja executada de forma hibrida, i.e., parte nos clientes e parte na nuvem. Este fato gera a necessidade de mecanismos que faam com que a parte dos aplicativos localizada na nuvem seja de fato escalvel, i.e., aumente e diminua para se adaptar a demanda. Este um novo requisito no funcional, que pode mudar significativamente o modo em que desenvolvemos sistemas de software. Outros desafios so a segurana, privacidade e a preveno do trancamento de dados na plataforma de terceiros. Do ponto de vista da infra-estrutura necessrio desenvolver novos mecanismos de cobrana e monitoramento de aplicativos. O controle de licenas e novos modelos de licenciamento de software, baseado na utilizao, tem de ser vistos.
40

COMPUTAO NA NUVEM

UMA VISO GERAL

Neste artigo fizemos uma breve introduo ao tema da computao na nuvem. Fizemos uma opo por fazer uma exposio horizontal, englobando o mximo de assuntos possvel no espao disponvel. Desta forma, apresentamos um conjunto de definies, tecnologias associadas, caractersticas, requisitos, plataformas e discutimos algumas das questes de pesquisa da rea, com o intuito de despertar o interesse do leitor para o tema, e ao mesmo tempo fornecer um conjunto de informaes relevantes. Agradecimentos Este artigo no seria possvel sem a intensa colaborao do Prof. Markus Endler, com quem temos dividido cursos, projetos, publicaes e muitas discusses sobre computao na nuvem. Tambm gostaramos de agradecer aos alunos ecompanheiros de descobertas: Marcello Azambuja, Marcelo Barbosa, Silvano Buback, Edward Condori, Herbet Cunha, Marcelo Malcher, Renato Mogrovejo, Rafael Pereira, Lincoln Silva e Leonardo Kaplan. Referncias Bibliogrficas Armbrust, M., Fox, M., Griffith, R., et al. - Above the Clouds: A Berkeley View of Cloud Computing - In: University of California at Berkeley Technical Report no. UCB/EECS-2009-28, pp. 6-7, February 10, 2009. Balis, B., Bubak, M., Pelczar, M., and Wach, J. - Provenance Tracking and Querying in the ViroLab Virtual Laboratory. In Proceedings of the 2008 Eighth IEEE international Symposium on Cluster Computing and the Grid - CCGRID. IEEE Computer Society, Washington, DC, 675-680, 2008. Belhajjame, K., Wolstencroft, K., Corcho, O., Oinn, T., Tanoh, F., William, A., and Goble, C. 2008. Metadata Management in the Taverna Workflow System. In Proceedings of the 2008 Eighth IEEE international Symposium on Cluster Computing and the Grid (May 19 - 22, 2008). CCGRID. IEEE Computer Society, Washington, DC, 651-656. Bondi, A. - Characteristics of scalability and their impact on performance -0 Proceedings of the 2nd international workshop on Software and Performance, Ottawa, Ontrio, Canad, 2000, pp. 195 203.
41

KARIN BREITMAN E JOSE VITERBO

Buyya,R.; Yeo, C. S.; Venugopal, S. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities. 2008. Carr, N. Big Switch: Rewiring the World, from Edison to Google - W.W. Norton & Company, 2008. Catteddu, D. and Hogben, G. 2009. Cloud Computing: benefits, risks and recommendations for information security. Technical Report. European Network and Information Security Agency. Cearley, D. et al Hype Cycle for Application Development Gartner Group report number G00147982 Relatrio tcnico do grupo gartner. Acessvel em: http://www.gartner.com/, 2009. Chirigati, F.S. Notas de aula - Disponvel on line em: http://www.gta.ufrj.br/ ensino/eel879/trabalhos_vf_2009_2/seabra/index.html. Chung, L. et al. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers. 2000. Dalheimer, M. and Pfreundt, F. 2009. GenLM: License Management for Grid and Cloud Computing Environments. In Proceedings of the 2009 9th IEEE/ ACM international Symposium on Cluster Computing and the Grid (May 18 - 21, 2009). CCGRID. IEEE Computer Society, Washington, DC, 132-13. Dean, J. and Ghemawat, S. 2008. MapReduce: simplified data processing on large clusters. Commun. ACM 51, 1 (Jan. 2008), 107-113. Dikaiakos , M. D.; Pallis, G.; Katsaros, D.; Mehra, P.; Vakali, A. Cloud Computing Distributed Internet Computing for IT and Scientific Research. IEEE Internet Computing, 13(5): 10-13, setembro/outubro 2009. Elmroth, E., Marquez, F. G., Henriksson, D., and Ferrera, D. P. 2009. Accounting and Billing for Federated Cloud Infrastructures. In Proceedings of the 2009 Eighth international Conference on Grid and Cooperative Computing IEEE Computer Society, Washington, DC, 268-275.
42

COMPUTAO NA NUVEM

UMA VISO GERAL

Ghemawat, S., Gobioff, H., and Leung, S. 2003. The Google file system. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (Bolton Landing, NY, USA, October 19 - 22, 2003). SOSP 03. ACM, New York, NY. Gilder, G. The Information Factories, Wired Magazine, Outubro, 2006. Hadoop - Project Apache Hadoop. http://hadoop.apache.org/. Acessado em fevereiro de 2010. Hand, E. - Head in the clouds. Nature, (449):963, Oct 2007. Hassan, M. M., Song, B., and Huh, E. 2009. A framework of sensor-cloud integration opportunities and challenges. In Proceedings of the 3rd international Conference on Ubiquitous information Management and Communication (Suwon, Korea, January 15 - 16, 2009). ICUIMC 09. ACM, New York, NY, 618-626. Ho, R. - Between Elasticity and Scalability Computing. Pragmatic Programming Techniques. Disponvel em: http://horicky.blogspot.com/2009/07/betweenelasticity-and-scalability.html. Jensen, M., Schwenk, J., Gruschka, N., and Iacono, L. L. 2009. On Technical Security Issues in Cloud Computing. In Proceedings of the 2009 IEEE international Conference on Cloud Computing - CLOUD. IEEE Computer Society, Washington, DC, 109-116. Jinesh Varia, Cloud Architectures, artigo disponvel atravs do site: http:// jineshvaria.s3.amazonaws.com/public/cloudarchitectures-varia.pdf. Johnston, S. Cloud Computing Bill of Rights acessvel em: http:// wiki.cloudcommunity.org/wiki. Kandukuri, B. R., V., R. P., and Rakshit, A. 2009. Cloud Security Issues. In Proceedings of the 2009 IEEE international Conference on Services Computing Symposium on Compiler Construction. IEEE Computer Society, Washington, DC, 517-520.
43

KARIN BREITMAN E JOSE VITERBO

Kaufman, L. M. 2009. Data Security in the World of Cloud Computing. IEEE Security and Privacy 7, 4 (Jul. 2009), 61-64. Li, D. and Huan, L. 2008. The Ontology Relation Extraction for Semantic Web Annotation. In Proceedings of the 2008 Eighth IEEE international Symposium on Cluster Computing and the Grid (May 19 - 22, 2008). CCGRID. IEEE Computer Society, Washington, DC, 534-541. Li, X., Li, Y., Liu, T., Qiu, J. and Wang, F. 2009. The Method and Tool of Cost Analysis for Cloud Computing. In IEEE International Conference on Cloud Computing, Bangalore, India, September 2009, 93-100. Greenberg, A., Hamilton, J., Maltz, D. and Patel, P. 2009. The Cost of a Cloud: Research Problems in Data Center Networks. ACM SIGCOMM Computer Communication Review, 39, 1. Lim, H. C., Babu, S., Chase, J. S., and Parekh, S. S. 2009. Automated control in cloud computing: challenges and opportunities. In Proceedings of the 1st Workshop on Automated Control For Datacenters and Clouds). ACDC 09. ACM, New York, NY, 13-18. Miceli, C., Miceli, M., Jha, S., Kaiser, H., and Merzky, A. 2009. Programming Abstractions for Data Intensive Computing on Clouds and Grids. In Proceedings of the 2009 9th IEEE/ACM international Symposium on Cluster Computing and the Grid (May 18 - 21, 2009). CCGRID. IEEE Computer Society, Washington, DC, 478-483. Natis, Y et al. Cloud, SaaS, Hosting and Other Off-Premises Computing Models. ID Number: G00159042. Julho, 2008. Nurmi, D., Wolski, R., Grzegorczyk, C., Obertelli, G., Soman, S., Youseff, L., and Zagorodnov, D. 2009. The Eucalyptus Open-Source CloudComputing System. In Proceedings of the 2009 9th IEEE/ACM international Symposium on Cluster Computing and the Grid - CCGRID. IEEE Computer Society, Washington, DC, 124-13. Richardson, L. Restful Web Services OReilly - 2007.
44

COMPUTAO NA NUVEM

UMA VISO GERAL

Ricky Ho - Between Elasticity and Scalability Computing. PragmaticProgramming Techniques. Disponvel em http:// horicky.blogspot.com/2009/07/between-elasticity-and-scalability.html. Sato, K.; Sato, H.;Matsuoka, S. - A Model-Based Algorithm for Optimizing I/O Intensive Applications in Clouds Using VM-Based Migration, ccgrid, pp.466-471, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, 2009. Smith, D. et al. The What, Why and When of Cloud Computing. ID Number: G00168582. Gartner Junho, 2009. SUN Microsystems - Take your Business to a Higher Level. Sun Cloud Computing acessvel em: http://www.propelmg.com/sunfed/fedminute/ downloads/Sun_Cloud_Computing_Primer.pdf. Vaquero, L. M., Rodero-Merino, L., Caceres, J., and Lindner, M. 2008. A break in the clouds: towards a cloud definition. SIGCOMM Comput. Commun. Rev. 39, 1 (Dec. 2008), 50-55. Vogels, W., (2008) A Head in the Clouds The Power of Infrastructure as a Service, In: First workshop on Cloud Computing in Applications (CCA08), October, 2008. Vouk, M.A., Cloud Computing Issues, Research and Implementations, 30th International Conference on Information Technology Interfaces, June, 2008, pp. 31-40. Youseff, L., Butrico, M. and Da Silva, D. 2008. Toward a Unified Ontology of Cloud Computing. In Grid Computing Environments Workshop (GCE08), Austin, Texas, USA, November 2008, 1-10. Zhang, X., Schiffman, J., Gibbs, S., Kunjithapatham, A., and Jeong, S. 2009. Securing elastic applications on mobile devices for cloud computing. In Proceedings of the 2009 ACM Workshop on Cloud Computing Security CCSW 09. ACM, New York, NY, 127-134.

45

Fundamentos de Computao Nuvem para Governos


Adriano Martins Servio Federal de Processamento de Dados (SERPRO) Braslia DF Brasil adriano.martins@serpro.gov.br

Abstract. This paper describes the history of the emergence of the term cloud computing, its concepts from the bare metal to utility computing models and also include its services models and clouds models practiced by much of the current IT market worldwide. It also warns those involved in its implementation on the implications for IT as well as the forces of influence for a new concept that comes to the formation of this new model. Finally, discusses essentials standards for those who need to implement it. Resumo. Este artigo descreve o histrico do surgimento do termo computao em nuvem, seus conceitos desde o bare metal at a computao utilitria passando tambm pelos seus modelos de servios e de nuvens praticado pela grande parte do atual mercado de TI mundial. Alm disso, alerta os envolvidos em sua implementao sobre as implicaes para TI bem como as foras de influncia de um novo conceito que surge para formao desse novo modelo. Por fim, trata de padres de tecnologia essenciais para quem necessita comear sua implementao. 1. O que a nuvem? O termo nuvem tem sido usado historicamente como uma metfora para a internet. Seu uso foi originalmente derivado de sua descrio em
47

ADRIANO MARTINS

diagramas de rede como um delineamento de uma nuvem, usados para representar transportes de dados atravs backbones de rede at um outro ponto final do outro lado da nuvem. Esse conceito datado do incio do ano de 1961 quando o Professor John McCarthy sugeriu que a computao de compartilhamento de tempo poderia levar a um futuro onde o poder computacional e at aplicaes especficas seriam vendidas atravs de um modelo de negcios utilitrio. Essa idia era muito popular no final de dcada de 60. Entretanto, no meio da dcada de 70 ela foi abandonada quando se tornou claro que as tecnologias da informao da poca no estavam aptas a sustentar um modelo desses de computao futurstica. Entretanto, com a virada do milnio, esse conceito foi revitalizado e foi neste momento de revitalizao que a computao em nuvem comeou a emergir nos crculos de tecnologia. 2. O surgimento da computao em nuvem Computao utilitria pode ser definida como o provisionamento de recursos computacionais e de armazenamento como um servio que pode ser medido, similar queles providos pelas empresas de pblicas que prestam esses tipos de servios. E claro que isso no uma nova idia nem mesmo algo com um nvel alto de inovao ou outro mesmo quebra de paradigma. Esse conceito novo de computao tem crescido e ganhado popularidade, tanto que empresas tm estendido o modelo de computao em nuvem provendo servidores virtuais em que departamentos de TI e usurios podem requerer acesso sob demanda. Algumas empresas que esto entrando agora no ramo da computao utilitria usam principalmente para necessidades no crticas; mas isso est mudando rapidamente, j que questes de segurana e confiabilidade esto sendo resolvidas. Algumas pessoas pensam que computao em nuvem o prximo grande boom do mundo de TI. Outros acreditam que somente outra variao de computao utilitria que foi repaginada na dcada passada como uma nova tendncia. Entretanto, no somente a buzzword computao em nuvem que est causando confuso entre as massas. Atualmente, com poucos players de mercado praticando esta forma de tecnologia e mesmo analistas de
48

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

diferentes companhias definindo o termo diferentemente, o significado do termo tem se tornado nebuloso. 3. Evoluo das Mquinas importante entender a evoluo da computao para se ter a contextualizao do ambiente que se fala hoje de computao em nuvem. Olhando para a evoluo do hardware, desde a primeira gerao at a quarta e atual, mostra como ns chegamos at aqui. A primeira gerao de 1943, quando os computadores Mark I e Colossus foram desenvolvidos, eles foram construdos usando circuitos hardwired e tubos a vcuo ambos usados durante a guerra. A segunda gerao de 1946, ocasio em que foi construdo o famoso ENIAC. Esse foi o primeiro computador reprogramvel e capaz de resolver um grande leque de problemas computacionais. Foi construdo com tubos terminicos e teve aplicabilidade durante a guerra. Mas o que marcou a segunda gerao foram os computadores com transistores, o que dominou o final dos anos 50 e incio dos 60. Apesar de usarem transistores e circuitos impressos, eles eram caros e pesados. A terceira gerao foi consagrada pelos circuitos integrados e microchips e foi nesta era que comeou a miniaturizao dos computadores e eles puderam ser portados para pequenos negcios. A quarta gerao a que estamos vivendo neste momento, que utilizamos um microprocessador que pe a capacidade de processamento computacional em um nico chip de circuito integrado. O hardware, entretanto, somente parte desse processo revolucionrio. Dele fazem parte, tambm, o software, redes e regras/protocolos de comunicao. A padronizao de um nico protocolo para a Internet aumentou significativamente o crescimento de usurios on-line. Isso motivou muitos tecnlogos a fazerem melhorias nas atuais formas de comunicao e criao de outras em alguns casos. Hoje falamos de IPv6 a fim de mitigarmos preocupaes de endereamento na rede e incrementar o uso da comunicao na internet. Com o tempo, foi-se abstraindo os conceitos e criou-se uma interface comum de acesso Internet que se usou de facilidade de hardware e software: o uso de web browser.
49

ADRIANO MARTINS

Com isso, comeava a popularizao do uso da rede e a disseminao em massa de conhecimentos para a humanidade, mesmo que de forma no intencional era o comeo da migrao do modelo tradicional para um modelo de nuvem. O uso de tecnologias como virtualizao de servidores, processamento de vetores, multiprocessamento simtrico e processamento paralelo massivo impulsionaram ainda mais a mudana. 4. Definio de Cloud Computing Cloud computing um modelo que habilita de forma simplificada o acesso on-demand a uma rede, a qual possui um pool de recursos computacionais configurveis (por exemplo, redes, servidores, storages, aplicaes e servios) que podem ser rapidamente provisionados, configurados e liberados com um esforo de gerenciamento mnimo e automatizado. Esse modelo de cloud prov alta disponibilidade e composto de cinco caractersticas essenciais, trs modelos de servios e quatro modelos de implantao. 5. Caractersticas Essenciais On-demand self-service: um consumidor pode unilateralmente provisionar recursos computacionais, como servidor dns ou storage, de acordo com sua necessidade, sem a obrigatoriedade de interao humana com o provedor de servio. Acesso a rede: acesso a rede permitida por diferentes mecanismos e heterogeneidade de plataformas clientes: Mobiles, laptops e Pdas. Pool de Recursos: os recursos computacionais de um provedor so agrupados, a fim de servirem mltiplos consumidores num modelo multiuso, com recursos fsicos e virtuais diferentes, provisionados e reprovisionados de acordo com a demanda do cliente. H um senso de localizao independente; o cliente no sabe exatamente onde esto localizados os recursos aprovisionados e nem tem o controle e conhecimento desse local. Os recursos normalmente so: processador, memria, banda de rede e mquinas virtuais. Rpida elasticidade: capacidade de rapidamente e elasticamente provisionar recursos, e em alguns casos automaticamente, para
50

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

rapidamente aumentar os seus recursos e logo aps o trmino voltar ao estado inicial. Para o usurio final, esta capacidade de crescer e provisionar mais recursos parece ser ilimitada e pode ser conseguida em qualquer quantidade e a qualquer tempo. Servio mensurado: automaticamente, sistemas em cloud controlam e otimizam recursos levando em conta a capacidade de medir em algum nvel de abstrao apropriado pelo cada tipo de servio (p.ex: storage, processamento, banda de rede e usurios ativos). Recursos usados podem ser monitorados, controlados e reportados com transparncia, tanto para o provedor quanto o consumidos dos servios usados. 6. Modelos de servios A Computao em Nuvem est ligada a trs reas da TI: infraestrutura, plataforma e software. O que muitas vezes pode ser referenciado como formas, segmentos, estilos, tipos, nveis ou camadas de computao em nuvem. Ao invs de se falar em diferentes funcionalidades providas, melhor pensar em diferentes camadas, porque infraestrutura, plataforma e software logicamente construdas e subseqentemente interligados do um carter mais arquitetural e de integrao entre os nveis. Como a entrega dos recursos de TI ou capacidades como um servio uma caracterstica importante de Cloud Computing, as trs camadas de arquitetura de Cloud Computing so: 1. Infraestrutura como servio (IaaS); 2. Plataforma como Servio (PaaS); 3. Software como Servio (SaaS).

51

ADRIANO MARTINS

Figura 1: As trs camadas de computao em nuvem: SaaS, PaaS, and IaaS

7. Infraestructure as a Service IaaS (Infraestrutura como servio) Caracterstica provida para o cliente que provisiona, processamento, storage, rede e outros recursos computacionais fudamentais onde o cliente est apto a implantar e rodar qualquer software, o que pode incluir sistemas operacionais e aplicaes. O cliente no gerencia ou controla os recursos por trs dessa infraestrutura; contudo, tem controle sobre o sistema operacional, storage, aplicaes e possibilidade de controle limitada a alguns tipos de componentes de rede como, por exemplo, firewall. IaaS oferece recursos computacionais como processamento ou armazenamento, os quais podem ser obtidos como se fossem um servio. Exemplos so a Amazon Web Services com seu Elastic Compute Cloud (EC2) para processamento e Simple Storage Service (S3) para armazenamento e Joyent o qual prov uma infraestrutura sob demanda
52

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

escalvel para rodar web sites aplicaes web de interface ricas. Provedores de PaaS and SaaS podem recorrer a ofertas de IaaS baseadas em interfaces padronizadas. Ao invs de vender infraestrutura de hardware, provedores de IaaS oferecem infraestrutura virtualizada como um servio. Foster et al (2008) denomina o nvel de hardware puro, como computao, armazenamento e recursos de rede como camada de fbrica. Virtualizando, recursos de hardware que so abstrados e encapsulados e conseqentemente ser expostos prxima camada e aos usurios finais atravs da padronizao de interfaces como recursos unificados na forma de IaaS.

Figura 2: Arquitetura de nuvem relacionada com os Servios de Nuvem

J antes do advento da computao em nuvem, a infraestrutura j tinha sido colocada disposio como um servio por um bom tempo. Ela era referenciada como computao utilitria, o que usada por muitos para denotar a camada de infraestrutura de computao em nuvem. Entretanto, comparada aos recentes modelos de computao utilitria, IaaS denota sua evoluo em direo ao suporte integrado dos trs layers (IaaS, PaaS e SaaS) na nuvem. Para as recentes ofertas de mercado de computao utilitria, ficou claro que para seus provedores terem sucesso, eles precisaro fornecer uma interface fcil de acessar, entender, programar e usar, como, por exemplo, uma API que habilita a fcil integrao com a infraestrutura de clientes potenciais e
53

ADRIANO MARTINS

desenvolvedores de aplicaes SaaS. Os centros de dados de provedores de computao utilitria sero utilizados suficientemente somente se tiverem abaixo de si massas crticas de dados de clientes e provedores de SaaS. Como uma conseqncia de requisitos para o fcil e abstrato acesso camada fsica da nuvem, virtualizao da camada fsica e plataformas programveis para desenvolvedores emergem como principais caractersticas das nuvens. 8. Platform as a Service PaaS (Plataforma como servio) Caracterstica provida pela nuvem que possibilita ao usurio portar dentro da nuvem aplicaes produzidas pelo cliente ou de terceiros, usando linguagens de programao e ferramentas suportadas pela nuvem. O cliente no gerencia ou mesmo controla os ativos que compem essa infraestrutura; entretanto, tem controle sobre a aplicao implantada dentro da nuvem e configuraes de ambiente dentro da mesma. Plataformas so camadas de abstrao entre aplicaes de software (SaaS) e a infraestrutura virtualizada. As ofertas de PaaS so alvo dos desenvolvedores de software que podem escrever suas aplicaes de acordo com as especificaes de uma plataforma em particular sem a necessidade de se preocuparem com a camada subjacente de infraestrutura de hardware. (IaaS). Os desenvolvedores fazem o upload de seus cdigos para a plataforma, o que deve aumentar o alerta pela monitorao e gerenciamento automtico quando o uso da aplicao cresce. As funcionalidades providas pelo PaaS podem cobrir todas as fases de desenvolvimento de software ou talvez especializada em uma dada rea como o gerenciamento de contedo A camada PaaS da nuvem tem como base a padronizao de interface da camada IaaS que virtualiza o acesso a recursos disponveis, prov interfaces padronizadas e plataforma de desenvolvimento para a camada SaaS. 9. Software as a Service SaaS (Software como servio) Servio disponibilizado aos clientes que permite o uso de aplicaes no provedor que rodam dentro da infraestrutura de nuvem. As aplicaes esto acessveis a qualquer cliente atravs de vrios tipos de dispositivos, como uma interface web. O consumidor no gerencia ou controla o que h por
54

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

baixo da infraestrutura como rede, servidores, sistemas operacionais, storage ou at mesmo algumas aplicaes especficas. SaaS software de um provedor que possudo, entregvel e gerencivel por este de forma remota e negociado de forma pay-per-use. SaaS a camada mais visvel em cloud computing para usurios finais, porque so as aplicaes de software que so acessadas e usadas Da perspectiva dos usurios, obter um software como servio mais motivador pelas vantagens de custo ao modelo de pagamento baseado em utilitrio. Os usurios mais comuns do SaaS normalmente no tm conhecimento nem controle sobre a camada abaixo, seja ela a imediatamente abaixo plataforma como servio ou os hardwares da infraestrutura como servio. Entretanto, essas camadas abaixo so de grande relevncia para o provedor de SaaS, porque elas so a base da infraestrutura, podendo ser vendidas e terceirizadas. Como exemplo tpico, cita-se que uma aplicao pode ser desenvolvida em uma plataforma qualquer e rodar em infraestrutura de terceiros. Ter-se uma plataforma e infraestrutura como servio um atrativo para os provedores de SaaS, pois pode alivi-los de pesadas licenas de software e custos de investimentos em infraestrutura, alm da flexibilidade. Isso tambm possibilita a corporao a focar em suas competncias principais, que esto intimamente relacionadas ao negcio da empresa. De acordo com os analistas de mercado, o crescimento pela insero dentro do modelo de SaaS pelas empresas e a alta presso de reduzir custos de TI so os maiores drivers pela alta demanda e crescimento do SaaS, tambm pelo crescimento por Cloud Computing nos prximos anos. 10. Modelos de Nuvens Nuvem Privada: a infraestrutura de cloud operada por uma organizao e pode ser gerida pela prpria organizao ou por empresa terceira. Nuvem comunitria: a infraestrutura de cloud compartilhada por algumas organizaes e abrange uma comunidade especfica que tem os mesmo valores. (misso, requisitos de segurana, polticas e consideraes de conformidade). Pode ser administrada pelas organizaes ou por empresa terceira.
55

ADRIANO MARTINS

Nuvem Pblica: a infraestrutura de cloud est disponvel para o pblico geral ou um grupo de indstrias, ou de propriedade de uma organizao que vende os servios da nuvem. Nuvem Hbrida: a infraestrutura de cloud composio de uma ou mais nuvens (privada, comunitria ou pblica) que se mantm como entidades nicas; entretanto, so ligadas pela padronizao ou propriedade tecnolgica, que permite portabilidade de aplicaes e de dados. 11. Implicaes para TI Com este novo modelo, muitas implicaes para uma empresa de TI podem surgir. Tais implicaes derivam desta nova maneira de comunicao e esto direcionando mudanas na interatividade dos negcios. Hoje, os negcios precisam de respostas na velocidade da internet com novos servios, funcionalidades diferentes e a quase obrigatoriedade de estar frente de seu tempo e principalmente dos concorrentes. Apesar disso, muitas corporaes ainda no esto aptas a responder nesta velocidade e possuem o modelo tradicional de aquisies para compras de ativos de infraestrutura, o que lhes traz implicaes negativas e compromete a agilidade de provisionamento. Muitas vezes, o equipamento est disponvel; entretanto, h um processo burocrtico de preparao e disponibilidade para uso; os recursos precisam estar prontos para uso com o aval tcnico positivo. O que acontece que se tem muitos processos que envolvem pessoal do storage, rede, segurana e algumas outras facilidades. Normalmente essas dificuldades esto relacionadas a: Planejamento de Capacidade: Para a maioria das organizaes, no existe um planejamento de capacidade consistente, com planos de provisionamento de dados, servios onde deve-se por tal equipamento ou mesmo como ser o crescimento de tal aplicao. Isso um impeditivo grande para implantao de um modelo baseado em cloud computing. Equilbrio das foras que o mercado demanda versus a utilizao de ativos: A TI deve estar em sinergia em controlar seus gastos e ser responsvel pelo negcio. A assertiva de que mais um servidor resolve o problema no colabora para o processo de construo desse novo modelo. A empresa sempre quer algo rpido e consistente. O pessoal da rea de negcio sempre vem com demandas para a rea de TI que no tm oramento aprovado, esperando que a TI consiga dar um jeito de produzir de qualquer
56

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

maneira. As questes relacionadas com segurana da informao so um elo que deve ser bem fortalecido, principalmente por se tratar de uma nova rea de negcio e tecnologia que tem muitos processos e lacunas no preenchidas, sendo passveis de construes muitas vezes no muitos slidas e prejudiciais empresa, exigindo cautela nos detalhes de servios que sero prestados e nas transaes executadas. Outras implicaes que empresas dispostas a entrar nesse nicho e modificar a forma de orientao dentro do seu data center devem estar atentas infraestrutura de TI, que dever maximizar o gerenciamento e eficincia. E se gerenciar uma quantidade em massa de um data center no uma das competncias principais da empresa, ela deve delegar isso a uma empresa que: Tem superioridade Econmica: Os grandes provedores de aplicaes e servios de TI, que compram tantos servidores, storages e outros muitos equipamentos de data center e que tm um enorme poder de negociao quando se fala de preo de hardware, licena de software e contratos de suporte. Melhores Prticas: As maiores corporaes tm investido no apenas em melhores processos, mas tambm investiram na construo de ferramentas de gerenciamento e administrao que permitem a elas espalhar aplicaes atravs de milhares de servidores de forma rpida. Expertise em gerenciamento de capacidade dinmica: Para grandes empresas, a produtividade de seus ativos fundamental, assim como o custo de seus servios diretamente proporcional s despesas correntes do centro de dados. Quanto maior a produtividade que se pode tirar de cada metro quadrado de espao, maior a rentabilidade de um servio. Por isso, necessrio uma monitorao de perto do consumo de recursos por cada aplicao dentro da infraestrutura disponibilizada. 12. Foras de influncia Quando se olha para um data center contemporneo e moderno, no h como negar que eles so muito diferentes dos data centers dos de 10 ou 5 anos atrs. Certamente muitos o hardware existentes so de diferentes fabricantes, muitos tm heterogeneidade de servidores, como plataformas baixas e mainframes e aplicaes. Nesta diversidade, provavelmente algum nvel de organizao deve-se ter notado ao longo do tempo. Entretanto, essa
57

ADRIANO MARTINS

organizao, para muitas empresas, sinnimo de caos, pois somente alguns profissionais tm o modus operandi em mente, e no suficientemente sustentvel para um data center dentro do paradigma de cloud computing. Algumas foras sustentam esse novo conceito e so elas que vo diferenciar a tradicional maneira de hosting do novo modelo preconizado dentro de cloud: Comoditizao: lamentvel que para muitos o termo commodity tenha uma conotao diferente; ela a evoluo de produtos feitos a mo, um sinal de avano de produo e existncia de mercados com liquidez para encurtar, progresso econmico. Comoditizao depende de uma vasta rede integrada de infraestrutura de compradores, distribuidores, fornecedores e montadores. Quando se v uma commodity, pode-se ver por trs uma rede complexa para sustentar a produo, o que inclui produzi-la, distribu-la, apoi-la e entreg-la. O processo de comoditizao em um mercado maduro gradualmente leva o foco da competio entre organizaes da funcionalidade para a qualidade, servios complementares e, por ltimo, o preo. Fazendo um paralelo com o data center dentro do modelo de cloud computing, pode-se entender que ele ser a rede e as demandas esto atreladas sua atomicidade. Para o mundo externo, ele uma nica manufatura que possibilitar com transparncia a execuo de uma tarefa para produzir algum produto ou servio atravs da padronizao especializada por funo. Virtualizao: Em computao, virtualizao um termo genrico utilizado para se referir abstrao dos recursos do computador. Uma definio seria: uma tcnica para mascarar as caractersticas fsicas dos recursos do computador de forma que outros sistemas, aplicaes ou usurios finais possam interagir com tais recursos. Atrelado a esse conceito pode-se quebrar em mais duas foras: Miniaturizao e Massificao. A primeira permite que em um servidor possa ter inmeros sistemas operacionais virtualizados e massificados, ou seja, em vrias outros equipamentos, referente ao segundo termo. Portanto, o grau de abstrao de uma soluo de cloud computing depende tambm de quanto seu ambiente est virtualizado. Independncia de Aplicaes e Sistemas Operacionais: A arquitetura que o ambiente de cloud prov hoje tem que estar habilitada para aceitar qualquer tipo de aplicao que o cliente deseja hospedar, j que ele no precisar acessar diretamente o hardware ou outros elementos internos da estrutura.
58

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

Liberdade de instalao de software ou hardware: Provisionamento tem que ser automtico e sem burocracia. No existe o processo de rea e transaes que aplicado no modelo tradicional vigente nas empresas. Integrao: Integrao fundamental nessa nova abordagem, pois ter a necessidade de integrar nos vrios nveis: software, hardware e middleware de forma global e esquecer a maneira transacional de integrar parties, sistemas em clustering, grids, barramentos e outros. O data center ser um objeto atmico, no divisvel para o mundo externo. 13. Modelos Tecnolgicos Alguns modelos tecnolgicos devem ser padronizados para comeo de construo de uma estrutura em nuvem. Os principais sero destacados nas subsees seguintes. 13.1. Modelo de Arquitetura Neste modelo, deve ser definido de que forma ser a integrao entre as aplicaes, servios e outras nuvens externas. Deve-se mapear e fazer o projeto da infraestrutura comoditizada de hardware e software com definies macros de software e container dos softwares virtualizadores. Nesse momento, tambm ter que materializar a questo da disponibilidade e performance da soluo atravs da topologia de rede e ligao dos servidores, questes de segurana como polticas de dados dentro e fora do ambiente produtivo. Enfim, este modelo ser um arcabouo da soluo com vrias definies alto nvel desde polticas escritas at garantia de segurana dos dados. 13.2. Modelo de Grid Computing Computao em grade (do ingls Grid Computing) um modelo computacional capaz de alcanar uma alta taxa de processamento, dividindo as tarefas entre diversas mquinas, podendo ser em rede local ou rede de longa distncia, que formam uma mquina virtual. Esses processos podem ser executados no momento em que as mquinas no esto sendo utilizadas pelo usurio, assim evitando o desperdcio de processamento da mquina utilizada.
59

ADRIANO MARTINS

Nos anos 90, uma nova infraestrutura de computao distribuda foi proposta, visando auxiliar atividades de pesquisa e desenvolvimento cientfico. Vrios modelos desta infraestrutura foram especificados; dentre eles, a Tecnologia em Grade, em analogia s redes eltricas (power grids) se prope a apresentar-se ao usurio como um computador virtual, mascarando toda a infraestrutura distribuda, assim como a rede eltrica para uma pessoa que utiliza uma tomada, sem saber como a energia chega a ela. Seu objetivo era casar tecnologias heterogneas (e muitas vezes geograficamente dispersas), formando um sistema robusto, dinmico e escalvel, onde se pudesse compartilhar processamento, espao de armazenamento, dados, aplicaes, dispositivos, entre outros. Pesquisadores da rea acreditam que a tecnologia de grades computacionais seja a evoluo dos sistemas computacionais atuais, no sendo apenas um fenmeno tecnolgico, mas tambm social, pois, num futuro prximo, reuniria recursos e pessoas de vrias localidades, com vrias atividades diferentes, numa mesma infraestrutura, possibilitando sua interao de uma forma antes impossvel. 13.3. Modelo de Cluster Um cluster formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classificado como sistema distribudo. Muitas vezes construdo a partir de computadores convencionais (personal computers), os quais so ligados em rede e comunicam-se atravs do sistema, trabalhando como se fossem uma nica mquina de grande porte. H diversos tipos de cluster. Um tipo famoso o cluster da classe Beowulf, constitudo por diversos ns escravos gerenciados por um s computador. Quando se fala de cluster de um HD (Hard Disk), refere-se ao cruzamento de uma trilha com um setor formatado. Um HDD (hard disk drive) possui vrios clusters que sero usados para armazenar dados de um determinado arquivo. Com essa diviso em trilhas e setores, possvel criar um endereamento que visa facilitar o acesso a dados no contguos, assim como o endereamento de uma planilha de clculos. Existem vrios tipos de cluster; no entanto, h alguns que so mais conhecidos, os quais so descritos a seguir: Cluster de Alto Desempenho: Tambm conhecido como cluster de alta performance, ele funciona permitindo que ocorra uma grande carga de
60

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

processamento com um volume alto de gigaflops em computadores comuns e utilizando sistema operacional gratuito, o que diminui seu custo. Cluster de Alta Disponibilidade: So clusters cujos sistemas conseguem permanecer ativos por um longo perodo de tempo e em plena condio de uso; sendo assim, pode-se dizer que eles nunca param seu funcionamento. Alm disso, conseguem detectar erros se protegendo de possveis falhas. Cluster para Balanceamento de Carga: Esse tipo de cluster tem como funo controlar a distribuio equilibrada do processamento. Requer um monitoramento constante na sua comunicao e em seus mecanismos de redundncia, pois, se ocorrer alguma falha, haver uma interrupo no seu funcionamento. 13.4. Modelo de Armazenamento A abstrao usada para armazenar dados em sistemas computacionais o arquivo. Para que esses arquivos sejam acessados, modificados e que sejam criados outros arquivos, necessria uma estrutura que permita tais operaes. Essa estrutura recebe o nome de sistema de arquivos. A motivao bsica dos sistemas distribudos o compartilhamento de recursos e, no mbito dos sistemas de arquivos, o recurso a ser compartilhado so os dados sob a forma de arquivos. Um Sistema de arquivos distribudo, ou SAD, um sistema de arquivos no qual os arquivos nele armazenados esto espalhados em hardwares diferentes, interconectados atravs de uma rede. Eles tm vrios aspectos semelhantes aos dos sistemas de arquivos centralizados, alm de operaes de manipulao de arquivos, preocupaes com redundncia, consistncia, dentre outros atributos desejados de um sistema de arquivos. O SAD deve prover transparncia nos seguintes contextos: De acesso: aplicaes que acessam os arquivos do SAD no devem estar cientes da localizao fsica deles. De localizao: todas as aplicaes devem ter sempre a mesma viso do espao de arquivos. De mobilidade: com a movimentao dos arquivos, nem programas do cliente e nem tabelas de administrao precisam ser modificadas, de modo a refletir essa movimentao. De desempenho: programas clientes devem executar satisfatoriamente, independente de variao de carga do servio de arquivos.
61

ADRIANO MARTINS

De escalabilidade: o servio pode ser expandido por crescimento horizontal, e no vertical, de modo a se adequar carga demandada e capacidade da rede disponvel. 14. Desafios para a nuvem Os maiores desafios para as empresas sero o armazenamento de dados seguro, acesso rpido internet e padronizao. Armazenar grandes volumes de dados est diretamente relacionado privacidade, identidade, preferncias de aplicaes centralizadas em locais especficos, levanta muitas preocupaes sobre a proteo dos dados. Essas preocupaes so pertinentes ao framework legal que deve ser implementado para um ambiente de computao em nuvem. Outra preocupao a banda larga. Computao em nuvem impraticvel sem uma conexo de alta velocidade, caso tenha-se problema de alta velocidade, a computao em nuvem torna-se invivel para as massas acessarem os servios com a qualidade desejada. Alm disso, padres tcnicos so necessrios para que se tenha todo o arcabouo de computao em nuvem funcionando. Entretanto, eles no esto totalmente definidos, publicamente revistos ou ratificados por um rgo de superviso. No existe essa padronizao nem da academia nem do mercado. At mesmo consrcios formados por grandes corporaes necessitam transpor esse tipos de obstculos e terem uma soluo factvel para que possam evoluir e gerar novos produtos que contribuam de alguma forma para a nuvem, sem essa definio precisa, ainda espera-se entregas em ritmo no to acelerado. Ao lado desses desafios discutidos anteriormente, a confiabilidade da computao em nuvem tem sido um ponto controverso nos encontros de tecnologia pelo mundo afora. Dada a disponibilidade pblica do ambiente de nuvem, problemas que ocorrem na nuvem tendem a receber muita exposio pblica; por isso, gerncia e monitorao desse ambiente de TI so essenciais. Em outubro de 2008, o Google publicou um artigo online que discute as lies aprendidas no armazenamento de milhes de clientes corporativos no modelo de computao em nuvem. A mtrica de disponibilidade do Google foi a mdia de uptime por usurio baseado nas taxas de erro do lado do servidor. Eles acreditavam que essa mtrica de confiabilidade permitia uma verdadeira comparao com outras solues. As medidas eram feitas para todas as requisies ao servidor para
62

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

cada usurio, a cada momento do dia, onde at mesmo um pequeno milissegundo de delay era registrado. O Google analisou os dados coletados do ano anterior e descobriu que sua aplicao Gmail est disponvel mais de 99,9% do tempo. E algum pode perguntar como 99,9% de mtrica de confiabilidade pode se comparar ao modelo convencional usado para email das corporaes. De acordo com uma pesquisa da empresa Radicati Group, companhias com solues de email convencionais tm normalmente de 30 a 60 minutos de parada no programada e mais de 36 a 90 minutos de parada programada por ms, comparados aos 10 a 15 minutos do gmail. Baseado nessas anlises o Gmail duas vezes mais confivel que a soluo GroupWise da Novell e quatro vezes mais confivel que a soluo da Microsoft, o Exchange, e ambas solues requerem uma infraestrutura montada especfica para suas solues de email, centralizada e com regras prprias de ambientes. Baseado nesses dados, Google estava suficientemente confiante para anunciar publicamente em outubro de 2008 que 99,9% de nvel de servio oferecido aos clientes empresariais Premier tambm se estenderiam ao Google Calendar, Google Docs, Google Sites e Google Talk. Como milhes de negcios usam as Apps Google, ele fez uma srie de compromissos para aperfeioar a comunicao com seus clientes durante qualquer interrupo e fazer com que todas as questes estejam visveis e transparentes atravs de grupos abertos. Uma vez que o prprio Google roda suas aplicaes dentro das plataformas Apps Google, o compromisso que eles fizeram tem sustentabilidade, pois as usam em suas operaes do dia a dia. O Google lidera a indstria na evoluo do modelo de computao em nuvem para se tornar uma parte do que est sendo chamado de Web 3.0, a prxima gerao de Internet. 15. Concluso Neste artigo, viu-se a importncia de saber a origem do termo nuvem para ento poder entrar no ambiente de computao em nuvem. Foram examinadas tambm questes histricas de evoluo do hardware, software, redes e a forma de comunicao e percebe-se o quanto ajudaram no crescimento da internet nos ltimos anos, alm de sua popularizao com o acesso a browsers.
63

ADRIANO MARTINS

Aps isso, foi tratado de forma mais pragmtica o conceito profundo de computao em nuvem, explicitando-se seu modelo de negcio, modelo ser servios, foras de influncia e implicaes para a rea de TI. Viu-se que a padronizao, virtualizao, processamento paralelo, distribudo e um modelo de negcio bem definido so essenciais para sair-se do campo terico e buscar a aplicao efetiva em modelos que possam ser propagados para toda a sociedade da computao e administrao de TI. Alm disso, verificou-se que existem mecanismos de cunho legais e tcnicos que precisam ser condensados para que o mercado tenha um modelo nico e denso dentro de cada empresa e possa ser dissipado no s entre governo, mas academias, meio privado e organismos internacionais. Para finalizar, evidenciou-se que o Google com um arcabouo de gerncia e monitorao bem definidos; conseguiu usufruir por completo o que a computao em nuvem pode proporcionar e mostrou que, se bem aplicado, esse conceito pode trazer mudanas significativas na maximizao de recursos computacionais, alm de superar a barreira daquela computao tradicional. Referncias ARMBRUST, M.; FOX, A.; GRIFFITH, R.; JOSEPH, A. D.; KATZ, R.; KONWINSKI, A.; LEE, G.; PATTERSON, D.; RABKIN, A.; STOICA, I.; ZAHARIA, M. Above the Clouds: A Berkeley View of Cloud Computing. EECS Department, University of California, Berkeley, fevereiro 2009. AMAZON. Elastic Compute Cloud. Disponvel em: <http://aws.amazon.com/ ec2/>. Acesso em: 18 fev. 2010. FOSTER, I. What is the Grid? A Three Point Checklist. Argonne National Laboratory & University of Chicago, julho 2002. MOHAMED, A. A history of Cloud Computing. ComputerWeekly.com, maro 2009. SUN MICROSYSTEMS, INC. Introduction to Cloud Computing Architecture. White Paper, 1 edio, junho 2009a.
64

FUNDAMENTOS DE COMPUTAO NUVEM PARA GOVERNOS

TANENBAUM, A. S.;STEEN, M. Distributed Systems Principles and Paradigms. Nova Jersey: Prentice Hall. 2002. WANG, L et al. Cloud Computing: a Perspective Study. RIT Digital Media Library, 2008.

65

Modelo de Referncia de Cloud


CETEC membros Luis Claudio Pereira Tujal - CETEC SERPRO Servio Federal Processamento Dados

Resumo Este trabalho tem o objetivo de sistematizar as fundaes do modelo de computao em nuvem e a partir delas oferecer um direcionamento para o SERPRO na sua jornada nos rumos da modernizao e da inovao. Computao em nuvem desponta no cenrio tecnolgico mundial amparado por tecnologias inovadoras, numa tentativa de viabilizar um velho anseio: ambientes computacionais seguros, eficientes, compartilhados e gerenciados. Para a consecuo de maturidade e da maximizao de vantagens relativos ao paradigma da computao em nuvem vamos desenhar cenrios compostos por solues orientadas a servios, focadas em ausncia de estados, baixo acoplamento, modularidade e de interoperabilidade semntica. Estabelece-se, portanto, correlao de cloud computing e SOA (Sevice Oriented Architecture): SOA numa perspectiva holstica e estratgica, como um padro de arquitetura, e a computao em nuvem como uma opo ou mesmo instncia de arquitetura, num vis ttico, uma forma de resolver um problema. Outra tendncia que aqui tambm se relaciona computao em nuvem a chamada Tecnologia da Informao Verde, a TI verde (Green
67

LUIS CLAUDIO PEREIRA TUJAL

IT). Construir uma infraestrutura com base nos fundamentos da sustentabilidade e da racionalizao no uso de recursos so dois conceitos que permeiam estes dois paradigmas de TI. 1. Introduo Para iniciar, permita-se o leitor um pequeno exerccio de imaginao. No importa o quo nebuloso seja o futuro, para a Web ele est inexoravelmente atrelado ao paradigma de servios. A Internet de Servios, uma pliade de servios de TI (tecnologia da informao), de telecomunicaes, de media sendo ofertados, utilizados, recombinados, vendidos, redefinidos por uma rede mundialmente distribuda de provedores, brokers, agregadores, produtores e consumidores de servios. No por acaso que as tecnologias de web services se tornam exponencialmente slidas e populares. Tambm no um capricho do destino que as arquiteturas orientadas a servio estejam cada vez mais atrativas e consistentes. Este cenrio conduz a mudanas culturais, uma verdadeira revoluo na acepo da palavra, trazendo uma releitura e uma redefinio do mundo e da prpria tecnologia da informao. No tempo deste documento, ainda um fato a supremacia do software proprietrio como plataforma para se construir esse cenrio de servios. Mas o software de cdigo aberto e gratuito vem rapidamente ganhando expressivo espao no cenrio da Internet de servios. H hoje solues open source maduras que, com algum empenho daqueles que as adotam, em nada ficam a dever quelas proprietrias. H ainda muitos servios atrelados a itens do mundo fsico, como a venda de equipamentos como iPods, MP10s, a venda de filmes em mdias BluRay ou mesmo os ultrapassados discos DVD, a venda de Kindles e at mesmos os milenrios livros em papel. Mas, h servios como o EC2 (Elastic Compute Cloud) da Amazon, concebidos para se vender um pequeno centro de dados virtualizado, ao invs de um feixe de pulverizadas e complicadas vendas mltiplas de CPUs, monitores, teclados, discos rgidos, switches, sem falar em aluguel de salas, em contas de luz, etc. Ou seja, ao invs de sofrer toda a logstica para se montar um ambiente para se oferecer um servio na web, possvel comprar e se pagar pelo poder computacional, como se fosse gua ou luz este o IaaS, (Infrastructure as a Service), ou a infraestrutura como servio.
68

MODELO DE REFERNCIA DE CLOUD

Cloud Computing, a computao em nuvem, vem se consolidando no cenrio mundial como a grande opo capaz de suportar um modelo web global e aberto, orientado a servios, proporcionando a granularidade necessria para o atendimento das demandas nas cadeias de valores de uma crescente massa de negcios realizados em escala planetria. Visceralemete relacionada computao em grid, cloud se constri sobre alguns dos conceitos bsicos, dos produtos e da infraestrutura desta modalidade da cincia da computao. Trabalh-los em separado seria como querer comear um projeto de um marco zero, e o grande exemplo dos foundries na indstria dos tigres asiticos est a para mostrar o quo equivocada pode ser uma postura atrelada a uma viso auto-suficiente. Igualmente importante a base representada pela computao em cluster, um dos blocos bsicos da infraestrutura de nuvem. Um ponto de vital importncia que deve ser salientado que a partir de pesquisas junto a lideranas em governos e na indstria de TI pde ser mapeada a maior necessidade ainda por ser solucionada: a falta de consenso, que deriva da multiplicidade de padres e de terminologias. Exatamente por no haver entendimento entre os atores da nuvem, a segurana (security) e a privacidade (privacy) no podem ser adequadamente garantidas. Segundo pesquisa da iniciativa americana conhecida por GTRA (Government Technology Research Alliance), corroborada por um estudo da IDC (International Data Corporation) para computao em nuvem, emtorno de 75% (setenta e cinco por cento) dos CIOs tm nestes requisitos (security e privacy) a sua preocupao primordial. Neste direcionamento o NIST (National Institute of Standarts and Technology) emitiu no segundo semestre do ano de 2009 modelos de uso para agncias de governo desejosas de se aventurar nos auspcios da cloud computing. Estabelecendo-se a clivagem governo eletrnico brasileiro, vlida para suas esferas federal, estadual e municipal, o presente trabalho prope uma construo baseada em organizaes virtuais, erigidas com base em private clouds, ou nuvens privadas, que podero interagir entre si e com outras nuvens dentro de um paradigma de federao, atravs da consubstanciao de regras em acordos de nvel de servio (ANSs, do ingls SLAs, ou service level agreements). Apresenta-se aqui um modelo para uma arquitetura de nuvem aberta (open) e pautada em servios (service oriented), que no caso do governo so vistos sob a perspectiva da trade servios pblicos, servios de utilidade publica e servios privados.
69

LUIS CLAUDIO PEREIRA TUJAL

2. Taxonomia de cloud A exemplo da iniciativa de Carl Von Line para a biologia, entendimento do autor que estabelecer conceitos sem ambiguidades de importncia epistemolgica fundamental. Numa tentativa de firmar cloud computing como um ramo da cincia da computao, de importncia essencial que se estabeleam termos que permitam a sua distino de outros ramos. Da a relevncia da atividade de taxonomia como a porta de entrada para este novo mundo que ora se descortina. A definio de computao em nuvem est longe de ser consensual entre os diversos atores que participam de seu ciclo de vida. Uma pequena pesquisa na engine de busca web preferida do leitor o levar uma pliade de conotaes e cosmovises sobre cloud computing. Cada segmento da indstria do hardware e do software tenta estabelecer cloud conforme seus interesses e suas expectativas para o mercado, para a pesquisa, para a inovao. A tentativa neste trabalho de disciplinar cientificamente os conhecimentos sobre esta modalidade da computao, criando um arcabouo emprico e uma modelagem conceitual consistente que permita estruturar diretrizes da computao em nuvem maduras o suficiente para serem adotadas pelo governo eletrnico brasileiro. Uma primeira viso para cloud pode ser facilmente obtida pela Wikipdia, Em http://pt.wikipedia.org/ wiki/Computao_em_nuvem encontra-se o seguinte: cloud computing um conjunto de servios acessveis pela internet que visam fornecer os mesmos servios de um sistema operacional. Esta tecnologia consiste em compartilhar ferramentas computacionais pela interligao dos sistemas, semelhantes as nuvens no cu, ao invs de ter essas ferramentas localmente (mesmo nos servidores internos). O uso desse modelo (ambiente) mais vivel do que o uso de unidades fsicas. O laboratrio de tecnologia da informao do NIST ( National Institute of Standards and Technology) fornece uma definio clara e concisa que adotaremos neste trabalho. Pelo NIST tem-se: Computao em Nuvem um modelo do tipo pague pelo uso para possibilitar acesso de rede disponvel, conveniente e sobre demanda a um pool compartilhado de recursos computacionais configurveis (e.g., servidores, armazenamento, redes, aplicaes, servios) que podem ser rapidamente aprovisionados e liberados com o mnimo esforo gerencial ou de interao de provedor de servios.
70

MODELO DE REFERNCIA DE CLOUD

A definio original pode ser vista abaixo:


Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Este modelo de computao em nuvem compreende cinco caractersticas chave: a) auto-servio sob demanda, ou on-demand self-service. Sem a necessidade de interao humana com cada provedor de servio o consumidor de servios em nuvem (cloud consumer) tem a possibilidade de alocar, conforme necessidade, as capacidades computacionais (como por exemplo tempo de processador ou storage de rede). b) acesso de rede ubquo. As capacidades esto em rede e so acessveis por meio de mecanismos padro que promovem o uso por meio de plataformas cliente heterogneas, sejam elas gordas ou magras. c) pooling de recursos independente de localizao. Os recursos computacionais do provedor so organizados em pools de recursos para servir a todos os consumidores atravs de um modelo multi-tenant (uma nica instncia do software executado em um servidor, que atende mltiplas organizaes de clientes (tenants ou inquilinos). Neste modelo diferentes recursos fsicos e virtuais so dinamicamente atribudos de acordo com a demanda, sendo que o consumidor tem pouco ou nenhum controle ou conhecimento acerca da localizao dos recursos providos. d) elasticidade rpida. As capacidades podem ser rpida e elasticamente alocadas para escalar em forma de aumento, e rapidamente liberadas para escalar como reduo. Para o consumidor h a percepo de recursos infinitos, que podem ser comprados em qualquer quantidade a qualquer tempo. e) pago pelo uso. As capacidades so tarifadas com o emprego de um modelo mensurvel, com um billing ou cobrana baseado em servio consumido ou em propaganda veiculada, que promove a otimizao do uso de recursos. Para ilustrar a definio apresentada, observe-se a ilustrao 1 (um) abaixo. Pode se entender que a definio acima enseja a organizao de
71

LUIS CLAUDIO PEREIRA TUJAL

trs nveis trficos bem caracterizados no ecossistema de computao em nuvem. a) O Cloud Provider, ou provedor de infraestrutura de nuvem, que o ator ou conjunto de atores responsveis pelo tecido, o fabric, ou ambiente fsico. Este conjunto de empresas, abstradas como provedor, opera no nvel do hardware e equipamentos de rede e transmisso e a sua oferta pode ser tratada como computao utilitria entregue ao provedor de servios. b) O Service Provider, que vai consumir infraestrutra para oferecer servios. Estes servios podem ser essenciais, como software, infraestrutura, armazenamento e podem ser mais sofisticados, como governana, segurana e testes. A figura 1 (um) ilustra o caso de SaaS, Software as a Service, software ou aplicaes como um servio, que talvez o mais palatvel servio de nuvem para uma primeira abordagem. c) O Cloud Service Consumer, consumidor ou usurio final, que atravs de uma aplicao web, ofertada por um browser, consome cloud computing.

Figura 1. Topologia bsica de nuvem

A seguir fornece-se uma verso resumida dos termos empregados para se construir o jargo desta modalidade de cincia da computao.
72

MODELO DE REFERNCIA DE CLOUD

Alm de conceitos como Armazenamento, Desempenho, Framework e Resilincia, para citar apenas alguns de uso comum nas sendas da tecnologia da informao, apresenta-se a lista abaixo, que tem grande vinculao com cloud computing conforme acima definida. cloud app - uma aplicao de software que nunca instalada em uma mquina local - sempre acessada pela Internet. cloud arcs nome curto para arquiteturas nuvem. Desenhos para aplicaes de software que podem ser acessadas e utilizadas atravs da Internet. (Cloud-chitecture muito difcil de pronunciar). cloud bridge - executar uma aplicao de tal forma que seus componentes sejam integrados em ambientes de cloud mltiplos (que poderia ser qualquer combinao de nuvens internas/privadas e externas/ pblicas). cloudcenter - uma grande empresa, como a Amazon, que aluga a sua infraestrutura. cloud client - dispositivo de computao para computao em nuvem. Verso atualizada do thin client. cloud enabler - fornecedor que prov a tecnologia ou o servio os quais permitem que um cliente ou outro fornecedor tire proveito da computao em nuvem. cloud envy - usado para descrever um vendedor que se insere no contexto da computao em nuvem pela remarcao pura e simples dos servios existentes, isto , sem agregar valor ou cdigo. cloud OS tambm conhecido por plataforma como servio (platform-as-a-service - PaaS). Como exemplo tem-se o Google Chrome. cloud portability - a capacidade de mover os aplicativos e dados associados atravs de vrios ambientes de computao em nuvem. cloud provider torna o armazenamento ou o software disponvel para outras entidades atravs de uma rede privada ou na rede pblica (como a Internet.) cloud service architecture (CSA) - uma arquitetura em que as aplicaes e componentes de aplicao agem como servios na Internet cloudburst - o que acontece quando a nuvem tem uma falha ou violao de segurana e os dados se tornam indisponveis. cloud as a service (CaaS) - um servio de computao em nuvem que foi aberto em uma plataforma na qual outras pessoas possam trabalhar, evoluir e construir.
73

LUIS CLAUDIO PEREIRA TUJAL

cloudstorm conectar mltiplos ambientes de computao em nuvem. Algumas vezes conhecido como rede de computao em nuvem, ou cloud network. cloudware - software que permite a construo, implantao, execuo ou gerenciamento de aplicaes em um ambiente de computao em nuvem. cloudwashing colocar a palavra cloud em produtos ou servios que a empresa possui. compute unit - ferramenta de medio utilizada para comparar e contrastar diferentes servidores virtuais (instncias). Um EC2 Compute Unit fornece a capacidade da CPU equivalente a um 1,0-1,2 GHz 2007 Opteron ou 2007 Xeon. Este tambm o equivalente a um antigo processador de 2006 1,7 GHz Xeon. external cloud - um ambiente de computao em nuvem que externo aos limites da organizao. funnel cloud debate acerca de computao em nuvem que prossegue de forma reorrente e diletante, sem jamais se tornar ao ( jamais toca o cho, i.e.). hybrid cloud - um ambiente computacional que combina ambientes de computao em nuvem tanto privados quanto pblicos. internal cloud tambm chamado de uma nuvem privada. Um ambiente do tipo computao em nuvem que existe dentro dos limites de uma organizao. private cloud uma nuvem interna atrs do firewall da organizao. O departamento de TI da empresa fornece softwares e hardware como servio aos seus clientes - as pessoas que trabalham para a empresa. Fornecedores so adeptos deste conceito. public cloud um ambiente de cloud computing que est aberto para uso do pblico em geral. roaming workloads- o produto backend de cloudcenters. vertical cloud - um ambiente de computao em nuvem otimizado para uso em uma determinada indstria vertical. virtual private cloud (VPC) - semelhante a VPN, mas aplicada a computao em nuvem. Pode ser usado como bridge (ponte) entre ambientes e nuvem privados e pblicos.

74

MODELO DE REFERNCIA DE CLOUD

3. Anatomia de cloud O paradigma da nuvem se baseia na orientao a servios, focando: (a) o baixo acoplamento, (b) a ausncia de estados (statelessness), (c) a modularidade e (d) a interoperabilidade semntica. H vrias abordagens de computao em nuvem, uma verdadeira diversidade semntica, que resulta na prtica a veiculao de diversos modelos de implantao. Pensando-se numa linha comum diversidade doutrinria, definem-se abaixo os deployment models (modelos de implantao) mais representativos que o mercado tem adotado. 1. Nuvem Privada ou Interna. A infra-estrutura de nuvem de propriedade ou alugada por uma nica organizao e operada exclusivamente para essa organizao. 2. Nuvem Comunitria. A infraestrutura de nuvem compartilhada por diversas organizaes e suporta uma comunidade determinada com preocupaes em comum (por exemplo, consideraes sobre compatibilidade, requisitos de segurana, poltica e finalidade). 3. Nuvem Pblica. A infraestrutura de nuvens propriedade de uma organizao que vende servios da nuvem para o pblico em geral ou diretamente para um grupo de grandes indstrias. 4. Nuvem Hbrida. A infraestrutura de nuvens uma composio de duas ou mais nuvens (privada, comunidade, ou pblica) que mantm sua individualidade, mas esto interligadas por uma tecnologia padronizada ou proprietria que possibilita a portabilidade de informaes e de aplicaes (por exemplo, cloud burst vide taxonomia, no item 2 [dois] acima). Esquematicamente, podem ser observados esses conceitos na figura 2 (dois) a seguir. Neste ponto, cumpre ressaltar que para a operao de uma nuvem e para seu relacionamento com outras nuvens devem ser observados os acordos de nvel de servios, ou ANS, que representam a qualidade e quantidade que pode ser exigida de cada servio e as faixas de tolerncia para se buscar alternativas.

75

LUIS CLAUDIO PEREIRA TUJAL

Figura 2. Exemplo de modelos de implantao

Na figura 2 (dois) acima pode se observar que os acordos de nvel de servios determinam em que situaes, por exemplo, a Nuvem privada do desenvolvimento do SERPRO poder utilizar o poder computacional ocioso da nuvem privada da rea de operaes, da nuvem pblica da TioLive, da nuvem hbrida formada com a TioLive, e assim por diante. Observe-se que nuvens comunitrias e hbridas se respaldam nos ANS e so materializadas pelas tecnologias empregadas de forma adicional a um modelo pblico e/ou privado. medida que a computao em nuvem se consolida no panorama da tecnologia do sculo XXI, grande so os debates e as opinies sobre a maneira de descrev-la na qualidade de modelo computacional. Modelos de Capacidade e Maturidade vm sendo sugeridos e publicados pelos diversos fabricantes de equipamentos e pelos provedores, mas, at o momento, estes modelos se encaixam adequadamente em suas prprias plataformas e em seus nichos de mercado. Para se descrever melhor nossa computao objeto, a nuvem, define-se uma pilha de categorias ou padres de tecnologia, que representam padres
76

MODELO DE REFERNCIA DE CLOUD

de feixes de servios bsicos, como doravante sero referidos. So estes padres de servios bsicos e os seus inter-relacionamentos que vo compor o modelo de servios. Uma vez mais, observe-se que no h um consenso sobre a quantidade destes padres, esses servios bsicos oferecidos pela nuvem, nem tampouco h acordo sobre suas interaes e seus desdobramentos. H grande tendncia em se estabelecer ao menos 3 (trs) categorias bsicas, as de (1) Infraestrutra, (2) Plataforma e (3) Software como servios. Considerando este ponto de partida, o presente trabalho define 6 (seis) grandes categorias ou padres de tecnologia de computao em nuvem, os trs vistos anteriormente e mais trs categorias que os autores entendem se destacarem por estarem presentes de forma transversal infraestrutura, plataforma e software. So elas a (4) Integrao, (5) Segurana e (6) Governana e Gerenciamento como servios. A estas seis categorias essenciais podem ser destacadas 6 (seis) especializaes ou categorias desdobradas, as quais, no futuro, podero ser elevadas categorias, medida que a complexidade e a diviso de tarefas se intensificam, justificando a sua existncia autnoma relativa s demais componentes. Em seguida realiza-se a categorizao e fornece-se uma breve descrio. 1. Infrastructure-as-a-service Infraestrutura como servio corresponde entrega de um centro de dados na forma de servio remotamente hospedado. Os recursos computacionais de um datacenter, como servidores fsicos, switches, roteadores e o software bsico destes podem ser oferecidos de modo habilitado para o acesso remoto. Deste modo, IaaS pode ser consubstanciado por um servio do tipo mainstream cloud com interfaces e mtricas definidas, ou por um servio que prov acesso mquina fsica e seu software bsico. 1.1. Storage-as-a-service Armazenamento como um servio, (tambm conhecido como espao em disco em demanda), a capacidade de alocar o armazenamento que existe fisicamente em um stio remoto e que se oferece logicamente como um recurso de armazenamento local para qualquer aplicao que exija armazenamento. Este um componente amplamente aceito da computao
77

LUIS CLAUDIO PEREIRA TUJAL

em nuvem e um padro que se relaciona com a maior partedos demais servios bsicos da nuvem. 1.2. Database-as-a-service O padro banco de dados como um servio fornece a capacidade de alocar servios de um banco de dados hospedado remotamente, entregandoos logicamente, em termos de desempenho e funcionalidades, como se o banco fosse local. 2. Platform-as-a-service Plataforma como um servio corresponde entrega aos consumidores de uma plataforma completa e remotamente hospedada, incluindo o desenvolvimento de aplicaes, de interfaces e de bancos de dados, alm de armazenamento e ambiente de testes. Adotando o modelo de compartilhamento de tempo (time-share), permite que se pratiquem baixos preos de subscrio para se oferecer a possibilidade de se criar aplicaes corporativas de uso local ou sob demanda. 2.1. Simulation-as-a-service Simulao como servio oferece uma perspectiva que abrange desde testes unitrios e integrados de aplicaes at a composio de cenrios possveis em simulaes e projees para se oferecer prognsticos e predies com determinada confiabilidade e certeza.A oferta de testes como servio permite que sejam utilizados software e servios remotamente baseados para se promover testes em sistemas locais ou entregues pela nuvem. Uma caracterstica interessante consiste na possibilidade de recorrncia, quando o prprio software de nuvem testa a si mesmo e aos seus testes. 3. Software-as-a-service Software ou aplicao como um servio (AaaS ou SaaS) consiste em qualquer aplicao fornecida para um usurio final atravs da plataforma web, tipicamente por meio de um browser. Estas aplicaes podem ser corporativas
78

MODELO DE REFERNCIA DE CLOUD

como as do Salesforce, Rackspace e Amazon ou simplesmente para automao de escritrios como as do Google. 3.1. Information-as-a-service Informao como um servio consiste na capacidade de se consumir qualquer espcie de informao armazenada remotamente, de forma distribuda e desconhecida, usando uma interface bem definida, como uma API. 3.2. Process-as-a-service Processo como um servio um recurso remoto capaz de associar e combinar outros recursos como outros servios e dados, quer hospedados dentro do mesmo recurso de nuvem, quer hospedados remotamente, de modo a se criar processos de negcios. Um processo de negcio pode ser visto como uma meta-aplicao que abrange sistemas, servios chave e informaes que so combinados de forma seqencial a fim de se formar processos, que podem ser mais facilmente alterados do que aplicaes conferindo a agilidade necessria a motores de processo que precisam ser entregues sob demanda. 3.3. Communication-as-a-Service O CaaS, ou comunicao como um servio consiste numa soluo de outsourcing para a entrega sob demanda de servios de comunicaes corporativos. Constitui-se na gesto do hardware e software envolvido no fornecimento de servios como Voz sobre IP, VoIP, Mensagens instantneas e conferncias por vdeo. 4. Integration-as-a-service Integrao como um servio corresponde a entrega das funcionalidades e capacidades de tecnologias de integrao corporativa de aplicaes como um feixe de servios de integrao veiculados por meio da nuvem. Estes servios compreendem as interfaces entre sistemas e aplicaes, a intermediao de semnticas, vrios nveis mais abstratos de controle de fluxo e o projeto de integrao.
79

LUIS CLAUDIO PEREIRA TUJAL

5. Security-as-a-service Segurana como um servio corresponde s capacidades para se entregar servios de segurana essncias de modo remoto, atravs da Internet. Embora os servios de segurana tpicos fornecidos so rudimentares, os servios mais sofisticados, tais como gerenciamento de identidade esto se tornando disponveis. 6. Management-as-a-service e Governance-as-a-service A Gesto como servio se constitui em qualquer servio sob demanda que oferece a capacidade de gerir um ou mais servios fundamentais na nuvem, como a topologia, a utilizao de recursos, virtualizao e gesto de uptime. Com a evoluo da tecnologia, sistemas de governana esto se tornando disponveis, oferecendo servios relativos a capacidade de impor polticas definidas para dados e servios, evoluindo da simples gesto para governana como servio. De forma esquemtica, apresentamos estes conceitos ilustrados na figura 3 seguinte.

Figura3. Os padres de servios bsicos em cloud


80

MODELO DE REFERNCIA DE CLOUD

Outra questo relevante para esta caracterizao da anatomia da computao em nuvem diz respeito ao grau de abertura adotado para o modelo tecnolgico. Sob uma perspectiva geral podem ser especificados 4 (quatro) nveis de abertura ou openess, representados na figura 4. 1. Closed or Proprietary Cloud Nuvem fechada ou proprietria. Nesta categoria h uma utilizao majoritria de tecnologia proprietria na construo e operao da nuvem. O acesso normalmente restrito e geralmente este grau de abertura vem associado a um modelo de implantao privado. 2. Open Cloud Nuvem aberta ou de padres abertos. Utiliza formatos abertos, tais como o OVF, o open virtualization format, ou formato aberto de virtualizao. Tambm se vale de APIs abertas para a construo de interfaces. O licenciamento, contudo, proprietrio para a maior parte das solues empregadas. 3. Open Source Cloud uma extenso do modelo visto no item anterior. Neste caso, massivo o emprego de solues open source, ou de cdigo aberto. 4. Free Cloud Neste caso emprega-se cumulativamente liberdade e gratuidade. So adotados formatos (open formats) e APIs (open APIs) abertos, cdigo de fonte aberto (open source code), com licenciamento livre, e dados abertos (open data). Usualmente este formato representado por um modelo de implantao como nuvem pblica, acrescido da no cobrana de tarifas de uso.

Figura 4. Grau de abertura da nuvem computacional


81

LUIS CLAUDIO PEREIRA TUJAL

Cumpre observar que, da mesma forma que num grid, na nuvem possvel se atender s necessidades de compartilhamento coordenado de recursos e soluo de problemas com o conceito de organizaes virtuais dinmicas e distribudas entre vrias instituies. Uma organizao virtual (OV) para cloud se constitui num conjunto de pessoas, fsicas e/ou jurdicas, indivduos e/ou instituies, definido por acordos de nvel de servios (ANS) e regras de governana especficas. Congrega pessoas com questes e requisitos tecnolgicos comuns, compreendidas nas seguintes clivagens: (a) relacionamentos muito flexveis, variando de cliente-servidor a ponto a ponto; (b) controle granular e distribudo por muitos stakeholders, com provedores de recursos e clientes definindo precisamente as condies de ocorrncia, quem pode e o que compartilhado; (c) compartilhamento no apenas em troca de arquivos, mas tambm acesso a computadores, softwares, informaes, sensores, redes e outros recursos; (d) diversos modos de uso, variando de usurio nico a multiusurio, de sensvel a desempenho a sensvel a custo, sujeito a demandas de QoS, agendamento, co-alocao e contabilidade. A figura 5 em seguida ilustra um caso onde organizaes virtuais so constitudas.

Figura 5. Exemplo de organizaes virtuais.


82

MODELO DE REFERNCIA DE CLOUD

Com relao aos protocolos de nuvem faz-se presente a mesma sistemtica observada para grades computacionais. Os protocolos, seja em business grids, seja em cloud computing, exercem a mediao entre os comportamentos expressos pelas aplicaes e o tecido ou trama formada pelas tecnologias. Sob uma perspectiva holstica, distinguem-se protocolos de conectividade, responsveis pela comunicao e segurana, protocolos de recursos, com tarefas relacionadas a armazenamento em dispositivos, a gravaes e recuperaes de dados em SGBDs e a busca de informaes, e protocolos coletivos, com a incumbncia de realizar os testes, a gesto, o encadeamento de processos e a governana de mltiplos recursos. Este assunto ser melhor explorado ao tratar-se a arquitetura, no tpico 5 deste trabalho. Para que os sistemas e aplicaes de cloud sejam estruturados em acordo com os princpios de uma arquitetura orientada a servios faz-se a escolha de web services para compor a infraestrutura e o framework. Outrossim, assumido que as interfaces de servios estaro definidas em WSDL (Web Service Description Language) em suas verses 1.1 e 2.0. O XML o padro para descrio e representao, mas sua adoo tornada flexvel em determinados contextos onde se necessita desempenho. O protocolo SOAP o formato bsico de troca de mensagens para servios em padro de arquiteturas abertas de servios, (open services architecture). As definies de servio esto em consonncia com o processo de interoperabilidade em web services, o WS-I, (web service inspection). Em questes de segurana adotam-se os padres OASIS, incluindo o Security Assertion Markup Language (SAML) v2.0, o eXtensible Access Control Markup Language TC v2.0 (XACML). Est em evoluo o trabalho no rumo ao Cross-Enterprise Security and Privacy Authorization (XSPA) Profile of XACML v2.0. 4. Fisiologia de cloud Na viso anatmica abordaram-se definies e propriedades essenciais de uma nuvem. Em fisiologia ser detalhado como uma cloud funciona e como suas tecnologias podem ser construdas e aplicadas, complementando a viso orientada a protocolos. Explicita-se como as tecnologias de cloud e de web services devem ser alinhadas para se trabalhar na linha de uma arquitetura orientada a servios (SOA)
83

LUIS CLAUDIO PEREIRA TUJAL

4.1. Web Services O termo web service descreve um importante paradigma de computao distribuda heterognea que tem seu foco em padres baseados em Internet, como o XML. Web services, ou WSs, definem uma tcnica para descrever componentes de software a serem acessados, mtodos para acess-los e mtodos de descoberta ou pesquisa que tornam possvel a resoluo de provedores de servio pertinentes. WSs so imunes a linguagens de programao, a modelos de desenvolvimento e a sistemas de software. Web services so definidos pelo W3C e por outros organismos de padronizao e formam a base de macio investimento da indstria da computao. Em cloud computing interessam basicamente trs padres: SOAP, WSDL e WS-I, conforme mencionado no captulo anterior. O SOAP, ou Simple Object Access Protocol, prov um meio para troca de mensagens entre um provedor de servio e um requisitante por servio. Este protocolo consiste num simples componente de empacotamento para dados XML, que define convenes de chamada de procedimento remoto (RPC, remote procedure call) e de troca de mensagens. Enfatiza-se que SOAP no esgota as possibilidades de comunicao: quando desempenho crtico necessrio se adotarem solues de troca de mensagens que executam sobre protocolos especializados de rede. O WSDL, Web Service Description Language, consiste num documento escrito em XML que alm de descrever o servio, especifica como acess-lo e quais as operaes ou mtodos disponveis. WSDL descreve web servios como um conjunto de endereos de rede, ou portas, operando em mensagens contendo cargas de dados que podem ser orientadas a documentos ou mesmo RPC. um protocolo extensvel, permite a descrio dos endereos de rede e da representao concreta de suas mensagens para uma diversidade de formatos de mensagem e de protocolos de rede. O WS-I compreende uma linguagem simples e as relativas convenes para a localizao das descries de servios publicadas por um provedor de servio. Descrio de servio normalmente uma URL para um documento WSDL, ocasionalmente pode ser uma referncia a uma entrada em registro UDDI (Universal Description, Discovery and Integration). Um documento WSIL contm uma coleo de descries de servios e links para outras fontes de descries. Um link uma URL para outro documento WS-I e, s
84

MODELO DE REFERNCIA DE CLOUD

vezes, uma referncia para uma entrada UDDI. Observe-se que documentos WSIL podem ser organizados em outras formas de indexao. O framework de WSs traz duas grandes vantagens para o propsito dos clouds. Primeiro, para suportar a pesquisa dinmica e a composio de servios em ambientes heterogneos so necessrios mecanismos para registrar e descobrir definies de interfaces e descries para pontos finais de implementaes, bem como mecanismos para gerao dinmica de proxies baseados em bindings para interfaces especficas. Segundo, a franca adoo de mecanismos WS significa que um framework baseado em WSs pode se beneficiar muito com o grande nmero de ferramentas e de servios existentes. 4.2. Open Cloud Services Neste tpico sero tecidas consideraes acerca da utilidade compreendida numa arquitetura de cloud aberta orientada a servios, quais so as caractersticas essnciais dos servios e a da importncia de se virtualizar estes. Na viso orientada a servios pode se bissectar o problema da interoperabilidade num subproblema de definio das interfaces de servio e em outro de se buscar um acordo dentro de um conjunto de protocolos, ou identificar os protocolos que podem ser usado para invocar uma interface especfica. Deste modo, a viso orientada a servios enfatiza a necessidade para mecanismos de padronizao de interfaces, de transparncia local e remota, de adaptaes para servios locais de sistemas operacionais e de semntica uniforme de servios. Uma viso orientada a servios tambm simplifica a virtualizao, entendida tambm como o encapsulamento de diversas implementaes atrs de uma interface comum. Virtualizao permite o acesso consistente de recursos entre plataformas mltiplas e heterogneas, com transparncia local e remota. Tambm possibilita o mapeamento de diversas instncias de recursos lgicos para o mesmo recurso fsico e o gerenciamento deste dentro de uma organizao virtual baseada em composies de recursos que vm desde o nvel mais baixo de recursos. Na figura 6 (seis) a seguir apresentam-se vrios estgios de vida de um data mining, uma minerao de dados, decomposto inicialmente em atividades como a invocao remota de servio bsica, o gerenciamento de ciclo de vida e as funes de notificao.
85

LUIS CLAUDIO PEREIRA TUJAL

Estes servios atmicos acima enunciados vo compor um quadro mais amplo de computao em nuvem. Este caso de minerao de dados se traduz na fisiologia da nuvem computacional num exemplo de entrega combinada de servios. Aqui se destaca o fornecimento de (a) Storage-as-a-Service, ou armazenamento como servio, com o uso de fbrica de alocao de servio; (b) Database-as-a-Service, ou banco de dados como servio, com o uso da estrutura de database distribuda e remota como se fosse local, e (c) Software-as-a-Service, softwares ou aplicaes entregues pela web, atravs de um browser.

Figura 6. Exemplo para servios bsicos de cloud


86

MODELO DE REFERNCIA DE CLOUD

Explicao da situao expressa na figura 6 (seis). (1). A aplicao compreende inicialmente 04 (quatro) ambientes do tipo host simples: (da esquerda para a direita, numa mesma linha) ambiente que executa as aplicaes do usurio; ambiente que encapsula os recursos de computao e de armazenamento (e que suporta dois servios do tipo fbrica, um para alocar reservas no storage e outro para criar servios de minerao), um terceiro e quarto ambientes que encapsulam servios de banco de dados, ou de SGBD (Sistema Gerenciador de bancos de Dados). Os Rs representam servios locais de registro e um servio adicional de registro em uma organizao virtual prov informao acerca da localizao de todos os servios representados. (2). A aplicao de usurio emite requisies do tipo criar servio cloud para as duas fbricas no segundo ambiente host, requisitando a criao de : (a) um servio data mining que ir executar a operao de data mining de sua atribuio e (b) a alocao de espao de armazenamento em storage requerido para aquele processamento. Cada requisio envolve autenticao mtua do usurio e da fbrica relevante (usando um mecanismo de autenticao especificado na descrio do servio de fbrica), seguido por uma autorizao da requisio. Como cada pedido bem sucedido, isto resulta na criao de uma instncia de servio de cloud com algum tempo de vida inicial. A nova instncia de servio de data mining tambm provida pelas credenciais de Proxy delegadas que permitem ela executar futuras operaes remotas em atendimento ao usurio. (3). O recm-criado servio de data mining utiliza suas credenciais de Proxy para iniciar a requisio de dados a partir dos dois servios de bancos de dados (SGBDs), armazenando seus resultados intermedirios no storage local. O servio de data mining tambm utiliza mecanismos de notificao para fornecer aplicao de usurio com atualizaes peridicas de seu status. Neste meio tempo, a aplicao de usurio gera requisies peridicas do tipo keepalive, (i.e., mantenha ativo) para as duas instncias de servio de cloud criadas. (4) A aplicao de usurio falha por algum motivo. O processamento computacional do data mining continua por enquanto, mas, como nenhum
87

LUIS CLAUDIO PEREIRA TUJAL

outro recurso tem interesse em seus resultados, nenhuma mensagem adicional de keepalive gerada. Devido ento falha da aplicao ilustrada, as mensagens de keepalive param de ser emitidas e portanto as duas instncias de cloud eventualmente entram em time out e so finalizadas, liberando os recursos computacionais e de armazenamento em strorage que estavam consumindo. 5. Arquitetura de cloud entendimento de amplo aceite que uma arquitetura de nuvem responsvel por: (a) identificar os componentes fundamentais dos sistemas; (b) especificar o propsito e a funo destes componentes e (c) indicar as vrias interaes destes componentes entre si. Esta arquitetura ponto de partida para que se trabalhar o ciclo de vida da tecnologia de nuvens computacionais. Juntas, tecnologia e arquitetura podem representar o que comumente se denomina middleware de nuvem, visto sob a tica dos servios necessrios para suportar um conjunto de aplicaes num ambiente de rede distribudo [35]. A natureza da arquitetura de cloud pode ser definida como orientada a protocolos, os quais governam a interao entre componentes, e no suas implementaes. Do mesmo modo que o advento da web revolucionou a forma de se compartilhar informaes atravs de uma sintaxe e protocolos universais (HTTP e HTML), nuvens tambm necessitam de padres de sintaxe e protocolos para poderem funcionar em consonncia com os preceitos de orientao a servios, promovendo compartilhamentos entre organizaes virtuais, alm de se observar os rumos que esto sendo consolidados sob a gide da Green IT, ou TI verde. Num ambiente em rede, a adoo de protocolos comuns possibilita a interoperabilidade, a qual representa o principal aspecto a ser abordado. Interoperar torna-se essencial para a constituio das OVs (organizaes virtuais) em cloud computing, dada a natureza fluida e dinmica das relaes entre partes quaisquer, comportando participantes novos dinamicamente, suportando diversas plataformas, linguagens e ambientes de desenvolvimento.
88

MODELO DE REFERNCIA DE CLOUD

Complementando o aspecto dos protocolos, destacam-se tambm as Application Programming Interfaces (APIs) e os Software Development Kits (SDKs). Outra orientao importante para a arquitetura de cloud consiste nos servios. Deste modo, estabelece-se aqui que um servio se encontra definido em funo do protocolo que ele usa para se comunicar e do comportamento que ele implementa. 5.1. Descrio Procedendo descrio arquitetural, observa-se que ela no enumera exaustivamente protocolos, servios, APIs e SDKs. A descrio permite que se identifiquem os requisitos para uma classe mais genrica de componentes, organizados em camadas. Para especificarem-se as camadas, seguem-se os princpios do modelo relgio de sol, [33], que traduz muitos comportamentos de alto nvel (topo do relgio de sol) mapeados a muitas tecnologias (base do relgio) por um pequeno nmero de protocolos (meio ou garaganta do relgio). A figura abaixo expressa as camadas de arquitetura de cloud e seu mapeamento com o modelo de camadas TCP/IP.

Figura 7. Arquitetura de cloud e seu relacionamento com a arquitetura TCP/IP


89

LUIS CLAUDIO PEREIRA TUJAL

Para as camadas da arquitetura de cloud, observa-se o seguinte: Tecido camada fabric, o meio, que prov recursos para a mediao do acesso compartilhado pelos protocolos do cloud. Os componentes da camada tecido implementam as operaes locais especficas de recurso que resultam de operaes em nveis mais altos da pilha de camadas. No mnimo, os recursos devem implementar mecanismos de pesquisa que permitem a descoberta de sua estrutura, estado e capacidades (tais como recursos computacionais, recursos de armazenamento, recursos de rede, repositrios de cdigo e catlogos, e.g.) e mecanismos de gerenciamento de recursos que provem controle da qualidade de servio. Conectividade que define os protocolos de comunicao e autenticao fundamentais para transaes de rede especficas de cloud. Requisitos de comunicao so basicamente transporte, roteamento e resoluo de nomes e so supridos pelos protocolos da pilha TCP/IP. Solues de autenticao para OVs devem ter caractersticas como single sign on, delegao, integrao com varias solues de segurana local e relacionamentos de confiana baseados em usurios. Recurso esta camada construda sobre os protocolos de comunicao e autenticao para definir protocolos, APIs e SDKs para negociao segura, monitorao, controle, contabilidade e pagamento de operaes de compartilhamento sobre recursos individualizados. Duas classes de protocolos de recurso se destacam: informao e gerenciamento. Coletiva enquanto a camada de recurso tem enfoque em interaes relacionadas a um nico recurso, a camada coletiva contm protocolos, servios, APIs e SDKs de natureza global e que apreendem interaes entre colees de recursos. Uma vez que os componentes desta camada so construdos sobre a estreita garganta do modelo do relgio de sol, i.e., os poucos protocolos das camadas de conectividade e de recurso, eles podem implementar grande quantidade de comportamentos sem adicionar novos requisitos aos recursos compartilhados. Como exemplos, pode se citar: servios de diretrio, co-alocao, agendamento, colaborativos, brokering, contbeis, monitorao, diagnstico, pagamentos e pesquisa; sistemas de programao para cloud e gerenciamento de carga de trabalho, e, frameworks de colaborao. Aplicao camada que compreende as aplicaes de usurio que executam num ambiente de organizaes virtuais. Estas aplicaes em termos
90

MODELO DE REFERNCIA DE CLOUD

de servios de quaisquer camadas, assim como tambm podem chamar servios definidos em quaisquer camadas. 5.2. Requisitos Torna-se mister ressaltar que os sistemas em nuvem tm por objetivo integrar, virtualizar e gerenciar recursos dentro de organizaes virtuais distribudas, heterogneas e dinmicas. Uma chave para o sucesso a padronizao, pois ela permite que se criem componentes interoperveis, portveis e reutilizveis, possibilitando que eles sejam pesquisados, acessados, alocados, monitorados, contabilizados, cobrados e principalmente que sejam gerenciados como um sistema virtual nico (mesmo quando oriundos de fornecedores distintos e operados por diversos outros players). Este modelo de referncia se desenvolve a partir de uma arquitetura de padres abertos e orientada a servios, que materializa o anseio por padronizao ao definir um conjunto bsico de servios, relacionado a questes fundamentais de cloud, composto de comportamentos e por capacidades. Abaixo relaciona-se o conjunto de requisitos funcionais e no-funcionais, que se originam de casos de uso explicitados em uma arquitetura de padres abertos e orientada a servios. (1) Interoperabilidade e suporte a ambientes heterogneos e dinmicos Ambientes em nuvem tendem a ser heterogneos e distribudos, englobando variedade de ambientes host, sistemas operacionais, dispositivos e servios, de diversos fabricantes. Tambm tendem a ter longa durao e a serem dinmicos, muitas vezes evoluindo de maneira no prevista inicialmente. Ter de suportar a diversidade se traduz em requisitos que incluem virtualizao de recursos, capacidades comuns de gerenciamento, pesquisa, consulta e descoberta de recursos e esquemas e protocolos padro. (2) Compartilhamento de recursos entre organizaes Suportar uso e compartilhamento entre domnios administrativos sejam eles entre instituies ou dentro da mesma corporao. Torna-se necessrio que sejam estabelecidos mecanismos capazes de prover contextos que associem usurios, requisies, recursos, polticas e acordos
91

LUIS CLAUDIO PEREIRA TUJAL

interorganizacionais, como, por exemplo, definio de um namespace global, autonomia de sites, servios de metadados e dados de uso de recursos (resource usage data, i.e.). (3) Otimizao Consiste na eficincia e eficcia na alocao de recursos a fim de suprir as necessidades de consumidores e de produtores. O uso de recursos por polticas de alocao flexvel, como reserva antecipada de recursos com perodo definido e o pooling de recursos de armazenamento. necessrio ter-se tambm uma otimizao de demanda capaz de gerenciar vrios workloads, incluindo-se demandas de workloads agregados. Tambm essencial ter-se mecanismos de registro de uso de recursos, como metering, monitoring e logging. A questo da otimizao passo certo nos caminhos da sustentabilidade e da preservao de recursos originais, que compem o paradigma da computao verde (Green IT), modalidade da cincia da computao alinhada persecuo dos preceitos enunciados pela economia verde (Green Economy). (4) Assegurar qualidade de servio (QoS Assurance) e qualidade de experincia (QoE) Dimenses chave de QoS e QoE so segurana, disponibilidade e desempenho. So assim apontados requisitos como acordos de nvel de servios (ANS - ou SLA, parte de Service Level Agreements), acordos de nvel de consecuo (ANC SLA, parte de Service Level Attainment) e migrao. (5) Execuo de tarefas (Jobs) Governana para a execuo de trabalhos (ou jobs) definidos pelo usurio, ao longo dos seus ciclos de vida. Tem-se requisitos como suporte a vrios tipos de trabalhos (jobs), gerenciamento de tarefas (jobs ), agendamento e provisionamento de recursos. (6) Servios de dados Acessos eficientes a grandes quantidades de dados e a compartilhamentos so cada vez mais demandados pelas empresas. Delineiam-se requisitos tais como o acesso eficiente e rpido, a consistncia, a persistncia, a integrao e a gesto da alocao, todos relativos a diversos tipos de dados e informaes.
92

MODELO DE REFERNCIA DE CLOUD

(7) Segurana Como j foi abordado anteriormente, destaca-se a necessidade de mecanismos de autenticao, de autorizao, de interoperao por mltiplas infraestruturas de segurana e, por fim, de solues para permetros de segurana. (8) Reduo de custo administrativo A complexidade inerente administrao de sistemas heterogneos, de larga escala de distribuio, aumenta os custos de gerenciamento e o risco de falha humana. De primo, faz-se necessrio um gerenciamento consistente, baseado em polticas, engendrado para automatizar o controle da nuvem computacional. Em segundo, um gerenciamento de contedo das aplicaes, contendo dispositivos que facilitem o deployment, a configurao e a manuteno de sistemas complexos. Por fim, mecanismos de determinao de problemas, para que os gestores reconheam e tratem situaes de problema que surjam. Neste contexto surgem mecanismos, tcnicas, algoritmos e componentes oriundos da computao autonmica, constituindose numa verdadeira revitalizao da inteligncia artificial. (9) Escalabilidade Um dos valores agregados adicionados por clouds a reduo macia do tempo de turn around de trabalhos (jobs), permitindo o uso transparente e alternado ora de pequena quantidade de recursos, ora de grande quantidade de recursos, possibilitando a continuidade do servio dentro das especificaes formalizadas no acordo de nvel de servio e at a composio de novos servios. Contudo, a grande escala do sistema apresenta novas necessidades, como uma arquitetura de gerenciamento que escale para milhares de recursos potenciais e de natureza diversa. Tambm se faz mister mecanismos de alto throughput para ajustar e otimizar a execuo de trabalhos em paralelo. (10) Disponibilidade e Resilincia A alta disponibilidade esta usualmente associada a equipamentos tolerantes a falhas de grande custo ou sistemas complexos de cluster. Por outro lado, a demanda crescente por servios pblicos e de utilidade pblica, como no caso dos servios de um governo eletrnico, levam os sistemas a ter de operar em altos nveis de disponibilidade. Considerando que as tecnologias de cloud
93

LUIS CLAUDIO PEREIRA TUJAL

possibilitam um acesso transparente a enormes pools de recursos, entre organizaes e dentro delas, podemos enxerg-lo como uma importante pea do quebra-cabea tecnolgico, pea esta fundamental para se construir ambientes de execuo estveis e de alta confiabilidade. Entretanto, certos percalos precisam ser superados, como o fato da heterogeneidade do cloud permitir a existncia de componentes com MTTR (mean-time-to-repair) indefinido ou mesmo no confiveis. Esta questo cria certas dificuldades, mas vem se tornando cada vez mais contornvel, com a evoluo do middleware, principalmente com os mecanismos de recuperao de desastres e os de gerenciamento de falhas. (11) Extensibilidade e facilidade de uso So necessrios mecanismos provedores de abstraes teis e no nvel desejado. Porm, no possvel se prever de antemo os usos que consumidores e produtores faro do cloud. Deste modo, construram-se componentes extensveis e de fcil substituio, permitindo evoluo arquitetural e a possibilidade dos usurios elaborarem suas prprias solues. At mesmo os core system componentes podem ser substitudos, customizao e extensibilidade devem ser providas de modo a no se comprometer o caractere de interoperabilidade 5.3. Capacidades Uma arquitetura de nuvem com padres abertos e orientada a servios facilita o uso livre e o gerenciamento de recursos distribudos e heterogneos. Os termos aqui empregados esto em seu sentido lato: a arquitetura, conforme a Wikipdia,
consiste dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares. O termo tambm se refere documentao da arquitetura de software do sistema.

Distribudo varia em um espectro que vai de recursos contguos geograficamente e conectados por algum tecido ou meio at recursos em multidomnios globais, conectados em modo fraco ou intermitente. Recursos dizem respeito a quaisquer artefatos, entidades ou conhecimentos necessrios para se completar operaes em sistemas.
94

MODELO DE REFERNCIA DE CLOUD

A computao utilitria, advinda da infraestrutura que est consonante com a arquitetura ora proposta, se materializa a partir do conjunto de capacidades que doravante se esboa. A seguir, na figura 8 (oito), possvel se observar a representao lgica, abstrata, das capacidades e a aglutinao no rgida (sem a obrigatoriedade predefinida de se basear nas camadas imediatas para prestar e fornecer servios, i.e.) destas em 3 (trs) camadas: (a) camada de base, de recursos base, que so os recursos fsicos e lgicos de um provedor de nuvem (cloud provider), recursos estes de relevncia externa a uma arquitetura de nuvem com padres abertos e orientada a servios; (b) camada do meio, representando nvel mais alto de virtualizao e abstrao, composta pelos servios bsicos em um provedor de nuvem e que so relevantes para uma arquitetura de cloud aberta e orientada a servios; (c) camada do topo que representa as aplicaes e outras entidades de um provedor de servios que usam a arquitetura e suas capacidades para executarem suas funes e processos.

Figura 8. Viso Conceitual da Infraestrutura de cloud


95

LUIS CLAUDIO PEREIRA TUJAL

Parte-se a seguir para uma caracterizao das capacidades. Uma explanao pormenorizada pode ser depreendida da anlise dos trabalhos recomendados na bibliografia, em particular os itens [59] e [60]. 5.3.1. Framework de Servios Esquematicamente, esto elencados na figura seguinte (Figura 9, i.e., nove) os servios da arquitetura de cloud. No uma lista exaustiva, nem nmeros clausos, no esgota possibilidades. A figura apresentada em seguida, de nmero 10 (dez), mostra uma perspectiva diferente da figura 9 (nove), focando em numerosas relaes e interaes possveis entre os servios. Observe-se que servios so componentes com fraco acoplamento que, por eles prprios ou como parte de um grupo interativo, cumprem as capacidades de uma arquitetura de cloud, constituda sob padres abertos e orientada a servios, atravs de implementao, composio ou interao. Os servios de arquitetura de cloud assumem a preexistncia de um ambiente fsico, que pode incluir hardware de computador ou redes e at equipamentos fiscos, como telescpios e microscpios de fora quntica. Observem-se as figuras seguintes, baseadas em [59] e [60].

Figura 9. Framework de Arquitetura de Cloud


96

MODELO DE REFERNCIA DE CLOUD

Figura 10. Relacionamentos entre Servios

5.3.1.1. Servios de Infraestrutura Conforme j dissertado, a arquitetura de cloud por uma perspectiva subsidia, por outra, se apia, no conjunto de especificaes referente web service architecture [WS-Architecture]. Esta escolha, como foi evidenciado, coloca este Modelo de Referncia no caminho da orientao servios, valendo-se das boas prticas, utilizando padres de amplo aceite e larga adoo no mercado. 5.3.1.2. Servios de Gerenciamento de Execuo Tm a incumbncia de lidar com problemas de instanciao e gerenciamento das unidades de trabalho (aplicaes de cloud e aplicaes de legado, ou no-cloud), at que estas se completem ou se resolvam (time out, respawn, e.g.). Abaixo se reproduz, baseado em [60], um metamodelo de SGEs, para uma melhor compreenso.
97

LUIS CLAUDIO PEREIRA TUJAL

Figura 11. Metamodelo Notacional para SGEs

5.3.1.3. Servios de Dados Utilizados para a movimentao de dados para onde estes esto sendo necessrios, para se gerenciar mltiplas cpias, para se executar operaes do tipo queries e updates e para se transformar dados em novos formatos. Tambm estes servios provem as capacidades necessrias para gerenciar os metadados que descrevem os servios de dados e outros dados. Observe-se abaixo um metamodelo de servios de dados (Sds), baseado em [60].

98

MODELO DE REFERNCIA DE CLOUD

Figura 12. Metamodelo Notacional para SDs

5.3.1.4. Servios de Gerenciamento de Recursos Os servios de gerenciamento de recursos, os SGRs, realizam essencialmente 3 (trs) tipos de atividades: (a) auto-gerenciamento dos recursos (e.g., reboot de um host, configurao de VLANs em um switch); (b) gerenciamento de recursos no cloud (reserva de recursos, monitorao e controle); (c) gerenciamento de infraestrutura de arquitetura de cloud, que por sua vez tambm composta de recursos. Observe-se a figura abaixo, baseada em [60].

99

LUIS CLAUDIO PEREIRA TUJAL

Figura 13. Nveis de gerenciamento e relacionamento com as interfaces

5.3.1.5. Servios de Auto-Gerenciamento Esta gama de servios foi engendrada para se diminuir os custos e as complexidades inerentes a se possuir e se operar a infrestrutura de TI necessria para o cloud. Neste ambiente de auto-gerenciamento os componentes de hardware e software envolvidos tm trs capacidades bsicas: se recuperam, se configuram e se otimizam automaticamente, com baixa ou nenhuma interveno humana. Como atributos bsicos, o auto-gerenciamento contem polticas, nveis de acordo de servios (os SLAs, ou service level agreement)e o modelo de gerenciador de nvel de servio. 5.3.1.6. Servios de Segurana Estes servios surgem com o vis de enfatizar a aplicao de polticas de segurana no contexto de uma organizao virtual (OV). Vide figura abaixo, baseada em [59] e [60].
100

MODELO DE REFERNCIA DE CLOUD

Figura 14. Servios de segurana num ambiente de VO

De uma forma geral, enfatizar polticas de segurana assegurar que os objetivos de negcio em nvel mais abstrato ou alto sejam alcanados. Na figura acima se fornece um panorama de servios de segurana em OVs. 5.3.1.7. Servios de Informao O termo informao se refere a dados ou eventos dinmicos usados para a monitorao de status. Assim, estes servios dizem respeito s capacidades de se manipular e acessar d modo eficiente a informao acerca de aplicaes, recursos e servios em ambiente de cloud. Cinco grandes capacidades so ento citadas: (1) esquema de nomeao, mecanismos de (2) descoberta, (3) entrega de mensagens (4) logging, (5) monitorao e de
101

LUIS CLAUDIO PEREIRA TUJAL

5.3.1.8. Servios de Medio Estes servios destacam-se como uma especializao dos servios de gerenciamento de recursos. So 3 (trs) os servios diretamente relacionados medio: (a) metering, ou medio no sentido strictu, ou estrito, que responde pelos indicadores, as mtricas e as solues de armazenamento dos valores ; (b) billing, ou tarifao, que corresponde ao processo de gerar um invoice (contrato de compra-e-venda) para recuperar o preo de venda pela parte do cliente; e (c) accounting ou contabilizao, que corresponde totalizaes que levam em conta as medies e tarifaes expressas em acordos de nvel de servios. A seguir enumeramos os requisitos para os servios de medio, conforme referencia [61]. Isto nos permitem individualizar estes servios. 1. LOCATION UNAWARENESS, ou desconhecimento sobre a localizao. 2. SERVICE ELASTICITY, elasticidade do servio. 3. SERVICE BILLING, ou a tarifao como um servio. 4. COMPLEX PRICING, precificao complexa. 5. ADAPTABLE DESIGN, um projeto adaptvel. 6. FLEXIBLE DATA FORMAT, formato de dados flexvel de modo a comportar extenses futuras 7. SERVICE ACCOUNTING, contabilizao como servio. 8. COMPENSATIONS, compensaes, que junto com uso so contabilizadas com base nos acordos de nvel de servios. 5.3.1.9. Servios de Provisionamento Estes servios tambm so aqui individuados a partir dos servios de gerenciamento de recursos. Nesta categoria encontramos: (a) os servios de provisionamento em sentido strictu (estrito), que so essencialmente (a.1) descoberta de servios (service discovery) e (a.2) balanceamento de carga (load-balancing) e (b) os servios de planejamento de capacidade (capacity planning). Este planejamento consiste em: (b.1) determinao de objetivos; (b.2) coleta de mtricas e fixao de limites
102

MODELO DE REFERNCIA DE CLOUD

(b.3) explicitao de tendncias e prognsticos baseados nas mtricas e limites e (b.4) publicao e gerenciamento da capacidade. 5.4 Topoi de Arquitetura Inicialmente observa-se que o termo topoi se refere ao plural de topos, a palavra em grego para lugar, do latim locus. O termo vem aqui empregado em sua acepo adotada pela filosofia, onde especifica os chamados lugares comuns, compilaes com base em material tradicional e consolidado, em particular as descries de ambientes padronizados. Assim, com base na literatura, notadamente em [23] e [68], apresentase a seguir um modelo topogrfico de referncia para cloud computing computao em nuvem.

Figura 15. Modelo Topogrfico de Referncia para Computao em Nuvem


103

LUIS CLAUDIO PEREIRA TUJAL

Abaixo, detalha-se o modelo. 5.4.1. Consumidor de Servios. Representa o usurio final ou a corporao que de fato vai consumir o servio, de uma das 6 (seis) categorias apresentadas no captulo 3 (infraestrutura, plataforma, software, integrao, segurana ou governana como servios). Trs questes se destacam, a saber: APIs e UIs baseadas em papis, ANS e contratos e as expectativas do consumidor aliadas a reputao do provedor. APIs e UIs baseadas em papis. De acordo com tipo do servio e o seu papel, o consumidor tem de trabalhar com diferentes interfaces de usurio e de programao. Algumas destas interfaces, no entanto, so transparentes, tem aspecto semelhante ao de uma aplicao usual, o consumidor no necessita quaisquer conhecimentos de computao em nuvem para usar o servio. Outras interfaces provem funcionalidades administrativas tais como gerenciamento da nuvem ou a inicializao e a parada de mquinas virtuais. Consumidores que esto escrevendo cdigo de aplicaes usam interfaces de programao que variam conforme a prpria aplicao. ANS e Contratos. Representam os acordos negociados por meio da interveno humana entre as partes dos atores consumidores e provedores. Representam o ingresso da computao em nuvem na esfera jurdica, considerando que estas manifestaes de vontade produzem seus efeitos regularmente, observando licenciamentos e os direitos positivados e costumes dos pases envolvidos. Dois tipos de contrato vm se destacando com relao s negociaes reputadas computao em nuvem: (1) os contratos solveis por meio de arbitragem, que apresentam maior flexibilidade e agilidade, considerando-se a vigente multiplicidade de esferas jurdicas independentes e a morosidade no direito internacional privado para que se consubstanciem as regras de conexo entre direitos ptrios; e (2) os contratos joint venture, que flexibilizam as possibilidades de solues e as obrigaes entre as partes, prevendo compensaes e levando em conta regras comuns aos diversos direitos envolvidos nas negociaes.
104

MODELO DE REFERNCIA DE CLOUD

Expectativas do Consumidor / Reputao do Provedor. Representam duas questes mais importantes envolvidas nas negociaes de acordo de nveis de servios (ANS) e contratos. De acordo com diversos estudos, as expectativas essenciais das partes consumidoras so as relacionadas segurana, confidencialidade e privacidade de dados e aplicaes. Como acontece em qualquer negcio tipicamente humano, a marca do fornecedor, no caso o provedor, tem peso definitivo no processo de escolha empreendido pelo consumidor. A marca se traduz de forma mais ampla como a reputao, que envolve questes jurdicas como a regularidade legal da sociedade empresarial e a quantidade de decises transitadas em julgado que esta sociedade tenha sido r e condenada. Assim, a reputao critrio importante para contratos e ANS do governo brasileiro, pois os efeitos jurdicos dela vo, por exemplo, afetar o resultado de processos de licitao. 5.4.2. Provedor de Servios o responsvel pelo fornecimento do servio ao consumidor. Este servio varia conforme as 6 (seis) categorias apresentadas no captulo 3 (trs), citadas no item 5.4.1. Em relao s camadas, tendo por base a figura 15 anterior, tem-se o detalhamento abaixo, discorrendo-se a partir do nvel ou camada mais elementar para a camada mais sofisticada. Firmware, Hardware e Equipamentos de Rede. Compem a camada mais baixa do diagrama, sobre a qual toda a infraestrutura construda. Aqui se incluem os equipamentos fiscos, os servidores, roteadores, switches, as estantes, o cabeamento, enfim, os componentes fsicos alimentados pelas foras eletromagnticas. Inclui-se tambm a microprogramao, os cdigos e instrues bsicas que so fornecidos como uma primeira camada de abstrao ao meio fsico, abaixo mesmo do sistema operacional. Software Kernel (Sistema Operacional e Gerenciador de VM). Sobre a camada bsica apresentada acima est o kernel (ncleo ou supervisor) do sistema operacional (SO), composto por sua pilha de protocolos e pelas primitivas (operaes) de sistema, que especificam um servio de sistema operacional. No mesmo nvel do kernel de SO pode ser posicionado o Gerenciador de VM (virtual machines, ou mquinas virtuais) constituindose em uma camada de software que executa diretamente sobre a camada de
105

LUIS CLAUDIO PEREIRA TUJAL

Firmware, Hardware e Equipamentos de Rede, a camada bsica do item anterior. No que tange algumas primitivas de sistema, o Gerenciador de VM, tambm conhecido como hypervisor, substitui o kernel do sistema operacional. Com o hypervisor possvel se executar sobre o hardware mltiplos SOs guest, ou hspede, em modo concorrente.De forma tpica, esta camada de software kernel ir conter o hypervisor e um kernel SO com acesso direto camada anterior e com responsabilidades prprias executando em situao coordenada ao hypervisor. Ambos so responsveis por hospedar a infraestrutura suportada pela nuvem. Recursos Virtualizados. Estes recursos e imagens compreendem as primitivas de servio de cloud computing , tais como poder de processamento, armazenamento, networking e middleware. Nesta camada esto as imagens virtuais, correspondendo a sistemas operacionais guest para, e.g., servidores, switches e roteadores. Estes SO esto na camada acima da representada pelo Software Kernel, a camada do item anterior. Nos recursos virtualizados tambm encontram-se os chamados metadados da virtualizao, que so as informaes responsveis pelo gerenciamento das mquinas virtuais. Pilha (Stack) de Middleware Cloud. Acima das camadas de sistema operacional (Software Kernel e Recursos Virtualizados), sobre o kernel de SO, hypervisor as imagens virtuais e metadados pode se encontrar a pilha de software de nuvem. Esta camada habitualmente contm componentes de software para as modalidades de computao paralela e distribuda, muitos desses constituindo solues de clusters e de grids. Alguns elementos se destacam: (a) Drivers, que so mdulos plugveis ou adaptadores responsveis por interagir com middlewares especficos para mecanismos e servios de informao relacionados a transferncias, mquinas virtuais e a informaes. (b) Core ou Ncleo de gerenciamento, contendo gerenciadores de requisies de clientes, de mquinas virtuais, de transferncias, de redes virtuais de recursos fsicos hosts e de bancos de dados. (c) Tools ou Ferramentas, como o: (c.1) Scheduler ou Agendador, que trabalha requisies remotas de procedimento consolidando em cdigo e algoritmos a definio de polticas de alocao e gerenciamento de recursos e polticas load
106

MODELO DE REFERNCIA DE CLOUD

aware, i.e., de presena de carga, que subsidiam mecanismos de balanceamento, resilincia, escalabilidade e reconfigurao; (c.2) Interface de comando de linha e (c.3) Interfaces grficas. (c.4) MapReduce, framework de software que suporta computao distribuda em grandes conjuntos de dados alocados em clusters de computadores, (c.5) Bibliotecas de MPI, Message Passing Interface, para suportar distribuio e paralelismo em sistemas operacionais e oferecer APIs que subsidiem SDKs, Toolkits e Frameworks e (c.6). Distributed File System, ou sistema de arquivos distribudo. Categorias de Tecnologia de Cloud. Esta a camada de mais alto nvel, apresentando software que permeia as demais camadas. Conforme o diagrama topogrfico da figura 15, quanto a responsabilidades e abrangncia, observa-se que: 1. Para Segurana como um Servio, o provedor se responsabiliza pelas aplicaes de segurana, como a gesto de identidade, e pela privacidade e confidencialidade de dados e informaes. Observe-se que a segurana transversal a todas as camadas ou nveis do diagrama, o que significa sua presena em todos os topoi (lugares) do provedor de servio. Pode-se afirmar que a segurana permeia o modelo topogrfico em questo. 2. Para a Integrao como um Servio, provedor e consumidor assumem suas responsabilidades conforme contrato ou acordo de nveis de servio. O provedor usualmente trabalha a mediao entre as corporaes e as aplicaes, garantindo a segurana, e o consumidor tem a incumbncia de realizar a integrao interna as suas aplicaes. A integrao, a exemplo da segurana, tambm transversal ao modelo da figura 15, perpassando todas as camadas. 3. Em relao a Software como um Servio, o modelo clssico prev que o provedor tem as responsabilidades de instalar, gerenciar e manter o software. O provedor no necessariamente detm a propriedade da infraestrutura fsica sobre a qual os programas executam. Tipicamente o consumidor no possui acesso esta infraestrutura, nem a configuraes de software bsico, ele apenas se interessa pelo acesso aplicaes.
107

LUIS CLAUDIO PEREIRA TUJAL

4. Para a Plataforma como um Servio o provedor gere a infraestrutura de nuvem para a plataforma, que usualmente consiste em um framework para uma dada espcie em particular de aplicaes. A aplicao do consumidor no acessa diretamente quaisquer elementos da infraestrutura que repousa sobre a plataforma, esta a regra clssica. 5. Na Infraestrutura como um Servio , o provedor tem a responsabilidade de manter o armazenamento, o banco de dados, a fila de mensagens e outros middlewares presentes no ambiente que hospeda as mquinas virtuais. O consumidor usa o servio concebendo-o como uma unidade de armazenamento (um disk drive, i.e.), um banco de dados, uma fila de mensagens ou mesmo uma mquina. Na forma tpica, isto se concretiza sem que este consumidor possa acessar a infraestrutura que hospeda estes servios acima apontados. 6. Em relao s ofertas de Gerenciamento e Governana como um Servio, observa-se que elas so fundamentais para as operaes do provedor e do consumidor de servios. Os modelos de negcio mais comumente verificados em prtica prevem como atividades caractersticas do provedor relacionadas ao gerenciamento de nvel bsico, as seguintes: (a) medio, determinando quem usa os servios e qual a extenso deste uso, (b) aprovisionamento, para se determinar a alocao de recursos aos consumidores e (c) monitorao, a fim de se rastrear os estados dos sistemas e da nuvem e os seus recursos. Para atividades caractersticas de provedor relacionadas a um nvel avanado tem-se: (a) tarifao e contabilizao, de modo a se recuperar custos com base nas atividades de medio, (b) planejamento de capacidade, para garantir que as demandas de consumo sero preenchidas, (c) gerenciamento de acordo de nvel de servio, de modo a se garantir a aderncia aos termos de servio contratados entre provedor e consumidor e (d) Relatrios, reporte de informaes para os diversos interessados. 6. Concluso Este trabalho se construiu sobre a perspectiva de se explicitar os principais elementos da computao em nuvem e estabelecer os seus interrelacionamentos. Em fevereiro de 2010, Cloud Computing rapidamente est
108

MODELO DE REFERNCIA DE CLOUD

se movendo para fora da fase do ciclo de vida tecnolgico conhecida como hype, momento de euforia e iluses. Bem posicionada no cenrio das tecnologias inovadoras, est em ascendente adoo pelo mundo corporativo, nos mercados em expanso. medida que vem sendo trabalhada terica e experimentalmente por iniciativas pblicas, privadas, individuais e coletivas, empreendidas em todos os cantos do planeta, a nuvem ganha consistncia. Para algumas corporaes norte-americanas do segmento de TI, cloud computing j uma realidade, tem tamanha densidade que capaz de ameaar a sobrevivncia de mdio prazo para os segmentos de mercado nos EUA que ainda no se posicionaram em relao aos novos modelos de negcio que com as nuvens se precipitam. Os early adopters, os pioneiros, como a Amazon, a Google e o Governo Americano, todos se apresentam com invejvel sade financeira. H prognsticos da possibilidade de uma estarem situados numa bolha de crescimento, sem sustentabilidade, mas a verdade que a situao destes atores est se consolidando com o tempo. Deixando de lado concepes maniquestas, podem ser destacadas reais vantagens de se iniciar na adoo de boas prticas preconizadas pelos estudiosos de cloud. Uma que vem de imediato se refere diminuio do custo total de propriedade (TCO Total Cost of Ownership) e o conseqente aumento do retorno sobre os investimentos (ROI, Return On Investiments). Para que se alcance isto a proposta que vem com o emprego de solues de computao em nuvem a de se aumentar o uso efetivo dos equipamentos que compem o ecossistema de um centro de dados. Estatsticas conhecidas afirmam que a mdia de ocupao deste meio fsico no modelo tradicional de 15% (quinze por cento); no modelo de nuvem apontam-se taxas de uso que gravitam em torno de 65% (sessenta e cinco por cento). As implicaes do cenrio desenhado no pargrafo acima so na construo de um ciclo virtuoso: com o melhor emprego dos recursos, diminuise o gasto com equipamentos, aumenta-se a eficincia e a eficcia operacionais, permitindo que se alavanque o atendimento s demandas reprimidas e que se compartilhem os recursos de forma planejada, otimizando o retorno sobre os gastos. Este o caminho da sustentabilidade e do consumo timo e racional de recursos, o que vem sendo desenhado como um cenrio de economia verde ou ecologicamente correta. Observe-se que toda a perspectiva que foi explanada acima no uma virtude que s se obtm pela adoo de tcnicas e tecnologias de computao em nuvem, outros caminhos
109

LUIS CLAUDIO PEREIRA TUJAL

existem, principalmente sob a gide dos paradigmas de SOA, isto , de arquiteturas orientadas a servios. Outro grande benefcio que cloud pode trazer se constitui na economia de tempo. Devido s exigncias das transaes web modernas vo se pulverizando as necessidades, aumenta-se a granularidade a atomicidade das requisies e eleva-se o nmero de usurios simultneos competindo pelos recursos. Para se ter flexibilidade, para que as solues de servios possam escalar de forma segura e para que os inevitveis riscos e desastres sejam mitigados necessrio se adaptar e evoluir o mais rpido possvel. O paradigma da computao em nuvem vem imbudo de caractersticas de tempo real, adequadas s crescentes presses de time-to-market. Uma grande vantagem para se trabalhar na nuvem vem da exigncia e da adoo em larga escala de padres abertos por parte dos atores que esto experimentando as tecnologias de cloud. Por fim, o uso intensivo de software open source para compor solues outra constatao que se pode depreender da anlise deste mercado. Alm disso, o trabalho colaborativo congregando entidades de diversos segmentos, como pesquisa, governo ou mercado uma constatao que a cada dia vem assumindo presena maior nas experincias de computao em nuvem. Para concluir este trabalho, salienta-se que cloud computing no a nica opo de direcionamento, mas representa uma interessante possibilidade. Referncias Bibliogrficas [1] ALICE. http://alice.dante.net/ [2] ALICE2. http://alice2.redclara.net/ [3] Amazon EC2. http://aws.amazon.com/ec2/ [4] Apache Software Foundation. http://www.apache.org [5] Arquitetura e-ping. http://www.governoeletronico.gov.br/acoes-e-projetos/ e-ping-padroes-de-interoperabilidade [6] CEA Commissariat lnergie Atomique. http://www.cea.fr/
110

MODELO DE REFERNCIA DE CLOUD

[7] CERN. http://public.web.cern.ch/public/ [8] EELA. http://www.eu-eela.org/first-phase.php [9] EELA2 http://www.eu-eela.eu/ [10] Enomaly. http://www.enomaly.com/ [11] Eucalyptus. http://www.eucalyptus.com/ [12] Gant. http://www.geant.net/pages/home.aspx [13] Gant2. http://www.geant2.net/ [14] Globus Alliance Grid. http://www.globus.org/ [15] GOOGLE. http://groups.google.com/group/cloud-computing [16] HP Labs. Cloud Center. http://www.hpl.hp.com/research/cloud.html [17] IBM. http://www.ibm.com/ibm/cloud/ [18] KVM Virtualizao. http://www.linux-kvm.org/ [19] MITRE. Research non-profitable organization in USA. http:// www.mitre.org/ [20] NASA Nebula. http://nebula.nasa.gov/ [21] Niftyname. http://www.niftyname.org/ [22] Mygrid. http://www.mygrid.org.uk/ [23] OpenNebula. http://www.opennebula.org/ [24] ORACLE. http://www.oracle.com/technology/tech/cloud/index.html

111

LUIS CLAUDIO PEREIRA TUJAL

[25] OurGrid. http://www.ourgrid.org/ [26] Public Tech. UK. http://www.publictechnology.net/ [27] RackSpace. http://www.rackspacecloud.com/ [28] TeraGrid. https://www.teragrid.org/ [29] XEN Virtualizao. http://xen.org/ [30] Approaching the Cloud: Better Business Using Grid Solutions Twenty-five Successful Case Studies From BeinGrid. The BeinGrid Consortium, 2009. [31] Cloud Computing Use cases White Paper, Version 2.0. Cloud Computing Use Case Discussion Group, 2009. [32] Interoperable Clouds - A White Paper from the Open Cloud Standards Incubator. Distributed Management Task Force, Inc. (DMTF)., 2009. [33] Realizing the Information Future: The Internet and Beyond. National Academy Press, 1994. http://www.nap.edu/readingroom/books/rtif/. [34] Security Guidance for Critical Areas of Focus in Cloud Computing V2.1. Cloud Security Alliance, 2009. [35] Aiken, R., Carey, M., Carpenter, B., Foster, I., Lynch, C., Mambretti, J., Moore, R., Strasnner, J. and Teitelbaum, B. Network Policy and Services: A Report of a Workshop on Middleware, IETF, RFC 2768, 2000. http:// www.ietf.org/rfc/rfc2768.txt. [36] Armbrust M., Fox A, Griffith R., Joseph A., Katz R., Konwinski A., Lee G., Patterson D., Rabkin A., Stoica I., Zaharia M., Above the Clouds: A Berkeley View of Cloud computing, Technical Report No. UCB/EECS2009-28, University of California at Berkley, USA, Feb. 10, 2009.

112

MODELO DE REFERNCIA DE CLOUD

[37] Bedrouni A., Mittu R., Boukhtouta A., Berger ., Distributed Intelligent Systems - A Coordination Perspective, Springer Science+Business Media, LLC, 2009. [38] Bertino E., Martino L. D., Paci F., Squicciarini A. C., Security for Web Services and Service-Oriented Architectures, Springer, 2010. [39] Buyya R., High Performance Cluster Computing, Architecture and Systems, Prentice Hall, 1999. [40] Buyya R., Pandey S., and Vecchiola C., Cloudbus Toolkit for MarketOriented Cloud Computing, The University of Melbourne, Australia, 2009. [41] Buyya R., Pandey S., and Vecchiola C., High-Performance Cloud Computing: A View of Scientific Applications, The University of Melbourne, Australia, 2009. [42] Buyya R., Yeo C. S., Venugopal S., Broberg J., and Brandic I., Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility, Future Generation Computer Systems, vol. 25, no. 6, Elsevier Science, 2009. [43] Baker B., Smith L., Parallel Programming, MCGraw-Hill, Inc., 1996. [44] Brown P. C., Implementing SOA: Total Architecture in Practice, Addison Wesley Professional, 2008. [44] Casanave C., MDA & SOA in the Enterprise: Case Study, U.S. General Services Administration, GSA, 2005 [45] Catlett C. E., TeraGrid: A Foundation for US Cyberinfrastructure, in Network and Parallel Computing, LCNS vol. 3779, Springer, 2005. [46] Chiu, W..: From Cloud Computing to the New Enterprise Data Center, IBM High Performance On Demand Solutions, IBM, 2008.

113

LUIS CLAUDIO PEREIRA TUJAL

[47] Culler D. E., Singh J. P., Parallel Computer Architecture: A hardware and Software Approach, Morgan Kaufmann, 1999. [48] Date C. J., An Introduction to Database Systems. Addison-Wesley, Reading, MA, 6 a. ed, 1995. [49] Dimitrakos, Theo; Martrat, Josep; Wesner, Stefan. Service Oriented Infrastructures and Cloud Service Platforms for the Enterprise: A Selection of Common Capabilities Validated in Real-life Business Trials by the BEinGRID Consortium. Springer, 2009. [50] Galli D. L., Distributed Operating Systems, Prentice Hall, 2000. [51] Evangelinos C., Hill C. N., Cloud Computing for Parallel Scientific HPC Applications: Feasibility of Running Coupled Atmosphere-Ocean Climate Models on Amazons EC2, Cloud Computing and Its Applications 2008 Chicago, 2008. [52] Ferreira F., Santos N., Antunes M., Clusters de alta disponibilidade uma abordagem Open Source, Instituto Politcnico de Leiria, 2006. [53] Foster, I. The Grid: A New Infrastructure for 21st Century Science. Physics Today, 55 (2). 42-47. 2002. [54] Foster, I. and Kesselman, C. Globus: A Toolkit-Based Grid Architecture. In Foster, I. and Kesselman, C. eds. The Grid: Blueprint for a New Computing Infrastructure, Morgan Kaufmann, 1999, 259-278. [55] Foster, I. and Kesselman, C. (eds.). The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 1999. [56] Foster, I., Kesselman, C., Lee, C., Lindell, R., Nahrstedt, K. and Roy, A., A Distributed Resource Management Architecture that Supports Advance Reservations and Co-Allocation. In Proc. International Workshop on Quality of Service, (1999), 27-36.

114

MODELO DE REFERNCIA DE CLOUD

[57] Foster, I., Kesselman, C., Nick, J.M. and Tuecke, S. Grid Services for Distributed Systems Integration. IEEE Computer, 35 (6). 2002. [58] Foster, I., Kesselman, C., Tsudik, G. and Tuecke, S. A Security Architecture for Computational Grids. In ACM Conference on Computers and Security, 1998, 83-91. [59] Foster, I., Kesselman, C. and Tuecke, S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications, 15 (3). 200-222. 2001. [60] Foster, I., Kesselman, C., Nick, J. and Tuecke, S. The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. Globus Project, 2002. [61] Fox, G., Balsoy, O., Pallickara, S., Uyar, A., Gannon, D. and Slominski, A. Community Grids. Community Grid Computing Laboratory, Indiana University, 2002. [62] Frey, J., Tannenbaum, T., Foster, I., Livny, M. and Tuecke, S., CondorG: A Computation Management Agent for Multi-Institutional Grids. In 10th International Symposium on High Performance Distributed Computing, (2001), IEEE Press, 55-66. [63] Josuttis N. M., SOA in Practice The Art of Distributed System Design, OReilly Media, Inc., New York, 2007. [64] Gropp W., Lusk E., and Skjellum A., Using MPI: Portable Parallel Programming with the Message-passing Interface, ser. Scientific And Engineering Computation.MIT Press, 1994. [65] Keahey K., Freeman T., Science Clouds: Early Experiences in Cloud computing for Scientific Applications, Cloud Computing and Its Applications, Chicago, 2008.

115

LUIS CLAUDIO PEREIRA TUJAL

[66] Klems M., Nimis J., Tai S., Do Clouds Compute? A Framework for Estimating the Value of Cloud Computing FZI Forschungszentrum Informatik Karlsruhe, Germany, 2008. [67] Koomey, J.: A Simple Model for Determining True Total Cost of Ownership for Data Centers, Uptime Institute, 2007. [68] Linthicum, David S., Cloud computing and SOA convergence in your enterprise : a step-by-step guide, Pearson Education, Inc., 2010. [69] Liu H., Salerno J. J., Young M. J., Social Computing and Behaviorial Modeling, Springer Science+Business Media, LLC., 2009. [70] Mather T., Kumaraswamy S., and Latif S., Cloud Security and Privacy, OReilly Media, Inc., 2009. [71] Nurmi D., Wolski R., Grzegorczyk C., Obertelli G., Soman S., Youseff L., and Zagorodnov D., The Eucalyptus Open-source Cloud Computing System, Proc. 9th IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGrid 2009), Shanghai, China, 2009. [72] Ommeren E. van, Duivestein S. deVadoss J., Reijnen C., Gunvaldson E., Collaboration in the Cloud - How Cross-Boundary Collaboration is Transforming Business, Microsoft and Sogeti, 2009. [73] Reese, G. (ed), Cloud Application Architectures, OReilly Media, Inc, 2009. [74] Rittinghouse, J.W., Ransome, J.F., Cloud Computing Implementation, Management, and Security., CRC Press, 2010. [75] Schlossnagle, T.: Scalable Internet Architectures, Sams Publishing, 2006. [76] Sakawa M., Nishizaki I., Cooperative and Non-cooperative MultiLevel Programming, Springer LLC, 2009.

116

MODELO DE REFERNCIA DE CLOUD

[77] Stanoevska-Slabeva, Katarina; Wozniak, Thomas; Ristol, Santi. Grid and Cloud Computing: A Business Perspective on Technology and Applications, Springer, 2009. [78] Tanenbaum A. S., Modern Operating Systems, Prentice Hall, 1992. [79] Tanenbaum A. S., Redes de Computadores, Rio de Janeiro, Editora Campus, 2003. [80] Tanenbaum, A. S., Steen M. van, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002. [81] Tanenbaum A. S., Woodhull A. S., Sistemas Operacionais: Projeto e Implementao. Bookman, 1999. [82] Thain D., Tannenbaum T., and Livny M., Distributed computing in practice: The condor experience, Concurrency and Computation, Practice and Experience, vol. 17, pp. 323356, February, 2005. [83] Vecchiola C., Chu X., Buyya R., Aneka: a software platform for .NETbased Cloud computing, in High Performance & Large Scale Computing, Eds., IOS Press, 2009. [84] Westland J., The Project Management Life Cycle, Great Britain, Cambridge University Press, 2006. [85] Williams D. E., Virtualization with Xen: Including XenEnterprise, XenServer, and XenExpress, Syngress Publishing, Inc., Elsevier, Inc., 2007. [86] Williams R., Computer Systems Architecture: a Networking Approach, Pearson Education Limited, 2006.

117

Ginga, NCL e NCLua Inovando os Sistemas de TV Digital


Luiz Fernando Gomes Soares
Departamento de Informtica Universidade Catlica do Rio de Janeiro Rua Marqus de So Vicente 225 Fone: (21) 3527-1530 (FAX) CEP 22453-900 Rio de Janeiro - RJ - BRASIL lfgs@telemidia.puc-rio.br

Resumo Este artigo apresenta as inovaes brasileiras: a linguagem NCL, a biblioteca NCLua e a arquitetura do middleware Ginga, que compem a Recomendao ITU-T para servios IPTV e o sistema ISDB-TB para TV terrestre, e que fazem desse middleware um dos mais expressivos e eficientes. Palavras-chave: Ginga, NCL, Lua, middleware, ambiente declarativo, ambiente imperativo, TV digital. 1 - Introduo Para oferecer suporte ao desenvolvimento de aplicaes para TV digital (TVD) e permitir que elas possam ser projetadas e executadas independente da plataforma de hardware e software (sistema operacional) do dispositivo exibidor (o aparelho receptor), uma camada de software posicionada entre o cdigo das aplicaes e a infra-estrutura de execuo, como ilustra a Figura 1. Essa camada denominada middleware, e Ginga o nome do middleware para o sistema nipo-brasileiro de TV digital terrestre ISDBTB [1 e 2] e para servios IPTV conformes com a Recomendao ITU-T [3].
119

LUIZ FERNANDO GOMES SOARES

Figura 1: Middleware Ginga

O universo das aplicaes de TVD pode ser particionado em um conjunto de aplicaes declarativas e um conjunto de aplicaes imperativas. A entidade inicial de uma aplicao, isto , aquela que dispara a aplicao, define a que conjunto a aplicao pertence, dependendo se essa entidade codificada segundo uma linguagem declarativa ou imperativa. Note que aplicaes declarativas podem conter entidades imperativas e vice-versa, o que as caracteriza apenas a entidade inicial. Linguagens declarativas enfatizam a descrio declarativa de uma tarefa, ao invs de como essa tarefa deve ser realizada, ou seja, sua decomposio passo a passo, em uma definio algortmica do fluxo de sua execuo em uma mquina, como fazem as descries imperativas. Por ser de mais alto nvel de abstrao, tarefas descritas de forma declarativa so mais fceis de serem concebidas e entendidas, sem exigir um programador especialista, como usualmente necessrio nas tarefas descritas de forma imperativa. Contudo, uma linguagem declarativa usualmente visa um determinado domnio de aplicaes e define um modelo especfico para esse domnio. Quando uma tarefa casa com o modelo da linguagem declarativa, o paradigma declarativo , em geral, a melhor escolha. Linguagens imperativas so mais expressivas e so de propsito geral, porm, a um custo elevado. Como mencionado, elas usualmente exigem um programador especialista, geralmente colocam em risco a portabilidade de
120

GINGA, NCL E NCLUA

- INOVANDO OS SISTEMAS DE TV DIGITAL

uma aplicao, e o controle da aplicao muito mais sujeito a erros cometidos pelo programador. No entanto, nos casos onde o foco de realizao de uma tarefa no casa com o foco da linguagem declarativa, o paradigma imperativo , em geral, a melhor escolha. Por tudo o mencionado acima, os middlewares para TV digital usualmente provem suporte para o desenvolvimento tanto seguindo o paradigma declarativo quanto o imperativo. O ambiente declarativo de um middleware d o suporte necessrio s aplicaes declarativas, aquelas cuja entidade inicial da aplicao expressa atravs de uma linguagem declarativa, enquanto o ambiente imperativo d o suporte necessrio s aplicaes imperativas, aquelas cuja entidade inicial da aplicao expressa atravs de uma linguagem imperativa. No caso do middleware do padro brasileiro, os dois ambientes so exigidos nos receptores fixos e mveis, enquanto apenas o ambiente declarativo exigido nos receptores portteis. Na Recomendao ITU-T para servios IPTV, tambm apenas o ambiente declarativo exigido. Em todos os casos mencionados, o ambiente declarativo deve seguir a especificao Ginga-NCL, a nica inovao com tecnologia inteiramente brasileira para esses sistemas de DTV. O ambiente declarativo Ginga-NCL prov suporte para o desenvolvimento de aplicaes declarativas desenvolvidas na linguagem NCL (Nested Context Language), que podem conter entidades imperativas especificadas na linguagem Lua. Principalmente por sua grande eficincia e facilidade de uso, Lua a linguagem de script de NCL. Este artigo tem por finalidade apresentar resumidamente o ambiente declarativo NCL e suas linguagens NCL e Lua. A Seo 2 apresenta um breve histrico das pesquisas que culminaram com o desenvolvimento dessas tecnologias. A Seo 3 introduz a arquitetura de referncia do middleware Ginga. A Seo 4 se dedica ao ambiente declarativo Ginga-NCL e, finalmente, a Seo 5 reservada s consideraes finais. 2 - Um Breve Histrico As pesquisas sobre sistemas hipermdia1 iniciaram-se em 1990 no laboratrio TeleMdia do Departamento de Informtica da PUC-Rio, em um trabalho conjunto com o Centro Cientfico da IBM Rio.
1

Middlewares para sistemas de DTV um caso particular de sistemas hipermdia.

121

LUIZ FERNANDO GOMES SOARES

Em 1991, o modelo NCM (Nested Context Model), que serviu posteriormente de base para o desenvolvimento da linguagem NCL, foi proposto [4]. NCM resolvia um problema em aberto na rea de sistemas hipermdia e teve suas propostas incorporadas ao padro MHEG [5] da ISO (International Organization for Standardization), em 1992. O padro MHEG viria a se tornar nos anos seguintes a linguagem do primeiro middleware desenvolvido para TV Digital e que at hoje adotado pelo sistema de TV digital britnico. Em 1998, o laboratrio TeleMdia foi considerado pelo IEEE um dos cinco mais importantes grupos no desenvolvimento de sistemas hipermdia. A partir desse ano, o laboratrio comeou uma importante interao com o grupo do CWI de Amsterdam, onde nasceu a linguagem SMIL para sincronizao de objetos em aplicaes multimdia. Tambm em 1998, foi apresentado o primeiro exibidor para aplicaes seguindo o modelo NCM, denominado Formatador HyperProp. Esse sistema viria a ser o precursor do ambiente Ginga-NCL. Em 2000, com o advento da metalinguagem XML, as estruturas de dados do modelo conceitual NCM foram especificadas como uma aplicao XML, dando origem a primeira verso da linguagem NCL (Nested Context Language). Em 26 de novembro de 2003, o sistema brasileiro de TV digital, SBTVD, foi institudo pelo Decreto presidencial 4.901. Como foco principal, o decreto definiu para o SBTVD o requisito: promover a incluso social, a diversidade cultural do Pas e a lngua ptria por meio do acesso tecnologia digital, visando democratizao da informao. Cabe aqui ressaltar a clareza do governo brasileiro em reconhecer, desde ento, que a democratizao da informao no se faz apenas pelo direito de acesso a informao, mas tambm pelo direito de sua gerao. Naquele momento nascia a necessidade de um sistema que oferecesse um modo eficiente, porm fcil e compreensvel, para a produo de informao. Nascia, como conseqncia, a necessidade do desenvolvimento de uma nova soluo de middleware. Assim, em julho de 2005, durante o Congresso da Sociedade Brasileira de Computao, o Ministrio das Comunicaes convoca a comunidade de pesquisadores de computao do pas a participar do esforo da concepo do software para o SBTVD, incluindo seu middleware. Ainda em 2005 foram lanados os 22 editais do FUNTTEL (Fundo para o Desenvolvimento das Tecnologias de Telecomunicaes) para o
122

GINGA, NCL E NCLUA

- INOVANDO OS SISTEMAS DE TV DIGITAL

desenvolvimento do SBTVD. Entre esses editais, dois se referiam aos ambientes declarativo e imperativo do middleware para o SBTVD. Dos laboratrios contratados, TeleMdia, na PUC-Rio, e Lavid, na UFPB, surgiram, respectivamente, os sistemas MAESTRO e FlexTV. Em 2006 esses sistemas se unem em uma nica arquitetura denominada Ginga2 e passam a se chamar, respectivamente, Ginga-NCL e Ginga-J. Em 2006 um grande passo foi dado: a implementao de referncia do Ginga-NCL colocada disponvel em cdigo aberto e gratuito. Nascia a comunidade Ginga Brasil, hoje com mais de dez mil membros colaboradores, graas ao grande apoio do portal de software pblico do Ministrio do Planejamento. A comunidade de software livre passa ento de grande aliada a tambm partcipe no desenvolvimento do Ginga-NCL. Em julho de 2007, foi apresentado no Congresso da SBC a primeira implementao Ginga, juntamente com vrias aplicaes. A partir de ento, o Ginga-NCL comea a receber vrias manifestaes internacionais em seu apoio, incluindo para sua adoo em outros pases fora do ISDB-TB. No final de 2007, o Ginga-NCL foi aprovado como padro ABNT para o sistema brasileiro de TV digital, para todos os tipos de terminais receptores. Em 2008, o Japo prope o Ginga-NCL como padro mundial para servios IPTV. Comea ento um grande esforo do laboratrio TeleMdia e da Anatel dentro dos grupos de padronizao do ITU-T. Em abril de 2009, Ginga-NCL e a linguagem NCL (incluindo sua linguagem de script Lua) se tornaram a Recomendao ITU-T H.761 para servios IPTV. Pela primeira vez na histria das TICs o Brasil tem um padro mundial reconhecido. Em setembro de 2009, a Recomendao ITU-R BT 1699-1 para harmonizao de formatos declarativos para aplicaes interativas para TV digital terrestre tambm adota o Ginga-NCL, NCL e Lua em suas especificaes. No Final de 2010, o Ginga-NCL foi adotado como o middleware do sistema de TV digital argentino. Na mesma poca foi criada a comunidade de software livre Ginga argentina, uma das mais ativas nas contribuies para o Ginga-NCL.
2

Por que o nome Ginga? Ginga uma qualidade de movimento e atitude que os brasileiros possuem e que evidente em tudo o que fazem. A forma como caminham, falam, danam e se relacionam com tudo em suas vidas. Ginga flexibilidade, adaptao, qualidades inerentes ao middleware brasileiro.

123

LUIZ FERNANDO GOMES SOARES

Em maio de 2010, a implementao do Ginga-NCL do laboratrio TeleMdia da PUC-Rio se torna a implementao de referncia da ITU-T. 3 - Arquitetura de Referncia A arquitetura do middleware Ginga pode ser dividida em trs mdulos principais: Ginga Common-Core (ou Ginga-CC), Ambiente de Apresentao Ginga (ou Ginga-NCL) e ambiente de execuo Ginga (ou Ginga-Imp), como mostra a Figura 2.

Figura 2: Arquitetura de referncia do middleware Ginga

Ginga-Imp o subsistema lgico do middleware Ginga responsvel pelo processamento de aplicaes imperativas. No caso do SBTVD, a especificao desse subsistema cabe Norma ABNT NBR 15606-4 [6] e estabelece a linguagem Java como a linguagem imperativa. Ginga-NCL o subsistema lgico do middleware Ginga responsvel pelo processamento de aplicaes declarativas NCL. NCL e sua linguagem de script Lua compem a base para o desenvolvimento de aplicaes declarativas no SBTVD terrestre (Normas NBR 15606-2 [1] e ABNT NBR 15606-5 [2]), e para servios IPTV (Recomendao ITU-T H.761 [3]). Na arquitetura Ginga, apenas o ambiente Ginga-NCL obrigatrio. Ginga-Imp opcional.
124

GINGA, NCL E NCLUA

- INOVANDO OS SISTEMAS DE TV DIGITAL

Ginga-CC o subsistema lgico que prov todas as funcionalidades comuns ao suporte dos ambientes Ginga-NCL e Ginga-Imp. A arquitetura do sistema garante que apenas o mdulo Ginga-CC deva ser adaptado plataforma onde o Ginga ser embarcado. Ginga-CC prov, assim, um nvel de abstrao da plataforma de hardware e sistema operacional, acessvel atravs de APIs ( Application Program Interfaces) bem definidas. Um conjunto de exibidores comuns faz parte dos componentes do Ginga-CC. Eles so exibidores de udio, vdeo, texto e imagem, etc. O acesso a tais exibidores se d atravs de adaptadores, responsveis por notificar eventos de apresentao e seleo (interao do usurio). Entre os exibidores se encontra o exibidor (agente do usurio) HTML. Se encontra tambm o exibidor Lua, capaz de interpretar objetos com cdigo Lua baseados na biblioteca NCLua definida para a linguagem de script da NCL. Uma ponte desenvolvida entre os ambientes Ginga-NCL e GingaImp prov suporte a aplicaes hbridas com entidades especificadas em NCL, Lua e a linguagem suportada pelo ambiente imperativo. 4 - O Ambiente Ginga-NCL Ginga-NCL uma proposta totalmente brasileira para middlewares de sistemas de TV digital. O ambiente tem por base a linguagem NCL (uma aplicao XML) e sua linguagem de script Lua, ambas desenvolvidas nos laboratrios da Pontifcia Universidade Catlica do Rio de Janeiro. Os ambientes declarativos dos sistemas americano (ACAP-X), europeu (DVB-HTML) e japons (BML-ARIB) tm por base a linguagem XHTML. XTHML carrega o legado de tecnologias anteriormente desenvolvidas para navegao textual. Ao contrrio, aplicaes para TVD so usualmente centradas no vdeo. Alm disso, o modelo da linguagem XHTML tem o foco no suporte interao do usurio telespectador. Outros tipos de relacionamentos, como relacionamentos de sincronizao espao-temporal e relacionamentos para definio de alternativas (adaptao de contedo e de apresentao), so usualmente definidos atravs de uma linguagem imperativa; no caso de todos os trs sistemas citados a linguagem ECMAScript.
125

LUIZ FERNANDO GOMES SOARES

O modelo da linguagem NCL visa um domnio de aplicaes mais amplo do que o oferecido pela linguagem XHTML. NCL visa no apenas o suporte declarativo interao do usurio, mas ao sincronismo espacial e temporal em sua forma mais geral, tratando a interao do usurio como um caso particular. NCL visa tambm o suporte declarativo a adaptaes de contedo e de formas de apresentao de contedo; o suporte declarativo a mltiplos dispositivos de exibio, interligados atravs de redes residenciais (HAN Home Area Networks) ou mesmo em rea mais abrangente; e a edio/produo da aplicao em tempo de exibio, ou seja, ao vivo. Como esses so os focos da maioria das aplicaes para TV digital, NCL se torna a opo preferencial no desenvolvimento da maioria de tais aplicaes. Para os poucos casos particulares, como por exemplo, quando a gerao dinmica de contedo necessria, NCL prov o suporte de sua linguagem de script Lua. Diferente das linguagens baseadas em XHTML, NCL define uma separao bem demarcada entre o contedo e a estrutura de uma aplicao. A linguagem no define nenhuma mdia per si. Ao contrrio, ela define apenas a cola que relaciona os objetos de mdia (imagens, textos, vdeos, udios, objetos com cdigo imperativo, objetos com cdigo declarativo, etc.) que compem as apresentaes DTV. Entre os vrios objetos de mdia suportados por Ginga-NCL, o objeto de mdia baseado em XHTML obrigatrio. A NCL no substitui, mas embute documentos (ou objetos) baseados em XHTML. Como conseqncia, possvel ter navegadores definidos por outros sistemas (LIME, BML, DVB-HTML e ACAP-X) embutidos em um exibidor de documento NCL. Outro objeto de mdia que deve ser necessariamente suportado pelo Ginga-NCL aquele cujo contedo formado por cdigos imperativo Lua, baseados na biblioteca NCLua. Lua uma das linguagens de script mais eficientes; muito mais rpida do que ECMAScript, presente na maioria dos padres de middleware declarativo, e com um footprint de memria bem menor, como indica a Figura 3, obtida do site de avaliao de linguagens (http:// shootout.alioth.debian.org/): Lua , em mdia, 7 vezes mais rpida e com um uso de memria 40 vezes menor. Lua hoje a linguagem mais importante na rea de entretenimento.
126

GINGA, NCL E NCLUA

- INOVANDO OS SISTEMAS DE TV DIGITAL

Figura 3: Comparao entre Lua e o JavaScript SpiderMonkey do navegador Mozila Firefox

Voltando a ateno para o ambiente Ginga-NCL da Figura 2, o componente Formatador NCL tem como responsabilidade orquestrar toda a execuo de uma aplicao NCL, garantindo que os relacionamentos espao-temporais definidos pelo autor da aplicao sejam respeitados. O Formatador NCL trata de aplicaes recebidas pelo Ginga-CC e depositadas em uma estrutura de dados chamada base privada. No Ginga-NCL, uma aplicao de TVD pode ser gerada ou modificada ao vivo (em tempo real), atravs de comandos de edio. O conjunto de comandos de edio pode ser dividido em trs grupos. O primeiro grupo de comandos responsvel pela ativao e desativao de uma base privada, ou seja, a habilitao de aplicaes de um determinado canal de TV. Em uma base privada, aplicaes NCL podem ser ativadas, pausadas, retomadas e desativadas, atravs de comandos bem definidos pertencentes ao segundo grupo de comandos. O terceiro grupo define comandos para modificaes de uma aplicao ao vivo. Finalmente, Ginga-NCL oferece suporte a mltiplos dispositivos de entrada e sada. Tal facilidade declarativa, juntamente com os comandos de edio ao vivo, nicos do sistema Ginga, prov suporte para o grande domnio de aplicaes interativas de TVD que se descortina: as aplicaes para as chamadas TV Social (Community ou Social TV), onde uma comunidade de
127

LUIZ FERNANDO GOMES SOARES

usurios cria ao vivo, sobre o contedo e aplicaes recebidas, novas aplicaes (gerao de novos contedos e informaes personalizados), que so trocadas entre seus membros. 5 - Consideraes Finais A implementao de referncia do Ginga-NCL foi desenvolvida em cdigo aberto e pode ser obtida em www.gingancl.org.br, sob de licena GPLv2. A mquina Lua tambm se encontra disponvel pelo mesmo site, atravs de licena MIT. Ferramentas de autoria para o desenvolvimento de aplicaes NCL, tambm em cdigo aberto, esto disponvel ainda no mesmo site, bem como tutoriais, livros, artigos e exemplos de vrias aplicaes NCL e Lua. Em http:/club.ncl.org.br, um repositrio de aplicaes interativas encontrado, onde autores podem divulgar suas idias, talentos, e, ainda, suas tcnicas de desenvolvimento usando a linguagem NCL com scripts Lua. Vrias listas de discusso e contribuies no desenvolvimento de aplicaes podem ser encontradas na comunidade Ginga, em www.softwarepublico.gov.br. Documentos, artigos e tutoriais a respeito do middleware Ginga, podem ser obtidos em www.ginga.org.br. Referncias [1] Soares L.F.G., Rodrigues R.F. Nested Context Model 3.0 Part 1 NCM Core. Technical Report. Informatics Department of PUC-Rio, MCC 18/05. Rio de Janeiro, May, 2005. ISSN 0103-9741. [2] Televiso digital terrestre - Codificao de dados e especificaes de transmisso para radiodifuso digital - Parte 2: Ginga-NCL para receptores fixos e mveis - Linguagem de aplicao XML para codificao de aplicaes. [3] Televiso digital terrestre - Codificao de dados e especificaes de transmisso para radiodifuso digital - Parte 5: Ginga-NCL para receptores portteis - Linguagem de aplicao XML para codificao de aplicaes. [4] ITU-T Recommendation H.761. Nested Context Language (NCL) and Ginga-NCL for IPTV Services. Geneva, April, 2009. [5] ISO/IEC 13522-1 Information technology - Coding of multimedia and hypermedia information - Part 1: MHEG object representation Base notation (ASN.1). 1997.
128

GINGA, NCL E NCLUA

- INOVANDO OS SISTEMAS DE TV DIGITAL

[6] Televiso digital terrestre - Codificao de dados e especificaes de transmisso para radiodifuso digital - Parte 4: Ginga-J para receptores fixos e mveis. 2010.

129

Segurana de Computao em Nuvem

Coordenao Estratgica de Tecnologia (CETEC)1 Servio Federal de Processamento de Dados (SERPRO)

Resumo Alm do desafio atual de desenvolver sistemas seguros, a computao em nuvem apresenta um nvel adicional de riscos que esto diretamente associados com a terceirizao dos servios essenciais (servios em nuvem). Esta condio exige ateno especial para os aspectos de integridade, disponibilidade, confidencialidade e privacidade dos dados, bem como suporte e conformidade. Entretanto, a computao em nuvem traz benefcios relacionados ao fato de que no se necessita desenvolver controles internos de segurana e nem capacitar pessoas neste segmento. Neste novo modelo de prestao de servio fundamental que seja estabelecido entre o cliente e o provedor uma relao de confiana. A transparncia da forma como o provedor implementa, desenvolve e gerencia a segurana o fator decisivo para se atingir este objetivo. 1. Introduo A computao em nuvem se insere na proposta de um princpio organizador de grande poder computacional como servio, porm carece de
Gleyner Martins Novais, Indiana Belianka Dias Kosloski, Jose Maria Leocadio, Leandro Resende Gomes, Marcos Allemand Lopes, Maria do Carmo Soares de Mendonca, Pedro Andre de Faria Freire, Silvio Fernando Vieira Correia Filho,Tarcizio Vieira Neto.
1

131

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

controles efetivos de segurana para conviver nesse cenrio de virtualizao de rede e compartilhamento de recursos de forma autonmica. Alm do desafio atual de desenvolver sistemas seguros, a computao em nuvem apresenta um nvel adicional de riscos que esto diretamente associados com a terceirizao dos servios essenciais. Esta condio exige ateno especial para os aspectos de integridade, disponibilidade, confidencialidade e privacidade dos dados, bem como suporte e conformidade. Por outro lado, a computao em nuvem traz benefcios aos clientes, uma vez que no tero que desenvolver controles internos de segurana e nem capacitar pessoas neste segmento. Sempre podero contar com especialistas e controles dedicados proteo dos dados, tratamento de registros de logs e gesto de identidades. Considerando que neste modelo de entrega de servio at mesmo aplicaes bsicas tais como de correes (patch) e estabelecimento de filtros, podem ficar sob a responsabilidade do provedor do servio de nuvem, fundamental que seja estabelecido entre o cliente e o provedor uma relao de confiana. A transparncia da forma como o provedor implementa, desenvolve e gerencia a segurana so fatores decisivos para atingir este objetivo. importante destacar que em ltimo caso o cliente ainda o responsvel pela conformidade e proteo dos seus dados crticos, mesmo que estes tenham sido transferidos para a nuvem. A computao em nuvem pode ser disponibilizada em diversos modelos de servio. Cada um deles exige diferentes nveis de responsabilidades para a gesto da segurana. Modelo de servios Software as a Service (SaaS) grande parte da responsabilidade pela gesto da segurana est cargo do provedor do servio de nuvem; Modelo de servios Plataform as a Service (PaaS) permite aos clientes assumirem mais responsabilidades, como por exemplo a gesto da configurao e a segurana de banco de dados; e Modelo de servios Infrastructure as a Service (IaaS) transfere ainda mais o controle e a responsabilidade pela segurana do provedor para o cliente, como por exemplo a segurana de aplicaes. 2. Modelo de segurana para computao em nuvem O modelo proposto foi concebido visando contemplar as caractersticas tpicas de um ambiente de computao em nuvem e os requisitos de segurana associados. O modelo exige uma abordagem inicial de governana da seguranca, orientando e dando apoio para as questes de gesto, dentre elas
132

SEGURANA DE COMPUTAO EM NUVEM

a gesto de risco, gesto de identidades e gesto de continuidade de negcios. Como forma de implementar as determinaes da Politica de Segurana so definidos segmentos e camadas, representados por processos e mecanismos de segurana. Finalmente, o conceito de resilincia tambm integrado ao modelo como forma de usufruir das prprias caractersticas do ambiente de nuvem e ao mesmo tempo garantir a continuidade dos servios. Assim o Modelo pretende assegurar, alm da proteo, servios resilientes quando necessrios.

2.1. Governana da Segurana Governana pode ser entendida como sendo a camada estratgica do negcio a ser estruturado, administrado e continuado. Este direcionamento estratgico deve se respaldar nos conceitos clssicos da governana inseridos em novos paradigmas, onde: Transparncia, demonstrada pela existncia de efetivos e robustos controles de segurana para garantir ao cliente que suas informaes sero protegidas de acessos no autorizados, mudanas ou destruies;
133

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

Privacidade, deve ser obtida por meio da garantia de controles sobre preveno, deteco, reao e identificao e controle de brechas/ vulnerabilidades; Conformidade, adoo de leis, regulamentos e padres relativos a computao em nuvem e devida adequaes ao tipo de servio prestado, responsabilidades contratuais e leis de outros pases que possam interferir; Gesto de riscos e responsabilidades; Armazenagem de informaes, quando e onde a informao pode ser armazenada em nuvem, localizao fsica e obrigaes legais; Certificao. Assim, a governana como camada estratgica para atendimento ao segmento do negcio Computao em Nuvem, envolve a aplicao de polticas com foco no uso dos servios e mecanismos de controles a partir da definio de um framework com padres de gesto da qualidade, conformidade, auditoria e ciclos de melhoria. A definio do plano de governana pressupe a deciso inicial sobre a forma de fornecimento de servio se IaaS, PaaS ou SaaS e se for nuvem privada, nuvem pblica ou nuvem hbrida, a estruturao de um processo de governana pode ser a partir do framework baseado em PDCA (Plan, Do, Check, Act), observando que o alinhamento estratgico, a gesto de riscos e qualidade de performance so fatores preponderantes na definio do plano, implementaes de controles, monitorao, reviso e ciclo de melhorias. 2.2. Gesto de segurana A Segurana da Informao pode ser alcanada por meio de um conjunto de controles ou medidas que abrange polticas, prticas, normas, procedimentos, estruturas organizacionais e funes de software e hardware. A gesto da segurana permite que este conjunto de controles possa ser definido, implementado, operado, mantido, monitorado, avaliado e melhorado. A NBR ISO/IEC 27001 prev um sistema de gesto da segurana baseado no modelo PDCA (plan-do-check-act), como segue: Planejar (plan) estabelecer a poltica, objetivos, processos, procedimentos, considerando os riscos ao negcio (computao em nuvem); Fazer (do) implementar e operar a poltica, controles, processos e procedimentos definidos;
134

SEGURANA DE COMPUTAO EM NUVEM

Checar (check) monitorar a avaliar o desempenho dos processos estabelecidos; Agir (act) manter e melhorar o sistema de gesto como um todo. Um programa de segurana pode contemplar o sistema de gesto da segurana e detalhar seu funcionamento. Dentro deste contexto, alguns componentes so fundamentais para a gesto da segurana: Poltica de segurana: documento direcionador sobre a segurana da informao. Do desdobramento da poltica surgem as normas e procedimentos; Gesto de riscos: processo de avaliao e tratamento dos riscos de segurana visando a implantao de controles (administrativos, tcnicos ou fsicos); Sistemticas: metodologias especficas que visam apoiar os objetivos do programa de segurana. Podem incluir: gesto de continuidade de negcios, classificao dos ativos de informao, gesto de incidentes de segurana e forense computacional; Organizao da segurana: definio e relacionamento da coordenao de segurana e demais entidades e grupos envolvidos com a segurana; definio dos papis e responsabilidades; Mtricas: medies dos processos e controles cujos resultados visam a anlise crtica do seu desempenho e a tomada de deciso; Auditoria e conformidade: garantia de aderncia s regulamentaes, contratos, polticas, normas e procedimentos operacionais; Cultura: abrange a conscientizao, treinamento e educao permanente em segurana da informao. 2.2.1. Gesto de identidade e acesso Gesto de identidade a coleo de componentes de tecnologia, processos e prticas padronizadas, estruturadas para Autenticao, Autorizao e Auditoria (AAA) dos usurios acessando os servios providos por uma organizao. Autenticao: processo de verificao da identidade de um usurio ou sistema (ex. LDAP verificando as credenciais apresentadas pelo usurio). Para tecnologia de nuvem a autenticao usualmente implica em uma forma mais robusta de identificao e em alguns casos de uso, tais
135

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

como interao servio-a-servio, envolve verificar se os servios de rede esto requisitando acesso para informaes servidas por outro servio. Autorizao: processo que determina os privilgios conferidos ao usurio ou sistema uma vez que a identidade estabelecida, sendo usualmente subsequente ao passo de autenticao. Autorizao o processo que refora as polticas de acesso da organizao. Auditoria: processo que exige a reviso e exame dos registros de autenticao e autorizao para determinar a adequao dos controles de sistema e verificar conformidade com polticas e procedimentos estabelecidos. Com o objetivo de suportar o negcio da organizao, a gesto de identidade deve suportar os processos: Gesto de usurios: atividades para governana efetiva e gerenciamento do ciclo de vida da identidade; Gesto de autenticao: atividades para governana efetiva e gerenciamento de processos para determinar que uma entidade quem reivindica ser; Gesto de autorizao: atividades para governana efetiva e gerenciamento de processos para determinar os direitos de acesso que determinam qual recurso uma entidade (ex. usurios, sistemas ou componentes de sistemas) tem permisso para acessar de acordo com as polticas da organizao; Gesto de acesso: reforo de polticas para o controle de acesso em resposta a solicitao de uma entidade demandando acesso a um recurso de TI dentro da organizao; Gesto e provisionamento de dados: propagao da identidade e dos dados para autorizao aos recursos de TI por meio de processos automatizados ou manuais; Monitorao e auditoria: monitorar, auditar e reportar conformidade referente ao acesso a recursos e sua utilizao pelos usurios da organizao com base em polticas previamente definidas. No ambiente de computao em nuvem a Gesto de Identidades requer a implementao de funcionalidades visando permitir a execuo de atividades essenciais, como: o provisionamento de acesso aos dados e recursos de TI; a gesto de credenciais e atributos, incluindo o tratamento de senhas e outras formas de identificao de usurios (biometria, certificado digital, etc.);
136

SEGURANA DE COMPUTAO EM NUVEM

a gesto de direitos de acesso atravs do estabelecimento e manuteno de polticas de acesso; e a gesto de conformidade, contemplando a capacidade de monitorar e rastrear o uso dos recursos da organizao e finalmente a gesto de federao de identidade, visando o gerenciamento de relacionamentos de confiana estabelecidos alm dos limites da rede ou dos limites de domnio administrativos da organizao. A tecnologia de federao tipicamente empregada no ambiente de computao em nuvem, devendo ser construda sobre uma arquitetura de gesto de identidade centralizada, cujos padres de indstria so reconhecidamente: SAML (Security Assertion Markup Language), WS(WS Federation) ou Liberty Alliance, sendo que das trs principais famlias de protocolos associadas com federao, SAML parece ser reconhecida como um padro de fato para federaes controladas por organizaes distintas. 2.2.2. Segurana de pessoas As principais questes relacionadas segurana de pessoas na computao em nuvem so similares quelas existentes em outros ambientes/ tecnologias de TIC. Essas questes dizem respeito s aes realizadas antes, durante e no encerramento da contratao da fora de trabalho envolvidas nas operaes da computao em nuvem. Como no poderia deixar de ser, existe o compromisso entre os riscos e o custo da implantao dos controles associados. De acordo com a NBR ISO/IEC 27002, as aes antes da contratao referem-se definio de papis e responsabilidades no somente com relao aos trabalhos na nuvem mas tambm com destaque nas questes da poltica de segurana. Isso inclui os controles na contratao e na alocao de pessoal ao trabalho, checagem pr admissional, formalizando os termos e condies de trabalho, obrigaes contratuais, regulamentaes, polticas e procedimentos a serem seguidos e executados. Enquanto perdurar o contrato de trabalho devem estar conscientizados com relao segurana, obrigaes e responsabilidades, capacitados para a correta execuo das atividades e responsabilizados nos casos de violao da poltica de segurana. Importante destacar a necessidade de treinamento
137

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

contnuo de forma a manter atualizados os conhecimentos para o desempenho de suas funes. No encerramento da contratao ou na mudana de trabalho so destacadas as questes relativas a devoluo de ativos e cancelamento ou adequao dos diretos de acesso. 2.2.3. Gesto de tratamento e resposta a incidentes Tratamento e resposta a incidentes o processo responsvel por identificar, analisar e mitigar incidentes computacionais de forma rpida e precisa, comunicando as informaes relevantes para a alta direo, clientes e parceiros. A atividade de tratamento de incidentes realizada por uma equipe especializada com definies de atividades e perodo de operao que atenda as necessidades e exigncias do servio. O processo de tratamento e resposta a incidentes deve ser realizado para os ambientes computacionais onde h a exposio de sistemas e servios a eventos maliciosos e tentativas de ataque, com abrangncia tanto voltada a computao tradicional como tambm os servios de computao em nuvem. A computao em nuvem no traz mudana do paradigma cumprido pelo processo de tratamento de incidentes, mas apresenta novas caractersticas de servios que requerem a ampliao do conhecimento com base em novas vulnerabilidades e ameaas aos servios em nuvens. Como exemplo, a tecnologia de virtualizao poder apresentar vulnerabilidades que se estendem as mquinas virtuais, instncias de sistemas operacionais e aplicaes que podem transcender a um ambiente virtual e afetar a integridade, disponibilidade e confidencialidade de vrios servios e usurios que compartilham fisicamente os mesmos recursos. O tratamento e resposta a incidentes pode ser mapeado em macro atividades envolvendo: Preparao: treinamento e capacitao da equipe de tratamento de incidentes de segurana computacional, de forma a estar pronta para o processo de resposta quando da ocorrncia de incidentes. Identificao: procurar pela causa de um incidente (caso intencional ou no) desenvolvendo atividades de , rastreamento do problema atravs de mltiplos nveis do ambiente de computao em nuvem. A equipe de tratamento de incidentes colabora com membros de outras equipes internas para diagnosticar a origem de um dado incidente de segurana. Essa atividade tambm inclui as atividades de deteco de vulnerabilidades e assinaturas
138

SEGURANA DE COMPUTAO EM NUVEM

utilizadas e a triagem de eventos que se configuram em ataques com violao de dados, equipamentos, sistemas e aplicaes que compe o servio. Conteno: uma vez que a causa do incidente foi encontrada e houve o reconhecimento do ataque, a equipe de tratamento de incidentes trabalha com as equipes necessrias implementando aes para conter o incidente. Como o processo de conteno ocorre, depende dos impactos na infraestrutura, nos servios e negcios causados aos clientes, a partir do incidente. Mitigao: a equipe de tratamento de incidente coordena em conjunto com equipes de entrega de produtos e servios as aes para reduzir o risco de recorrncia do incidente. Recuperao: em continuidade ao trabalho com outros grupos, quando necessrio, a equipe de tratamento de incidentes apoia o processo de recuperao do servio. Lies aprendidas: depois da resoluo do incidente, as equipes envolvidas se renem buscando o registro das estratgias aplicadas e lies aprendidas durante o processo de resposta. O processo de tratamento de incidentes deve assegurar tambm que os eventos de segurana e vulnerabilidades associadas com sistemas so comunicadas de forma a permitir que as aes de correo sejam tomadas. Relato de evento formal e procedimentos de escalao devem ser adotados e reportados ao cliente proprietrio do sistema ou servio impactado. As responsabilidades e papis dentro do processo de gesto de incidentes devem estar claramente definidos para ambas as partes: provedor e clientes. 2.2.4. Gesto de riscos A gesto de riscos se constitui num importante processo na definio do tipo de proteo a ser dada informao, de forma a que os controles de segurana sejam definidos, aplicados e gerenciados, considerando as necessidades de negcio. Gesto de riscos pode ser considerada como um processo sistematizado de avaliao e tratamento dos riscos, por meio da adoo de controles a serem implementados, de forma a proteger a informao de danos que possam ser causados por falhas de segurana. Neste processo, consideram-se ameaas, vulnerabilidades e impactos que possam afetar os recursos, a
139

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

probabilidade dessas ocorrncias, a viabilidade da adoo dos controles necessrios e a aceitao e comunicao dos riscos. Neste contexto, alguns termos so considerados: Ameaa: o que tem potencial para causar perda ou dano. Vulnerabilidade: fraqueza que pode ser explorada. Impacto: resultado negativo da explorao de uma vulnerabilidade. Risco: combinao da probabilidade de um evento e sua consequncia. Avaliao dos riscos: processo de identificao e valorao dos riscos. Tratamento dos riscos: processo de seleo e implementao de controles para modificar um risco. Controle: forma de gerenciar o risco, incluindo polticas e procedimentos, prticas ou estruturas organizacionais. Muitos dos riscos frequentemente associados com a computao em nuvem no so novos e j so conhecidos nas organizaes hoje em dia. Como ilustrao, so relacionados a seguir alguns dos principais riscos da computao em nuvem, de acordo com o ISACA, Enisa e Gartner Group: Perda de governana; Falta de viabilidade a longo prazo; Falha no manuseio das informaes (quebra do ANS confidencialidade e disponibilidade); Falha na deleo de dados; Perda da compartimentao de dados entre os clientes; Falha nos mecanismos de isolamento de ativos; Falha na segregao de dados; No conformidade com requerimentos ou legislao; Falha de backup, resposta a incidentes e recovery; Acesso privilegiado aos dados; e Ataque interno por empregado malicioso. importante destacar que o processo de gesto de riscos deve ser permanente, de maneira a deixar claro para a organizao os riscos potenciais a que ela est sujeita enquanto provedor. A computao em nuvem acrescenta riscos adicionais ao ambiente, que devem ser tratados no apenas do ponto de vista operacional, mas tambm do ponto de vista legal e de negcio, visando atingir os nveis apropriados de segurana e privacidade.
140

SEGURANA DE COMPUTAO EM NUVEM

2.2.5. Gesto de continuidade de negcios De acordo com a Norma NBR 15.999, gesto de continuidade de negcios a capacidade estratgica e ttica da organizao de se planejar e responder a incidentes e interrupes de negcios, para conseguir continuar suas operaes em um nvel aceitvel previamente definido. A gesto da continuidade de negcios um processo abrangente de gesto que identifica ameaas potenciais para uma organizao e os possveis impactos nas operaes de negcio, caso estas ameaas se concretizem. De acordo com a Norma o ciclo de vida da gesto de continuidade de negcios est composta dos seguintes elementos: Gesto do programa de GCN (abrangncia, poltica, responsabilidades, SGCN); Levantamento de informaes da organizao (BIA, anlise de riscos, interdependncias, priorizao; Definio da estratgia de continuidade; Desenvolvimento dos planos (plano de gerenciamento de incidentes, plano de continuidade de negcios, plano de recuperao de negcios); Execuo de testes (programa de testes); e Incluso da GCN na cultura da organizao (conscientizao e treinamento). O modelo PDCA deve ser aplicado ao SGCN (sistema de gesto de continuidade de negcios) com o objetivo de garantir que a continuidade de negcios esteja gerenciada e seja aprimorada de forma eficaz. 2.2.6. Gesto de auditoria e conformidade Um modelo sustentvel de computao em nuvem deve prever uma poltica de auditoria e de conformidade, observando que essas polticas devem se basear na poltica de riscos. A auditoria pode ser interna ou externa, deve verificar se os controles definidos para riscos crticos esto aplicados conforme os requisitos especificados no plano de negcio enquanto que a conformidade uma atividade de rotina e tem o objetivo de verificar o quanto os controles esto aplicados corretamente, em conformidade com os dispositivos legais e os indicadores de melhoria.
141

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

Consideraes bsicas de auditoria: deve seguir normas internacionais, como SAS 70, Type II e ISO 27001; Consideraes bsicas de conformidade: deve verificar se os objetivos de negcio, os contratos de clientes e as politicas, padres e procedimentos internos esto sendo atendidos, de forma a aplicar as correes em tempo hbil; identificar e corrigir os fatores que interferem no resultados dos objetivos; identificar os requisitos/requerimentos crticos e checar se a prtica das politicas, procedimentos, processos e sistemas esto atendendo; monitorar e checar o cumprimento dos requisitos; e construir um modelo sustentvel de forma a estabelecer controles fortes e que possam ser aplicados a todos os clientes. 2.2.7. Forense computacional Trata-se de processo de investigao em ambiente digital com o objetivo de identificar, por meio de anlises desses ambientes como ocorreu o incidente. O processo de anlise forense se sustenta em requerimentos legais, politicas sobre a captura e reteno de registros de logs de firewall, base de dados, dispositivos mveis e outros componentes, mdias, para garantir a anlise dos fatos. 2.3. Segurana em camadas A abordagem de defesa em camadas um elemento fundamental visando prover uma infraestrutura de nuvem confivel e segura, permitindo delimitar controles em mltiplos nveis, empregar mecanismos de proteo e estratgias de mitigao de risco de forma organizada e orientada s principais necessidades de segurana de cada segmento na prestao dos servios. Os servios que utilizam os conceitos de computao em nuvem, SaaS, IaaS ou PaaS, so virtualizados de forma que os clientes podem ter ativos que no so facilmente associados com a presena fsica devido aos diferentes nveis de compartilhamento. O dado tambm pode ser armazenado virtualmente e distribudo atravs de mltiplas localizaes. Basicamente isto
142

SEGURANA DE COMPUTAO EM NUVEM

significa que identificar controles de segurana de forma organizada por camadas e determinar sua utilizao de forma compartilhada, atendendo aos requisitos de segurana especficos de cada nvel, dever agilizar o processo de implementao das solues de servio no modelo de computao em nuvem. 2.3.1. Segurana fsica O controle de acesso fsico compreende uma poltica, procedimentos e tecnologia que estabeleam as condies e controles para acesso autorizado de pessoas a ambientes fsicos da organizao, desde os ambientes de escritrios at os de infraestrutura. Os controles de acesso pressupem o uso de ferramentas de monitorao a fim de identificar o acesso autorizado e bloquear o no autorizado, alm de acompanhar o deslocamento do usurio nas instalaes. A ferramenta para suportar o controle deve ser compatvel com a criticidade do ambiente. 2.3.2. Segurana de rede Os controles tradicionais de segurana na camada de rede, obtidos com implementao de firewalls, gateways de aplicao, dispositivos de preveno e deteco de intruso, devem continuar. O ponto focal da gesto de risco desloca-se para mais prximo do nvel de objetos em uso no ambiente de nuvem, reforando as necessidades de segurana de dados, como exemplo dos recipientes de armazenamento esttico ou dinmico e dos objetos de mquinas virtuais e ambientes run-time. Esses objetos, sobre a viso de segurana de rede, devero estar compartimentados ou segmentados em redes virtuais privadas (VPNS ou VLANs) conforme as caractersticas do modelo de implementao da nuvem aos quais esto atrelados. No modelo de nuvem privada ou interna no h novos ataques, vulnerabilidades e mudanas, pois embora a arquitetura de TI possa mudar com a implementao de nuvem privada, sua topologia de rede corrente provavelmente no ir modificar significantemente. Nesse modelo importante manter a garantia de isolamento de trfego do cliente proprietrio da nuvem, por meio da adoo de VPNs e aplicar os mecanismos de segurana para filtragem de trfego em listas de controles de acesso configurados em roteadores e firewalls.
143

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

Por outro lado, a adoo de servios utilizando o modelo de nuvens pblicas dever modificar os requisitos de segurana e a topologia de rede, endereando questes como a forma de integrao com outras topologias (outras nuvens pblicas, nuvem privadas, comunitrias ou hbridas). No caso de implementao de nuvens pblicas, os seguintes fatores de risco so significantes: confidencialidade e integridade dos dados em trnsito para ou de uma nuvem pblica de provedor. Alguns recursos e dados anteriormente confinados em uma rede privada esto agora expostos para a Internet e o compartilhamento de redes pblicas pertencendo a provedores de nuvens terceirizados; disponibilidade dos recursos a partir da Internet em uma nuvem pblica que tenha sido designada para um cliente pelo provedor de nuvem. O provedor de nuvem deve reconhecer a abrangncia de problemas envolvendo ataques de disponibilidade. No modelo de servios IaaS, o risco de uma ataque tipo DDOS no somente externo (servios expostos a internet), mas h tambm o risco de que ataques tipo DDOS atravs da poro da IaaS afetem outros servios privados, se o provedor de rede utilizou a mesma infraestrutura para seus clientes internos. Nesse caso, a estrutura de rede interna (no rotevel) foi construda com base em recursos compartilhados e poder ser afetada ou comprometida por problemas de disponibilidade de outros clientes; e modelo de zonas e segmentos de rede substitudos por controles lgicos de domnios. Considerando-se as modalidades de servios IaaS e PaaS disponibilizados em nuvens pblicas, no existe um modelo de isolamento estabelecido em Zonas desmilitarizadas (ZDMs) ou segmentos de rede. O modelo tradicional foi substitudo em nuvens pblicas como grupos de segurana ou domnios pblicos ou centros de dados virtuais que tem separao lgica entre os segmentos e so muito menos precisos, suportando um menor nvel de proteo em comparao aos modelos tradicionais. Os fatores de riscos devem ser tratados ou mitigados atravs da aplicao de controles preventivos ou detectivos:
2 http://rationalsecurity.typepad.com/blog/2009/01/a-couple-of-followups-on-my-edoseconomic-denial-of-sustainability-concept.html

144

SEGURANA DE COMPUTAO EM NUVEM

Fonte: Cloud Security and Privacy - Tim Mather, Subra Kumaraswamy, and Shahed Latif

Outro aspecto importante a monitorao de trfego, responsvel pela coleta, armazenamento e anlise em tempo real dos dados provenientes dos ativos de segurana de rede, tais como firewalls, gateways de aplicao, dispositivos de preveno de intruso. As equipes de gerenciamento de acesso aplicam Listas de Controle de Acesso (ACLs) alinhadas aos segmentos de redes virtuais (VLANs), aplicaes e servios conforme necessrio, sendo portanto essencial a viso e reconhecimento de eventos e alertas causados no ambiente de rede. Ressalta-se tambm a necessidade de integrao entre os processos de: monitorao, correlao e gesto de eventos (realizado pelo COS Centro de Operao em Segurana) e o tratamento de incidentes, visando a tomada de aes de proteo e defesa dos ambientes computacionais da nuvem. 2.3.3. Segurana de dados Com a forte tendncia mundial de se ampliar o acesso aos repositrios de dados para a sociedade de uma forma geral, a segurana de dados em computao em nuvem envolve diversos riscos associados com a confidencialidade e integridade dos dados para clientes, usurios e prestadores de servio de nuvem. O cliente da nuvem deve se responsabilizar pela proteo dos dados confidenciais e crticos para o seu negcio. A dificuldade do cliente da nuvem, no seu papel de controlador de dados, est efetivamente em verificar o processamento de dados que o prestador de nuvem realiza e ter a certeza de que os dados so tratados de forma lcita e segura. Por ser uma arquitetura distribuda, a computao em nuvem implica em um aumento significativo dos dados em trnsito em relao s infraestruturas tradicionais. Os dados devem ser transferidos para sincronizar imagens de vrias mquinas distribudas, imagens distribudas em vrias mquinas fsicas, entre infraestrutura de nuvens e clientes web remotos.As tcnicas de ataques por sniffing,
145

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

spoofing, man-in-the-middle, canal lateral e replay so potenciais fontes de ameaas. A possibilidade de ocorrer violaes de segurana dos dados que no so notificados ao controlador pelo provedor da nuvem podem ser minimizados com a configurao do SGBD para criptografar as tabelas, utilizar sistema de arquivos com proteo criptogrfica a nvel de sistema operacional, utilizar mecanismos de verificao de hash ou assinatura digital, implementar mecanismos que previnam contra a perda acidental ou intencional dos dados, arquivos de logs para fins de auditorias/forenses e uso de criptografia e protocolos seguros, como SSL/TLS e IPSEC para garantir a comunicao segura dos dados. Um dos graves problemas da aplicao cliente na nuvem perder o controle dos dados processados pelo prestador de nuvem. Esse problema maior no caso de mltiplas transferncias de dados, por exemplo, entre os prestadores de nuvens federadas. Como o provedor de nuvem pode receber dados que no foram legalmente coletados pelos seus clientes (controladores), isso pode gerar problemas jurdicos entre o provedor da nuvem e o usurio da nuvem. Para se ter o controle deste problema, fundamental que exista um contrato de prestao de servio e responsabilidade legal dos dados armazenados, alm de processos bem definidos de gesto do ciclo de vida dos dados (guarda, descarte e destruio de dados) integridade dos backups, tratamento de incidentes e plano de continuidade, rastreabilidade (arquivos de logs) para suportar os processos forenses e preservao de provas (cadeia de custdia). Outro fator importante a compreenso dos riscos associados dependncia de fornecedores referente a portabilidade de dados e servios. Recomenda-se possuir procedimentos documentados e APIs para exportar dados da nuvem, interoperar em formatos padres, permitir que o cliente possa efetuar a sua prpria extrao de dados. Alm disso, exigncia que o cliente tenha a liberdade exportar seus dados para outro provedor de nuvem e garantia de poder mudar de provedor de forma transparente e sem impactos para seu negcio. 2.3.4. Segurana de aplicao Projetar e implementar aplicaes orientadas para a implantao em uma plataforma de computao em nuvem demanda que o programa de segurana existente seja reavaliado quanto as prticas e padres atuais, principalmente quanto a adoo de um processo de segurana no desenvolvimento de aplicaes.
146

SEGURANA DE COMPUTAO EM NUVEM

Atualmente, uma prtica comum utilizar uma combinao de controles de segurana de permetro e controle de acesso rede e servidores para proteger aplicativos Web implantados em um ambiente controlado, incluindo redes internas (intranets) corporativas e nuvens privadas. Neste novo cenrio, uma vez que o navegador tido como o principal aplicativo cliente para que o usurio final acesse aplicativos na nuvem, fundamental que as aes de segurana contemplem a incluso de controles de segurana para o navegador no mbito da segurana de aplicativos. 2.3.4.1. Ciclo de desenvolvimento seguro essencial que todos os fornecedores de software tratem as ameaas segurana do software. A segurana um requisito fundamental para todos os fornecedores de software, e ela influenciada pelas presses do mercado, pela necessidade de proteger as infraestruturas crticas e pela necessidade de criar e preservar a confiabilidade no ambiente de TIC. Um desafio importante para todos os fornecedores de solues a criao de softwares mais seguros, que precisem de menos atualizaes atravs de correes (patches) e possibilitem um gerenciamento de segurana com poucas ocorrncias de problemas. Para que os softwares sejam construdos efetivamente de forma segura necessrio que as atividades de verificao e validao de segurana sejam adequadamente distribudas em todo ciclo de desenvolvimento, conforme a figura abaixo:

Ciclo de desenvolvimento seguro


Fonte: Cloud Security and Privacy Tim Mather et al, 2009

147

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

2.3.4.2. Aspectos relevantes quanto a disponibilidade da aplicao - DoS e EDoS (economic denial of sustainability) Existem ataques no nvel da aplicao de negao de servios (DoS - Denial of service e DDoS - Distributed Denial of service) que podem potencialmente interromper os servios contidos na nuvem por um tempo indesejado e indeterminado. Ataques de negao de servio podem manifestar-se como um grande volume de requisies de atualizao de pginas web, requisies XML para web services (sobre HTTP ou HTTPS) ou requisies especificas de outros protocolos suportados pela nuvem. Ataques DoS em aplicaes de computao em nuvem que realizam procedimentos de contabilizao por consumo de recursos iro resultar em um aumento dramtico na conta do servio contido na nuvem. Neste contexto ser observado maior utilizao da largura de banda de rede, CPU, armazenamento e consumo. Este tipo de ataque tambm est sendo caracterizado como a negao de sustentabilidade econmica (EDoS3). - SaaS Provedores de servios SaaS so responsveis pela segurana das aplicaes e componentes que oferecem aos seus clientes. Os clientes so normalmente responsveis pelas atribuies de segurana operacional, incluindo o gerenciamento de acesso e de usurios. uma prtica comum para potenciais clientes, geralmente sob acordo de confidencialidade, solicitar informaes relacionadas com as prticas de segurana do fornecedor. Estas informaes devero abranger design, arquitetura, desenvolvimento, testes de segurana (caixa branca e preta) nos aplicativos e modelo de gerenciamento de verses. - PaaS Por definio, uma nuvem de servios PaaS (pblica ou privada), oferece um ambiente integrado que proporciona a realizao do design, codificao, testes e implantao. A segurana de aplicaes para a PaaS abrange duas camadas de software:
3 http://rationalsecurity.typepad.com/blog/2009/01/a-couple-of-followups-on-my-edoseconomic-denial-of-sustainability-concept.html.

148

SEGURANA DE COMPUTAO EM NUVEM

Segurana da prpria plataforma PaaS (por exemplo: mecanismo de runtime); e Segurana das aplicaes dos clientes implantadas na plataforma PaaS. Os Desenvolvedores geralmente devem esperar que os provedores de servio de nuvem ofeream um conjunto de funcionalidades de segurana, incluindo autenticao de usurio, single sign-on (SSO) usando federao, autorizao e suporte a SSL ou TLS, disponibilizados atravs de API. - IaaS Provedores de nuvens de servios IaaS (por exemplo, a Amazon EC2, GoGrid e Joyent) tratam as instncias virtuais como uma caixa preta, portanto, no possuem controle das operaes e gerenciamento de aplicaes do cliente. Assim, o cliente o principal responsvel pelas aes de segurana nas aplicaes. Em resumo, a arquitetura para aplicaes hospedadas em uma nuvem IaaS se assemelha as aplicaes web corporativas com uma arquitetura distribuda em n-camadas. Em uma empresa, aplicaes distribudas so executadas tendo vrios controles visando a segurana dos servidores e a rede de conexo distribudos. 2.3.5. Segurana de servidores e armazenamento de dados (storage) Os riscos de segurana dos servidores devem ser considerados com vista no modelo de entrega de servio da computao em nuvem (SaaS, PaaS e IaaS), bem como os modelos de implantao (pblico, privado e hbrido). Os modelos de servios SaaS e PaaS possuem uma camada de abstrao do servidor que esconde do cliente o sistema operacional em uso. A diferena chave entre esses dois modelos est no nvel de acesso esta camada de abstrao: no SaaS a camada de abstrao no visvel aos usurios, ela est disponvel somente para os funcionrios do provedor de servios em nuvem. Neste modelo, o provedor de servios em nuvem desenvolve e implanta a aplicao; e
149

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

no PaaS dado ao cliente (usurio) um acesso indireto camada de abstrao, por meio de uma API que, por sua vez, acessa esta camada. Neste modelo, o prprio cliente pode desenvolver e implantar a aplicao. Em ambos os modelos, a responsabilidade pela segurana do servidor do provedor de servios de computao em nuvem. Ao contrrio dos modelos SaaS e PaaS, a segurana dos servidores fornecidos por uma IaaS so de responsabilidade do cliente. Partindo do princpio que todos os servios IaaS implementam virtualizao, duas categorias de segurana devem ser consideradas: Segurana no software de virtualizao; Segurana nos servidores virtuais ou sistemas operacionais hospedeiros. Apesar de no haver novas ameaas especficas para os servidores da computao em nuvem, alguns vulnerabilidades de segurana esto presentes neste ambiente, tais como: ameaas contra a integridade e a disponibilidade do hypervisor; escalonamento de privilgios; e uso de comandos maliciosos para sair do ambiente virtual (virtual machine escape). 2.3.6. Segurana de estao de trabalho (endpoint) Quando se trata de gerar economia para as organizaes, as solues de virtualizao de endpoints garantem um espao de trabalho mais produtivo (desktops, aplicativos e informaes) e disponvel o tempo todo. Porm o desafio gerenciar a segurana destes desktops dinmicos com o provisionamento de aplicativos e eliminao de conflitos. A Distribuio sob demanda de aplicativos para endpoints fsicos e virtuais a fim de garantir proatividade na conformidade de licenas e recuperao automatizada de licenas para otimizao de custos, exige controles efetivos para regular o uso de forma segura. Estes ativos podem se beneficiar por exemplo de um servio de segurana completamente gerido externamente, permitindo-lhes monitorizar e e configurar as suas prprias protees anti-malware a partir de qualquer local e a qualquer momento, ou atribuindo essa responsabilidade a um provedor de servios geridos.
150

SEGURANA DE COMPUTAO EM NUVEM

2.4. Resilincia Operacional Resilincia um termo que tem origem nas cincias exatas e diz respeito capacidade de um elemento retornar ao estado inicial aps sofrer influncia externa. De uma forma mais detalhada, a capacidade de: mudar (adaptao, expanso, conformidade e conforto) quando uma fora aplicada; funcionar adequadamente ou minimamente enquanto a fora efetiva; e retornar a um estado normal (esperado e pr-definido) quando a fora se torna ineficaz ou retirada. Considerando o modelo de negcio e o modelo de entrega de servio de computao em nuvem adotados, o conceito de resilincia pode ser aplicado nos seguintes nveis: Negcio: habilidade de uma organizao, recurso ou estruturas para sustentar o impacto de uma interrupo de negcios, recuperar e retomar suas operaes para prestar nveis mnimos de servio. Os seguintes aspectos precisam ser considerados: criao de conscientizao nas questes de resilincia; seleo de componentes organizacionais essenciais; auto avaliao das vulnerabilidades; identificao e priorizao das vulnerabilidades principais; e aes visando aumentar a capacidade adaptativa. Sistemas: sistemas desenvolvidos com a capacidade de fornecer os servios para os quais foi projetado e mant-los em nveis aceitveis de performance, mesmo na presena de condies negativas. Um sistema resiliente deve (tipicamente) possuir as seguintes capacidades: responder de forma rpida e eficiente aos distrbios normais e ameaas; monitorar de forma contnua os distrbios e ameas, alm de revisar os padres de monitorao; e antecipar mudanas futuras no ambiente que possam afetar a forma de funcionamento do sistema e se preparar para tais mudanas.
151

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

Operaes: propriedade associada com as atividades que a organizao executa visando manter servios, processos de negcios e ativos viveis e produtivos mesmo sob condies de risco. Apresenta um conjunto de ferramentas, tcnicas e metodologias para auxiliar as organizaes na conduo de uma ao integrada entre os processos de gesto de operaes de TI, gesto da continuidade e gesto da segurana. Como uma base comum para estes processos est a gesto de riscos, que permite identificar as ameaas, vulnerabilidades e elencar os controles adequados para minimizar os riscos. Infraestrutura: geralmente confundido na prtica com recuperao de desastres ou planejamento de continuidade de negcios. De forma ideal, as atividades de recuperao e continuidade devem ser ativadas apenas nas situaes de falha na resilincia. Engenharia de resilincia: processo no qual uma organizao projeta, desenvolve, implementa e gerencia a proteo e a sustentabilidade de seus servios crticos, relacionados com os processos de negcio e associados aos ativos (pessoas, informao, tecnologia e instalaes). Possui os seguintes desafios: construir sistemas capazes de se recuperar de distrbios; e ter a segurana como uma propriedade emergente do sistema ao invs de t-la baseada exclusivamente na dependncia de componentes confiveis. 3. Segurana como servio A adoo de segurana como servio permite a entrega de controles de segurana estruturados e automatizados na modalidade de servios que so de propriedade, entregues ou gerenciados remotamente por um ou mais provedores. O provedor entrega um servio de segurana baseado em um conjunto compartilhado de tecnologias, melhores prticas e mtricas que so consumidos no modelo de um para muitos pelos clientes a qualquer instante com pagamento pelo uso ou como uma assinatura. Os servios definidos nessa seo foram selecionados com base na capacidade de provimento de solues desenvolvidas a partir do
152

SEGURANA DE COMPUTAO EM NUVEM

conhecimento j existente no escopo de segurana pelas vrias reas de uma organizao e que possam evoluir do ambiente de TI atual para o ambiente de tecnologia de computao em nuvem. O benefcio primordial aos clientes dos servios de segurana o uso de mltiplos mecanismos, tcnicas e processos, cujo compartilhamento da estrutura traz como consequncia direta a reduo de custos e complexidade de implementao para o cliente. Ressalta-se ainda o fato de que esses servios requerem recursos tcnicos (pessoas) com alto nvel de especializao e gesto nos diversos temas que compe a segurana da informao, disciplina esta muitas vezes distante dos objetivos finais de negcio do cliente. Dessa forma, o cliente pode ento fazer uso de avanados mtodos, tcnicas, ferramentas e processos de segurana visando a proteo de seus servios sem a necessidade de obter especializaes fora de seu contexto de atuao. 3.1. Centro de operaes em segurana A utilizao de um modelo central de monitorao de ambientes de infraestrutura pode ser um componente essencial para controle de aplicaes web no segmento de computao em nuvem e ainda pode ser um instrumento fundamental para as atividades do programa de governana. Adicionalmente, deve ser observado que a estrutura de controle deve ser aderente com a poltica de governana adotada pela organizao, os aspectos legais jurisdicional e contratuais e os padres de segurana definidos para preveno de ataques nos servios web, controle da rede, sistemas, aplicaes e servios. Benefcios do servio para os clientes: dispor do controle eficiente e eficaz para o tratamento de alertas e eventos de segurana, com a correlao das diversas infraestruturas de TIC no provimento de servios em nuvem; possibilitar o acompanhamento em tempo real da sade da segurana a partir de relatrios e acessos a um ambiente de gerenciamento de segurana; e disponibiliza informaes para identificao de registros de logs e outros eventos no ambiente de TIC do provedor com a finalidade de auditoria e investigao forense.
153

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

3.2. Gerenciamento de vulnerabilidade Esse servio compreende o fornecimento de informaes resultantes da anlise de vulnerabilidade sobre os ativos de sistemas do cliente. O provedor de servio de computao em nuvem utiliza tcnicas e ferramentas para descoberta de falhas e vulnerabilidades em componentes de software (sistemas, aplicaes e servios) que podem ser exploradas no ambiente de produo e formula as aes de correes que precisam ser aplicadas para eliminar riscos potenciais de ataque sobre o componente em referncia. Benefcios do servio para os clientes: o reconhecimento e a apresentao de solues possibilitam eliminar ataques oriundos da explorao de vulnerabilidades sobre os componentes de software; e reforo da gesto de segurana das aplicaes disponibilizadas como servio pelos clientes, com a reduo do risco potencial de explorao por ataques em seus ativos. 3.3. Gerenciamento do Tratamento de incidentes O servio de tratamento de incidentes compreende a adoo de ferramentas, processos e tcnicas que permitam identificar, analisar e mitigar incidentes computacionais de forma rpida e precisa, comunicando as informaes relevantes para a alta direo, clientes e parceiros. Os clientes tero a partir desse servio, relatrios de eventos de segurana e vulnerabilidades associadas com sistemas identificados no ambiente de produo, permitindo que as aes de correo sejam tomadas. Quando da ocorrncia de incidentes, o relato formal dos procedimentos de tratamento e escalao adotados so reportados ao cliente proprietrio do sistema ou servio impactado. Benefcios do servio para os clientes: uso de ferramental adequado, tcnicas e processos pelo provedor do servio de computao em nuvem para mitigar e conter incidentes de segurana permitindo aumento da segurana e confiana do servio disponibilizado na nuvem do provedor;
154

SEGURANA DE COMPUTAO EM NUVEM

estabelecimento de controles voltados ao tratamento de incidentes requisito de diversos processos de certificao em gesto da segurana da informao que pode ser necessria ao sistema ou servio do cliente; e aumento da da confiana e credibilidade com foco nos servios disponibilizados ou utilizados pelo cliente. 3.4. Gerenciamento de vulnerabilidade Esse servio compreende o fornecimento de informaes resultantes da anlise de vulnerabilidade sobre os ativos de sistemas do cliente. O provedor de servio de computao em nuvem utiliza tcnicas e ferramentas para descoberta de falhas e vulnerabilidades em componentes de software (sistemas, aplicaes e servios) que podem ser exploradas no ambiente de produo e formula as aes de correes que precisam ser aplicadas para eliminar riscos potenciais de ataque sobre o componente em referncia. Benefcios do servio para os clientes: o reconhecimento e a apresentao de solues possibilitam eliminar ataques oriundos da explorao de vulnerabilidades sobre os componentes de software; e reforo da gesto de segurana das aplicaes disponibilizadas como servio pelos clientes, com a reduo do risco potencial de explorao por ataques em seus ativos. 3.5. Filtro de correio Eletrnico (anti-malware, Anti-spam, antiphishing) O servio de filtro para correio eletrnico compreende a limpeza de mensagens de correio contendo spam e phishing e a identificao de malware includo no fluxo de e-mail entrante na organizao, permitindo a entrega de e-mails limpos e seguros para organizao. Spam: e-mails no solicitados, que geralmente so enviados para um grande nmero de pessoas (fonte: http://cartilha.cert.br/) Phishing/scam: tipo de spam amplamente utilizado como veculo para disseminar esquemas fraudulentos, que tentam induzir o usurio a acessar pginas clonadas de instituies financeiras ou a instalar programas maliciosos
155

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

projetados para furtar dados pessoais e financeiros (fonte: http:// cartilha.cert.br/) Malware: programas especificamente desenvolvidos para executar aes danosas em um computador. Dentre eles sero discutidos vrus, cavalos de tria, spywares, backdoors, keyloggers, worms, bots e rootkits (fonte: http:/ /cartilha.cert.br/) O servio poder tambm incluir backups e arquivamento de caixas de correio, envolvendo o armazenamento e indexao das mensagens e arquivos anexados em um repositrio centralizado. O repositrio dever permitir aos clientes indexar e pesquisar por vrios parmetros incluindo faixa de dados, recipiente, assunto, contedo e emissor da mensagem. Essas informaes so particularmente teis para propsito de processos legais, que podem ser excessivamente caros e trabalhosos sem essas caractersticas. Benefcios do servio para os clientes: melhoria de performance uma vez que mensagens de correio no tero latncia aplicada a mecanismos internos nas estaes de trabalhos e servidores de correio dos clientes; melhoria da gesto anti-malware realizado no provedor, evitando possveis infeces na rede ou em recursos do cliente; reduo do consumo de banda e da necessidade de armazenamento de mensagens pela rede ou servidores do cliente, devido a limpeza de mensagens de spam e phishing; e melhoria da efetividade dos canais (recipientes) de comunicao do cliente eliminando a necessidade de realizar esforos de limpeza anti-malware, anti-phishing e anti-spam. 3.6. Filtro de correio Eletrnico (anti-malware, Anti-spam, antiphishing) O servio de filtro para correio eletrnico compreende a limpeza de mensagens de correio contendo spam e phishing e a identificao de malware includo no fluxo de e-mail entrante na organizao, permitindo a entrega de e-mails limpos e seguros para organizao. Spam: e-mails no solicitados, que geralmente so enviados para um grande nmero de pessoas (fonte: http://cartilha.cert.br/)
156

SEGURANA DE COMPUTAO EM NUVEM

Phishing/scam: tipo de spam amplamente utilizado como veculo para disseminar esquemas fraudulentos, que tentam induzir o usurio a acessar pginas clonadas de instituies financeiras ou a instalar programas maliciosos projetados para furtar dados pessoais e financeiros (fonte: http:// cartilha.cert.br/) Malware: programas especificamente desenvolvidos para executar aes danosas em um computador. Dentre eles sero discutidos vrus, cavalos de tria, spywares, backdoors, keyloggers, worms, bots e rootkits (fonte: http:/ /cartilha.cert.br/) O servio poder tambm incluir backups e arquivamento de caixas de correio, envolvendo o armazenamento e indexao das mensagens e arquivos anexados em um repositrio centralizado. O repositrio dever permitir aos clientes indexar e pesquisar por vrios parmetros incluindo faixa de dados, recipiente, assunto, contedo e emissor da mensagem. Essas informaes so particularmente teis para propsito de processos legais, que podem ser excessivamente caros e trabalhosos sem essas caractersticas. Benefcios do servio para os clientes: melhoria de performance uma vez que mensagens de correio no tero latncia aplicada a mecanismos internos nas estaes de trabalhos e servidores de correio dos clientes; melhoria da gesto anti-malware realizado no provedor, evitando possveis infeces na rede ou em recursos do cliente; reduo do consumo de banda e da necessidade de armazenamento de mensagens pela rede ou servidores do cliente, devido a limpeza de mensagens de spam e phishing; e melhoria da efetividade dos canais (recipientes) de comunicao do cliente eliminando a necessidade de realizar esforos de limpeza anti-malware, anti-phishing e anti-spam. 4. Concluso A segurana da nuvem requer uma abordagem estruturada e que seja gil e elstica. O modelo de segurana apresentado considera estes aspectos e destaca a abrangncia e respectivos processos a serem tratados. Proteger e assegurar para os clientes que os servios e dados so tratados de acordo com os nveis acordados de disponibilidade, integridade e
157

COORDENAO ESTRATGICA DE TECNOLOGIA (CETEC)

confidencialidade apenas o desafio inicial. Estar em conformidade com padres nacionais e internacionais uma forma adequada de conduzir as aes de segurana. Referncias Universidade de Canterbury Nova Zelndia Projeto RESORGS; http:// www.resorgs.org.nz/index.shtml. Universidade Carnegie Mellon CERT/SEI CERT resiliency management model v1.0; http://www.cert.org/resiliency/. CERT.BR - Centro de Estudos, Resposta e Tratamento de Incidentes de Segurana no Brasil Cartilha de segurana http://cartilha.cert.br/ Cloud Security Guidance IBM recommendations for the implementation of Cloud security Redpaper, IBM 2009. Cloud Security and Privacy Tim Mather, Subra Kumaraswamy, and Shahed Latif, OReilly - 2009. Security Guidance for Critical Areas of Focus in Cloud Computing V2.1 Prepared by the CSA - Cloud Security Alliance . 2009.

158

Quadrante SERPRO de Tecnologia (QST) Uma Ferramenta de Apoio Gesto do Ciclo de Tecnologia em tempos de Novos Paradigmas da Computao nas Nuvens
Almir Fernandes Coordenador Estratgico de Tecnologia SERPRO Rio de Janeiro

Palavras - chave: Indicadores, Sistema de Informao, Inovao, Ciclo de Tecnologia da Informao, Nvel de Servio, Infraestrutura, Avaliao e Produtividade. Abstract This article presents the fundamentals of SERPRO Quadrant Technology (QST). A support tool designed to assess the risks and opportunities of technology systems and services produced in SERPRO. The QST is also intended to be a trigger to signal on applications for research projects and innovation in partnerships with academic centers. Contextual aspects are described in this article, including main objectives, motivations, input / output related to this artifact as a key component of SERPRO Technology Observatory. Keywords: Indicators, Information System, Innovation, information Technology Cycle, infrastructure, Service level, Evaluation and Productivity. I - Introduo Esse trabalho apresenta os fundamentos do Quadrante SERPRO de Tecnologia (QST) - Uma ferramenta para apoiar anlise de riscos e
159

ALMIR FERNANDES

oportunidades do ciclo de tecnologia no mbito de servios e sistemas estruturadores de governo. O QST visa tambm ser um sinalizador das demandas e prioridades em pesquisa e inovao junto s entidades parcerias e centros acadmicos. So descritos aspectos contextuais, as principais motivaes, insumos, objetivos que embasam esse artefato-chave como um componente fundamental do Observatrio SERPRO de Tecnologia 1.
The more you practice what you know, the more shall you know what to practice. W. Jenkin

Em tempo de novos paradigmas da computao nas nuvens, no h dvida que organizaes que buscam a sustentabilidade num ambiente de mudanas intensas tomam decises com base e fatos, dados e indicadores que lhes credenciam como parte da soluo para o sucesso de seus clientes. Uma organizao pode ser percebida como um sistema de filtro, onde por um lado entram intenes, expectativas e interesses das partes e do outro saem realizaes (2Fernandes). Quer seja no mbito de governo ou na iniciativa privada a informao til uma entidade que reduz a incerteza sobre um evento ou estado (3Lucas), quanto maior a quantidade e qualidade de informao, menor a incerteza e vice versa; o problema que a informao se deprecia muito rapidamente, da a necessidade de repositrios inteligentes e meios geis para permitir que se possa tirar o melhor proveito de sua utilidade4. Hoje no sculo XXI ningum questiona a importncia da tecnologia da informao (TI) como varivel crtica nos principais segmentos da indstria de maneira geral com impactos definitivos em qualidade e produtividade. No entanto, por sua natureza dinmica, decises sobre o ciclo de vida da tecnologia nas organizaes ainda tem sido motivo de muitos estudos e pesquisas rumo a cenrios desejveis, em resposta, o peso relativo dos investimentos de TI passou a ser um dos itens mais significativos nos oramentos das mesmas, desafiando-as a conjugarem qualidade e agilidade nas suas decises. Hoje com a dinamicidade e flexibilidade exigida na nuvem, num ambiente onde os recursos so intensamente compartilhados, os desafios
1 2

Portal de Direcionamento Tecnolgico e Gesto de Conhecimento de Tecnologia do SERPRO. Administrao Inteligente Futura Fernandes, A. a2 Ed 2003. 3 Information Systems Concepts for Management McGraw Hill. Lucas, Henry C 1990. 4 Administrao Inteligente Fernandes, A Futura, 2 Edio 2003.

160

QUADRANTE SERPRO DE TECNOLOGIA (QST)

torna-se ainda maiores, as organizaes que dominarem esse ciclo de decises efetivamente tero vantagem competitiva para transformar intenes em efetivas realizaes. No mundo real numa perspectiva puramente econmica todo desperdcio caracterizado pelo desequilbrio da relao entre insumos e sadas traduzidos em produtos e servios gerados, o que implica no curto prazo, em abrir mo de algo tangvel. Isso o que (5Samuelson) define como anomalias na fronteira das possibilidades da produo; o desafio, portanto est em realizar no presente e desenvolver a capacidade de alinhar-se ou mesmo antecipar as tendncias futuras. Estudos e pesquisas comprovam que existe uma correlao positiva entre comprometimento com a realizao e as escolhas em tecnologia da informao, sendo essa deciso um dos fatores crticos de sucesso das organizaes (6Laudon); paradoxalmente quando essas decises envolvem por diversas razes escolhas errticas invariavelmente conduzem ao insucesso, entre elas esto: falta de viso estratgica para definir o seu prprio rumo, carncia de dados e informaes para garantir sustentabilidade de processos e projetos prioritrios e religio por tecnologia entre outros males doutrinrios que infestam uma gesto adequada dos ciclos de tecnologia numa organizao. Essa realidade ainda mais complexa em organizaes de TIC, onde a obsolescncia e apego a tradio em oposio sistematizao e inovao cobra preo alto, quer seja na qualidade dos servios com perdas para a sociedade como um todo, quer seja traduzidas em desperdcio e deseconomias de escala como conseqncia do mau direcionamento e uso de tecnologias. Em sntese uma sociedade que desperdia no est sendo capaz de aprender com a memria do seu passado, ignora o presente e se torna refm do acaso. O passado memria, o presente ao e o futuro construo II - Motivaes e Objetivos do Quadrante SERPRO de Tecnologia - QST Investimentos em tecnologia de uma forma geral tm um peso significativo no oramento das empresas e impacto na qualidade dos processos e servios. Decises de investimentos h muito deixaram de ser objeto de abordagens
5 6

Economics (9th Edition) Samuelson, Paul Antony- 1973. Management Information systems. Managing the Digital firm(8a.ed) Pearson education 2004.

161

ALMIR FERNANDES

empricas ou experincias ao acaso para se apoiar em bases consistentes. Com efeito, experincias mais bem sucedidas nesse campo nos governos no mundo tm demonstrado o papel fundamental das instituies de pesquisa e desenvolvimento em projetos com enfoque na gesto desse conhecimento, pesquisa e inovao. Vrios so os exemplos de experincias em todo o mundo que tm cada vez mais reafirmado o importante papel e a alta relevncia da TI como um dos atores principais na induo de mudanas no segmento de TI nos sistemas estruturadores de governo. A biologia identifica as espcies mais evoludas pela capacidade de antever situaes futuras. O processo decisrio quase sempre quem determina a diferena entre o sucesso e o fracasso (7 Chris & Tara). Normalmente um processo de avaliao de tecnologia envolve diversas fontes especializadas de origem internas e externas, convergindo para decises de aquisio. Tais decises normalmente envolvem pareceres tcnicos de especialistas, grupos de trabalho, e referncias a lies aprendidas de projetos anteriores entre outros meios para garantir a sustentabilidade nesse processo. Dependendo do nvel exigido de controle todo processo pode ser ainda objeto de designaes formais, decises de Diretoria entre outras prticas de regulao institudas, at que se chega a um veredicto final onde a escolha finalmente feita. Uma vez definida a tecnologia outro aspecto crtico, raramente mencionado em estudos e pesquisas, o fator resistncia velada que se instaura quando uma vez definida a orientao e direcionamento. Surgem os mrtires silenciosos, que muitas das vezes estiveram ancorados na zona de conforto, e conspiram em silncio incomodados com as mudanas de rumo. Reagem annimos, na maioria das vezes, com um nvel mnimo de racionalidade que no contribua para a efetiva melhoria da deciso; as consideraes so semnticas inapropriadas que escondem na verdade um vazio de posicionamento cuja inteno a manuteno do status-quo. Infelizmente esse cenrio cria rudos e desgastes com consumo de energia indesejvel que s contribui para confirmar a hiptese de que no o presente contra o futuro, mas o ortodoxo contra o heterodoxo (8 Hamel).

7 8

Chris Tara, Brady Rules of the Game - Pearson Education Limited -2000. Leading Revolution Hamel, G Harvard Business School Press - 2000.

162

QUADRANTE SERPRO DE TECNOLOGIA (QST)

III - Dimenses do QST O Quadrante Serpro de Tecnologia (QST) um artefato simples para apoiar as atividades de gesto do ciclo de tecnologia projetado em duas dimenses: a primeira em X enfoca produtividade da tecnologia no uso interno, traduzida em indicadores definidos por segmento; a segunda em Y enfoca o grau de maturidade da tecnologia no ambiente externo e o seu potencial para atender as demandas de solues de governo. A produtividade do segmento de sistemas, por exemplo, calculada a partir do esforo medido em pontos de funo realizados por homem/dia. A maturidade da tecnologia obtida a partir de consolidao de check-Lists, envolvendo a rede de especialistas com notrio conhecimento acerca da evoluo das principais tendncias da tecnologia no mercado, incluindo entidades de rede governo, SERPRO, academia entre outras parcerias importantes. A figura a seguir resume as dimenses citadas e respectivos quadrantes representados.

Figura 3.1 - Dimenses do Quadrante SERPRO de Tecnologia QST

O contexto das decises apoiadas pelo QST envolve os segmentos de Modelagem, Construo de Cdigos e infraestrutura enfocando ferramentas de apoio ao desenvolvimento, Banco de Dados, Frameworks, Sistema Operacional, Servidores de aplicao, Data warehouse/BI,
163

ALMIR FERNANDES

Plataforma alta, Navegadores WEB e Componentes de software. As decises focalizam Modelagem de Software (Engenharia de Requisitos, Analise de sistemas), Metodologias de Desenvolvimento de software e Processos de Desenvolvimento de software, Verificao, Validao e Testes, Frameworks, Programao e Manuteno de sistemas, Planejamento e Gerncia de Projetos, Qualidade de software; Mtricas de software, Padres de Projeto e Medio. A seguir apresentada uma amostra dos principais enfoques da avaliao QST, relacionando Riscos e Oportunidade no mbito das perspectivas Interna e externa: Tabela 3.1 Riscos e Oportunidades de Tecnologia - Perspectiva Interna

164

QUADRANTE SERPRO DE TECNOLOGIA (QST)

Tabela 3.2 - Riscos e Oportunidades de Tecnologia - Perspectiva Externa

Atualmente o processo de avaliao de tecnologia no SERPRO est baseado em diretrizes institucionais e pareceres que envolvem as opinies de tcnicos com notrio saber lotados nas vrias reas da empresa. O processo de construo dos pareceres, dependendo da complexidade e extenso no mbito tcnico conduzido por grupos de trabalho por meio de designaes formais de Diretoria; tais grupos fazem avaliaes e constroem pareceres, que em ltima anlise so base de sustentao dos investimentos em questo. A dependncia de modelos mentais heterogneos, incertezas e rano gentico a tecnologias como religio, so excees, mas quando recorrentes criam dificuldades que tem origem na relutncia de seus atores em abrir mo de conhecimento j adquirido. As melhores prticas organizacionais para abordagem do problema demonstram que a formao de silos de resistncia s inovaes no mundo da computao so na realidade os maiores entraves
165

ALMIR FERNANDES

inovao, inviabilizando a criao de uma base de conhecimento sustentvel para apoiar decises futuras. IV - Arquitetura de Suporte ao QST e principais objetivos O QST como ferramenta que apia as decises durante o ciclo de vida de tecnologia envolve, conforme j mencionado, decises relacionadas aos seguintes temas: Engenharia de Requisitos, Anlise e construo de Sistemas, Metodologias e Processos de Desenvolvimento de software, Frameworks, Ferramentas de Programao, Testes Verificao, Validao e Manuteno de sistemas, Qualidade de software; Mtricas de software, Padres de Projeto e Medio e Planejamento e Gerncia de Projetos. As melhores prticas tm evidenciado a necessidade da construo de um processo formal, estruturado e consistente baseado no conhecimento explcito e transparente, envolvendo todas as partes interessadas direta e indiretamente nas decises de tecnologia. A sntese da arquitetura para suporte ao QST descrita na Figura 4.1 a seguir: 4.1 - Arquitetura de Suporte ao QST

166

QUADRANTE SERPRO DE TECNOLOGIA (QST)

O SERPRO um importante agente indutor no mercado de solues de Tecnologias de Informao de governo. O modelo praticado no QST gerencia o conhecimento sobre o ciclo de vida tecnologia de tecnologia e faz aproximao efetiva com parceiros externos, envolvendo academia e outros centros de pesquisa. Nesse contexto inserem-se os projetos desenvolvidos com Centros de pesquisa e Inovao. O QST, portanto, surge como o principal instrumento do Observatrio de tecnologia ao dar visibilidade do painel de tecnologias em utilizao no cenrio atual e projetado, com vistas ao alcance dos seguintes objetivos: Contribuir para o aumento dos nveis de produtividade do desenvolvimento de sistemas com base em solues inovadoras; Reduzir a carga de servios de suporte e manuteno pela melhoria da qualidade e inovao nas solues em servios de TIC; Aumentar a portabilidade, interoperabilidade e integrao dos sistemas; Prevenir problemas potenciais relacionados segurana de dados e informaes; Melhorar os nveis de escalabilidade do ambiente operacional; Maximizar o retorno dos investimentos em infraestrutura; Qualificar as anlises de construo ou aquisio; Aumentar as oportunidades de utilizao de solues baseadas em arquiteturas abertas; Reduzir os riscos em investimentos nos ativos de TIC; Facilitar o planejamento de tecnologia em bases sustentveis; Sustentar as decises de investimento sem comprometer a coerncia do direcionamento estratgico; Contribuir para reduo da complexidade da infraestrutura de TIC. V - Principais Insumos do Modelo de Avaliao QST O principal insumo de avaliao do modelo QST a informao derivada de fontes internas e externas que permitem a consolidao e tratamento dos dados no Quadrante. Essa informao tem origem nas reas de Negcio, Desenvolvimento e Infraestrutura entre outros, como por exemplo, a Universidade SERPRO. Na perspectiva externa dos Clientes, incluem-se parceiros de soluo, envolvendo rede governo, academia entre outros atores
167

ALMIR FERNANDES

que atuam no desenvolvimento de projetos de pesquisa e estudos aplicados. Todos de modo integrado contribuem para a formao de uma base slida de informaes traduzidas em Indicadores. Os principais insumos tm em vista: Produtividade do desenvolvimento de sistemas; Nveis de Servios; Freqncia de incidentes, problemas e mudanas relativos a servios de servios de suporte e manuteno. Uso de Framework corporativo (Demoiselle) e participao em Comunidade; Reutilizao de componentes; Incidentes e problemas relacionados segurana de dados e informaes; Indicadores de evoluo e escalabilidade do ambiente operacional; Retorno dos investimentos em projetos indicadores de utilizao de solues inovadoras; Uso de arquiteturas abertas. VI - Viso dos Processos do QST Uma organizao tem maiores chances de alcanar os objetivos do seu negcio se, e somente se, unir pessoas, tecnologia e outros recursos incluindo sistemas de informao em processos que se complementem (9 Weske). O QST como ferramenta que apia as decises durante o ciclo de vida de tecnologia envolve decises relacionadas aos seguintes temas : Engenharia de Requisitos, Anlise e construo de Sistemas, Metodologias e Processos de Desenvolvimento de software, Frameworks, Ferramentas de Programao, Testes Verificao, Validao e Manuteno de sistemas, Qualidade de software; Mtricas de software, Padres de Projeto e Medio e Planejamento e Gerncia de Projetos. Os processos que suportam o Quadrante SERPRO de Tecnologia possuem referncia no modelo de arquitetura corporativa proposto por Zachman/TOGAF10; esse modelo posiciona Tecnologia como um dos ativos
9

Business Process Management Concepts, Languages, architectures Weske, M Springer Verlag Berlin Heidelberg 2007. 10 Zachman Framework The Open Group Architecture Framework.

168

QUADRANTE SERPRO DE TECNOLOGIA (QST)

mais estratgicos para as organizaes e considera: Viso de arquitetura do Negcio, Arquitetura de processos, Sistemas de informaes, Tecnologia e Gesto de Mudanas e de Projetos, de forma integrada at a consolidao das solues. As atividades e conexes que sustentam QST envolvem definies relativas : Direcionamento Estratgico de Tecnologia, Catlogos de Configuraes de componentes de hardware e Software, Check-List de Maturidade que traduzem a voz da rede de especialistas e parceiros de soluo, em ltima anlise entidades que formam a rede de sustentao do Quadrante SERPRO de Tecnologia para efetuar as avaliaes por segmento de aplicao, conforme sntese apresentada na figura 6.1: Figuras 6.1 Componentes do QST

VII - Concluso Os desafios que o paradigma da computao em nuvem impe s organizaes no segmento de TIC exigem um posicionamento com respostas mais geis. Infraestrutura estvel e ao mesmo tempo suficientemente flexvel, capaz de suportar a heterogeneidade em multi-ambientes operacionais altamente compartilhados onde as palavras de ordem so qualidade e produtividade premissa. Notadamente num ambiente cada vez mais orientado a servio, como o caso da computao nas nuvens, sob pena de
169

ALMIR FERNANDES

inviabilizarem seus respectivos modelos de negcio Ao alterar o ambiente fsico, as inovaes tecnolgicas preparam os alicerces para eventuais mudanas na cultura organizacional (11Chris Tara, Brady), nessa perspectiva, cada vez mais as organizaes de TIC devem se utilizar de mtodos, processos e ferramentas alinhados e integrados para melhor produtividade nas suas escolhas. Com efeito, na indstria tradicional a curva de experincia um fenmeno que torna possvel identificar e prever melhorias de produtividade, medida que os trabalhadores se tornavam mais hbeis nas respectivas tarefas, conforme curva de aprendizado exibida a seguir (12 Hagel, Brown, Davison). Embora vlida para indstria tradicional essa curva perde consistncia num contexto altamente mutvel como o segmento de Tecnologia da Informao; estudos recentes demonstram que uma curva S melhor expressa, com seus pontos de ruptura, a importncia de buscar a inovao. Para tanto so mais que necessrios processos, mtodos e ferramentas como o QST que promovam a inovao e contribuam efetivamente para garantir a sustentabilidade de produtos e servios. Curvas de Experincia Vs Inovao

As ofertas e opes de tecnologia so as mais diversificadas ante a um novo paradigma da computao utilitria; esse novo momento torna a avaliao da base tecnolgica existente e as decises quanto o futuro da mesma um exerccio de constante atualizao e observao. Trata-se de uma questo estratgica de sobrevivncia, sob pena de ser parte da histria com verbos no passado. A questo optar por seguir a tendncia imposta, ou construir o
Chris Tara, Brady Rules of the Game Pearson Education Limited 2000. Harvard Business Review John Hagel III, John Seely Brown and Lang Davison Guest Edition July 18, 2010 (3:34 PM).
12 11

170

QUADRANTE SERPRO DE TECNOLOGIA (QST)

seu caminho e fazer a sua histria. A proposta do QST tem no seu DNA tem em vista oferecer avaliaes elegantes que correlacionem notrio saber com produtividade e maturidade no contexto de Gesto do Conhecimento em TIC. O seu principal produto um painel de bordo para posicionamento do SERPRO, como sendo um dos principais indutores no segmento de solues de TIC para governo. Bibliografia (2,4) Administrao Inteligente Futura Fernandes, A. a2 Ed - 2003. (3) Information Systems Concepts for Management, Loudon, McGraw Hill. Lucas, Henry C- 1990. (5) Economics (9th Edition) Samuelson, Paul Antony- 1973. (6) Management Information systems. Managing the Digital firm (8a.ed) Pearson education- 2004. (7) Chris Tara, Brady - Rules of the Game - Pearson Education Limited 2000. (8) Leading Revolution - Hamel, G Harvard Business School Press 2000. (9)Business Process Management Concepts, Languages, architectures Weske, M Springer - Verlag Berlin Heidelberg - 2007. (10) Zachman Framework - The Open Group Architecture Framework. (11) Chris Tara, Brady - Rules of the Game - Pearson Education Limited 2000. (12) Harvard Business Review - John Hagel III, John Seely Brown - and Lang Davison Guest Edition - July 18, 2010 (3:34 PM).

171

Formato Mancha grfica Papel Fontes

15,5 x 22,5 cm 12 x 18,3cm plen soft 80g (miolo), duo design 250g (capa) Times New Roman 17/20,4 (ttulos), 12/14 (textos)

Você também pode gostar