10

Click here to load reader

Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

Embed Size (px)

Citation preview

Page 1: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

TI Verde: uma abordagem de tecnologias nas nuvens

Joelson Isidro, Jean Fidelis e Vitor Melo

Ciência da Computação - Centro Universitário de João Pessoa (Unipê)

BR 230 - Km, Água Fria - CEP 58053-000 - João Pessoa - Paraíba – Brasil

[email protected], [email protected],

[email protected]

Abstract. This article presents the Green IT as a solution for environment problems

connected with IT area. We are going to see how Cloud Computing try to resolve more

common problems in public, and private organizations and the society in general. And we

still are going to see cases where virtualization has been applied with success, decreasing

electricity cost, physical space and processing.

Resumo. Este artigo apresenta a TI verde como solução para problemas ambientais

ligados a área de TI. Veremos como a Computação nas Nuvens tende a resolver os

problemas mais comuns existentes em organizações públicas, privadas e da sociedade em

geral. Veremos também casos onde a virtualização está sendo aplicada com sucesso,

cortando custos com energia, espaço físico e processamento.

1. Introdução

Atualmente os computadores são os grandes consumidores de energia elétrica,

tanto na sua produção, tempo de vida de uso e no seu descarte. Isto representa o

aumento de emissão de gases poluentes e impacto ambiental. As discussões sobre este

assunto retratam as boas práticas da TI Verde. Este trabalho tem como objetivo

apresentar propostas para implantação de procedimentos com vista a reduzir o consumo

de energia, apresentando características de métodos aplicados e as vantagens das

soluções com a computação em nuvem.

2. TI Verde

Com o decorrer da crescente evolução tecnológica, cresce conseqüentemente as

preocupações das empresas, governos e toda a sociedade com as questões ambientais.

Medidas ecologicamente corretas vêm sendo são cada vez mais necessárias por uma

questão profissional e para se manter o equilíbrio do nosso ecossistema.

O termo TI Verde é utilizado pelo na tecnologia para traduzir a preocupação

com o meio ambiente e com a sustentabilidade. Resume-se na soma de economia de

energia com gestão de recursos em todos os processos de produção incluindo o descarte.

É aplicada em diversos setores da tecnologia, como por exemplo: computação

com o uso eficiente da energia; gerenciamento de energia; projetos de Data Centers

Verdes; virtualização de servidores; descarte responsável e reciclagem; utilização de

fontes de energia renováveis; e produtos de TI com selos ecológicos.

3. Computação nas Nuvens

É um modelo que possibilita o acesso, de modo conveniente e sob demanda, de

um conjunto de recursos computacionais configuráveis que podem ser rapidamente

Page 2: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

adquiridos e liberados com mínimo esforço gerencial ou interação com provedor de

serviços [NIST – National Institute of Standards and Tecnology, 2009].

Figura 1. Arquitetura da Computação em Nuvem

3.1 Características Essenciais

São vantagens que as soluções de computação em nuvem oferecem. Algumas destas

características, em conjunto, definem exclusivamente a computação em nuvem e fazem

a distinção com outros paradigmas.

Self-service sob demanda: de acordo com a necessidade o usuário adquiri

recursos computacionais sem precisar de interação humana com os provedores

de serviço.

Amplo acesso: recursos são disponibilizados por meio da rede e acessados

através de mecanismos padronizados que possibilitam o uso por plataformas do

tipo thin, tais como celulares, laptops e PDAs.

Pooling de recursos: os recursos computacionais do provedor são organizados

em um pool para servir múltiplos usuários usando um modelo multi-tenant ou

multiinquilino, com diferentes recursos físicos e virtuais, dinamicamente

atribuídos e ajustados de acordo com a demanda dos usuários.

Elasticidade rápida: aqui, os recursos são adquiridos quase que automaticamente.

Para os usuários os recursos para uso parecem ser ilimitados e podem ser a

qualquer momento.

Serviço medido: Sistemas em nuvem automaticamente controlam e otimizam o

uso de recursos por meio de uma capacidade de medição. O uso de recursos

pode ser monitorado e controlado, possibilitando transparência para o provedor e

o usuário do serviço utilizado.

3.2 Modelos de Serviço

São três camadas que mostram como os serviços de TI podem ser ofertados e comprados

sob o modelo de computação em nuvem:

Page 3: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

Figura 2. Camadas de Serviços nas Nuvens

IaaS (Infrastructure as a Service ou Infra-estrutura como Serviço): quando se

utiliza apenas uma porcentagem de um servidor, geralmente com configuração

que se adeque à sua necessidade. Todos os recursos computacionais estão na

nuvem do provedor. Os recursos, de uma maneira geral, sendo compartilhados,

tendem a ser usados deforma mais eficiente. Onde o usuário paga pelo volume de

utilização. Esse modelo incentiva a criação de ecossistemas que podem gerar

aplicações e serviços complementares a oferta de IaaS.

PaaS (Plataform as a Service ou Plataforma como Serviço): utilizando-se apenas

uma plataforma como um banco de dados, um web-service, etc. (ex.: WindowsAzure). Este

conceito oferece uma plataforma de desenvolvimento de aplicações, ou seja, a

ações como desenvolver, compilar, debugar, deploy e teste em uma aplicação

podem ser executadas na nuvem. A vantagem deste serviço é poupar custos, não

precisar alocar hardware de forma desnecessária e poder escalar dados de forma

simples sem ter que lidar com o ambiente físico diretamente.

SaaS (Software as a Service ou Software como Serviço): consiste no uso de um

software na web (p.ex.: Google Docs , Microsoft Sharepoint Online). O software

é executado em um servidor, onde não é necessário instalar o sistema no

computador do cliente, bastando acessá-lo por meio da internet. Diferente de

como acontece no modelo de software, onde ganha-se pela venda do produto, no

modelo de serviços, é desenvolvida uma solução sem cobrar nada do cliente e

depois ela será disponibilizada na internet para que vários clientes possam

utilizar de seus serviços.

Figura 3. Interações entre os modelos de serviços nas Nuvens

3.3 Modelos de Implementação

Existem diferentes tipos de modelos de implantação para os ambientes de

computação em nuvem que tratam do acesso e da disponibilidade. A restrição ou

Page 4: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

abertura de acesso depende do processo de negócios, do tipo de informação e do nível

de visão desejado.

Nuvem privada: a infra-estrutura de nuvem é utilizada exclusivamente por uma

organização, sendo esta nuvem local ou remota e administrada pela própria

empresa ou por terceiros.

Nuvem pública: a infra-estrutura de nuvem é disponibilizada para o público em

geral, sendo acessado por qualquer usuário que conheça a localização do

serviço.

Nuvem comunidade: fornece uma infra-estrutura compartilhada por uma

comunidade de organizações com interesses em comum.

Nuvem híbrida: a infra-estrutura é uma composição de duas ou mais nuvens, que

podem ser do tipo privada, pública ou comunidade e que continuam a ser

entidades únicas, mas conectadas por meio de tecnologia proprietária ou

padronizada que permite a portabilidade de dados e aplicações.

4. Virtualização

A tecnologia, que realizou uma mudança radical e que transformou os “parques

de computadores” em nuvem foi a virtualização. Comumente denominada de

consolidação de servidores, é uma maneira inteligente e diferenciada de aplicar o

conceito que existe há mais de 40 anos, que consiste em dividir um único sistema

computacional em vários outros conhecidos como máquinas virtuais. Cada máquina

virtual oferece um ambiente completo muito parecido com uma máquina física, e pode

ter seu próprio sistema operacional, aplicativos e serviços de rede (Internet). Há também

a possibilidade de interligar (virtualmente) cada uma dessas máquinas através de

interfaces de redes, switches, roteadores e firewalls virtuais, além do uso já bastante

difundido de VPN (Virtual Private Networks).

Figura 4. Virtualização de Servidores

Portanto, pode-se afirmar que com a virtualização a um melhor proveito dos

recursos da máquina, pois ela possibilita o trabalho em um ambiente onde haja uma

diversidade de plataformas de software (sistemas operacionais) sem ter um aumento no

número de plataformas de hardware (máquinas físicas). E essa vantagem ela é muito

interessante para os data centers por causa da heterogeneidade de plataformas inerente

ao próprio negócio. E ainda, a diminuição de máquinas físicas implica na redução em

até 53% dos custos com hardware e 79% dos custos operacionais, energia elétrica,

cabeamento, refrigeração, suporte e manutenção a vários sistemas, gerando uma

economia média de até 64% para a empresa que adota a solução.

Page 5: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

Pode-se destacar como principais benefícios:

Virtualização de Rede: essa reúne os recursos de computação de uma rede, e

divide a largura de banda disponível em canais independentes, que podem ser

designados para um servidor ou dispositivo em tempo real. Um exemplo disso

são as VPN´s.

Virtualização de Servidores: essa sem dúvida é a mais popular, pois oculta a

natureza física dos recursos de servidores, incluindo processadores, sistemas

operacionais e o software que estão neles. Os servidores do tipo Blade são

menores que os servidores de rack tradicionais e de acordo com a IBM® a

redução de espaço físico pode chegar a 83%, sem contar a economia de energia

que pode ficar em torno de 20% a 40%.

Virtualização de Aplicativos: ela isola os programas do hardware e do sistema

operacional, os encapsulando como objetos móveis independentes que podem

ser deslocados sem afetar os outros sistemas. As tecnologias de virtualização de

aplicativos reduzem as alterações relacionadas a aplicativos no sistema

operacional fazendo com que a administração seja em muito simplificada. Outra

vantagem da virtualização de aplicativos é a possibilidade de se montar uma

infra-estrutura para os usuários com terminais do tipo Thin Client. que são

compostos por uma arquitetura semelhante à de um PC, mas, o servidor é o

responsável pelo armazenamento e pelo processamento de memória. Em média,

um Thin Client consome apenas 20% da energia de um PC, o que por si só gera

inúmeros benefícios ao meio ambiente.

5. SGBDs nas Nuvens

Os SGBDs são fortes candidatos a serem implementados em nuvem, pois suas

instalações são muito complexas e envolvem muitos dados, aumentando o custo com

hardware e software. Porém existe uma grande complexidade envolvida com os

serviços de dados que possam escalar quando é necessário garantir operações

consistentes e confiáveis considerando cargas de trabalho máximas. Desafios como

consistência e segurança dos dados são importantes para a computação em nuvem e

acredita-se que futuras aplicações centradas em dados irão alavancar os serviços de

dados em nuvem.

5.1 Gerenciamento de Dados nas Nuvens

A infra-estrutura de SGBDs em nuvem possui diversas vantagens para os

usuários: previsibilidade e custos mais baixos, complexidade técnica reduzida,

elasticidade e escalabilidade. Por outro lado, o provedor tem que garantir a ilusão de

recursos infinitos e minimizar os custos operacionais associados a cada usuário.

Esta gerência de dados em Nuvem fornece uma grande chance de se explorar a

economia em escala, balanceamento dinâmico de carga e gerenciamento de energia.

O aumento no número de abordagens disponíveis de SGBDs em nuvem agrava o

problema da escolha, implantação e soluções de administração para a gestão de dados.

Com isso, os SGBDs em nuvem estão sendo disponibilizados como serviços, que

encapsulam a complexidade do gerenciamento por meio de formas de acesso simples e

garantias de acordos de nível de serviço.

O gerenciamento de dados em nuvem pode ser organizado em duas classes de

sistemas:

Page 6: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

para apoiar aplicações com muitas atualizações

para analises dos dados e suporte a decisão.

Uma característica essencial no ambiente de nuvem é o gerenciamento

autônomo. Hardware e software dentro de nuvens podem ser automaticamente

reconfigurados, orquestrados e estas modificações são apresentadas ao usuário como

uma imagem única. É possível identificar três diferenças em comparação com os

sistemas tradicionais: intervenção humana limitada, alta alternância na carga de trabalho

e uma variedade de infra-estrutura compartilhadas.

As técnicas de virtualização tem se tornando populares para a implantação destes

sistemas e de outros sistemas de software. Em [Soror et al. 2010] é mostrado um estudo

sobre a sobrecarga de executar SGBDs em ambientes com máquinas virtuais. O estudo

diz que como a virtualização não causa sobrecarga para chamadas de sistema,

tratamento de falta de páginas e operação de E/S no disco a execução, não há um alto

custo de desempenho. Chamadas de sistema e falta de páginas representam uma

pequena fração no tempo de execução de uma consulta. Já as operações de E/S no disco

correspondem a uma fração maior do tempo, nada que comprometa muito o sistema. Os

resultados apresentados mostram que a sobrecarga média é menor do que 10%.

Figura 5. Características do Gerenciamento de dados

5.1.1 Armazenamento e Processamento de Consultas

Existem diversas formas de se gerenciar dados em nuvem e cada uma utiliza

uma abordagem específica para persistir os dados. Dentre as abordagens existentes,

podemos citar os novos sistemas de arquivos, frameworks e propostas para o

armazenamento e processamento de dados.

GFS (Google File System): sistema de arquivos distribuídos proprietário, ele

fornece um acesso mais eficiente e confiável aos dados usando grandes clusters de

servidores.

HDFS (Hadoop File System): inspirado no GFS, projeto de código livre,

armazena grandes arquivos em grandes servidores e obtém a confiabilidade através da

replicação de dados.

Algumas propostas para armazenamento e processamento utilizam a estrutura

chave-valor em uma DHT (Distributed Hash Table). Algumas através de colunas ou

arrays multidimensionais e outras gerenciam os dados de tal sorte a refletir a estrutura

de um documento ou tratam os dados na forma de grafos.

Page 7: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

5.1.2 Transações

São muito importantes em ambientes centralizados e distribuídos. É necessário

utilizar protocolos de replicação de dados, terminação distribuída e sincronização de

acesso por conta da natureza compartilhada de recursos.

O teorema CAP (Consistency, Availibility, Partition Tolerance) mostra que os

sistemas distribuídos não podem assegurar as seguintes propriedades simultaneamente:

Consistência: todos os nós tem a mesma visão dos dados ao mesmo tempo.

Disponibilidade: falhas em nós não impedem os demais nós de operando.

Tolerância a partições: o sistema operar mesmo com a perda de mensagens.

O teorema tornou-se um modelo popular. Ele pode apenas suportar duas

propriedades ao mesmo tempo. Quando ocorrer uma falha de rede, é necessário escolher

qual propriedade torna-se mais importante.

5.1.3 Escalabilidade e Desempenho

A nuvem é composta por uma enorme rede de máquinas que necessita ser

escalável. E esta escalabilidade deve ser transparente para os usuários, podendo estes

armazenar seus dados na nuvem sem a necessidade de saber a localização dos dados ou

a forma de acesso.

É possível identificar duas dimensões de escalabilidade:

Vertical: melhora-se a capacidade do hardware, incrementando

individualmente os nós existentes.

Horizontal: adicionar mais máquinas à solução atual de tal modo que seja

possível distribuir as requisições entre estas máquinas. De qualquer

forma, é necessário um planejamento mais específico.

Em relação ao desempenho, as soluções de gerenciamento de dados em nuvem

devem lidar com problemas de tempo de resposta, em virtude das diferentes tecnologias

e heterogeneidade do hardware utilizado, o que pode influenciar o desempenho.

5.1.4 Tolerância a Falhas e Distribuição de Dados

As nuvens são construídas em hardware de baixo custo e com a suposição de

que elas podem falhar. Para tratar as falhas, existem soluções como DHT, que facilita a

fragmentação dos dados. Por meio da fragmentação dos dados é possível melhorar a

disponibilidade e distribuir a carga, tanto para operações de escrita quanto de leitura. Se

apenas uma máquina falhar, os dados pertencentes a essa máquina são afetados, mas

não o armazenamento de dados como um todo.

Quanto ao processo de replicação, novas réplicas podem sem criadas

rapidamente através de máquinas virtuais. Isso permite manter muitas réplicas por

máquina, reduzindo a quantidade total de armazenamento e os custos associados.

5.2 Classificação dos Sistemas de Gerenciamento de Dados nas Nuvens

Existem vários SGBDs em nuvem, com características e propósitos específicos.

Para tornar mais simples a compreensão pode ser feita uma classificação com base nos

parâmetros:

modelo relacional: se refere à utilização do modelo relacional pelo

sistema

nativo para nuvem: está relacionado ao processo de construção do

sistema, foi concebido para atender as necessidades da computação em

nuvem

Page 8: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

Figura 6. Classificação dos SGBDs nas Nuvens

5.3 Sistemas para Gerenciamento de Dados em Nuvem

Existem muitos SGBDs em nuvem, os principais são:

Microsoft SQL Azure

Amazon S3/SimpleDB

Bigtable/Google App Engine

datastore

CouchDB

Cassandra

Relational Cloud

6. Processo de Compilação nas Nuvens

O sistema de computação em nuvem pode ser dividido em duas seções:

front end: é a parte do cliente, o lado do usuário, que compreende a

aplicação que será utilizada para acessar o sistema de computação em

nuvem.

back end: é a seção da computação em nuvem, ela compreende

computadores, servidores que são responsável pela criação da nuvem.

A sua conexão acontece por uma rede, que pode ser a internet.

Figura 7. Front-end e Back-en

A Compilação nas nuvens trata de um conjunto de linguagens de compiladores

virtualizadas que fornecem uma compilação virtual com todos os benefícios da

Page 9: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

computação nas nuvens, incluindo o baixo custo, melhorando a eficiência, e

aumentando o controle do sistema. Os compiladores são os responsáveis por fazer o

processo de tradução de códigos produzidos em sistemas computacionais para uma

linguagem entendível para uma máquina, como por exemplo: uma consulta de um

banco de dados que é realizada através de uma query que efetua uma determinada

operação desejada, esse processo envolve a tradução do código de consulta em um

código compreendido pela arquitetura que efetuará sua execução. Essa mesma etapa é

adotada em todos os outros tipos de códigos que necessitam de uma interpretação.

O uso dos compiladores nas nuvens é visto hoje como uma ótima contribuição

para a sustentabilidade, trazendo uma gama de benefícios as empresas ou organizações

que adotam o modelo, pois além dela substituir o papel de um compilador comum, ela

suporta as tecnologias atuais de segurança como TLS, SSL, VPN e PassTickets. E ainda

está disponível para a maioria das versões de COBOL, PL/1, Fortran e C++.

Isto mostra que assim como um compilador, a computação em nuvem permite a

implementação e utilização em qualquer plataforma, pois somente é necessária a

alteração de uma das partes, o front end, ou o back end. Sendo assim, sua solução

manterá suas funcionalidades sem comprometer as partes internas envolvidas, tornando

mais simples, já que feito uma alteração seu código todo será readaptado.

7. Caso de Sucesso – FUNDAÇÃO BRADESCO

“A ideia era consolidar, dentro de um único data center, atividades relativas a

processos administrativos e pedagógico-educacionais de uma rede de 40 escolas, com

110 mil alunos presenciais e quase 500 mil estudantes à distância”, afirma o

Superintendente Executivo Técnico-Administrativo da Fundação Bradesco, Nivaldo

Marcusso.

Com a virtualização e o novo gerenciamento de documentos, os prontuários dos

alunos que eram acumulados por 50 anos, agora podem ser acessados em tempo real, as

aulas são realizadas num ambiente mais sólido e o gerenciamento centralizado do

ambiente permite que a equipe da instituição se concentre em tarefas estratégias.

Em médio prazo, a meta da empresa era virtualizar todos os servidores e

eliminar o uso de papel nos processos.

8. Considerações Finais

Espera-se que num tempo não muito distante a realidade da TI verde estará

presente de forma um consistente em todos os segmentos que necessitam de TI e estes

estarão focados em oferecer uma série de novos produtos e serviços com maior

eficiência energética, fazendo com que novas oportunidades de negócios surjam.

A evolução da Tecnologia da Informação precisa estar inserida dentro de

práticas sustentáveis sem agredir o meio ambiente. As novas possibilidades de infra-

estruturas podem referenciar investimentos baseados na sustentabilidade.

Finalmente, com o crescimento da computação como serviço, as empresas

poderão oferecer seus produtos (serviços) através da internet. Muitas empresas já

apresentam suas iniciativas para utilização da computação em nuvem. A comunidade

científica também tem apresentado algumas iniciativas, principalmente com foco em

suas necessidades.

Page 10: Ti Verde - Uma Abordagem de Tecnologias Nas Nuves

9. Referências

Sousa, Flávio R. C. et al. (2010). “Gerenciamento de Dados em Nuvem: Conceitos,

Sistemas e Desafios”. Universidade Federal do Ceará (UFC). Disponível em:

http://www.es.ufc.br/~flavio/files/Gerenciamento_Dados_Nuvem.pdf. Acesso em:

07/05/2011.

Silva, Manoel et al. (2010). “TI Verde – Princípios e Práticas Sustentáveis para

Aplicação em Universidades”. Simpósio Brasileiro de Sistemas Elétricos. Disponível

em: http://www.labplan.ufsc.br/congressos/III%20SBSE%20-%202010/PDF/SBSE2010-

0085.PDF. Acesso em: 28/04/2011.

Info Blog (2010). “Virtualização, quatro casos de sucesso no Brasil”. Disponível em:

http://www.tripletech.com.br/blog/2010/01/11/virtualizacao-quatro-casos-de-sucesso-

no-brasil/. Acesso em 16/05/2011.

Cloud Compiling (2010). “Extend the Benefits of Cloud Compling to System z/OS”.

Disponível em: http://www.cloudcompiling.com/faq.html. Acesso em 17/05/2011.