proposta de uma plataforma de cloud computing …
TRANSCRIPT
UNIVERSIDADE DO SUL DE SANTA CATARINA
RAFAEL WEINGARTNER
PROPOSTA DE UMA PLATAFORMA DE CLOUD COMPUTING PARA
VIRTUALIZAÇÃO DE COMPUTADORES
Palhoça
2011
RAFAEL WEINGARTNER
PROPOSTA DE UMA PLATAFORMA DE CLOUD COMPUTING PARA
VIRTUALIZACAO DE COMPUTADORE
Trabalho de Conclusão de Curso apresentado ao Cursode Graduação em Sistemas de Informação daUniversidade do Sul de Santa Catarina, como requisitoparcial à obtenção do título de Bacharel em Sistemas deInformação.
Orientador: Prof. Dr. Fernando Cerutti
Palhoça
2011
RAFAEL WEINGARTNER
PROPOSTA DE UMA PLATAFORMA DE CLOUD COMPUTING PARA
VIRTUALIZACAO DE COMPUTADORES
Este Trabalho de Conclusão de Curso foi julgadoadequado à obtenção do título de Bacharel em Sistemasde Informação e aprovado em sua forma final peloCurso de Graduação em Sistemas de Informação daUniversidade do Sul de Santa Catarina.
Palhoça, 21 de Novembro de 2011.
______________________________________________________Professor e orientador Fernando Cerutti, Dr.
Universidade do Sul de Santa Catarina
______________________________________________________Theo Augustus Luz.
Universidade do Sul de Santa Catarina
______________________________________________________Prof. Saulo Popov Zambiasi, Me.
Universidade do Sul de Santa Catarina
“There is no reason anyone would want a computer in their home.” (Ken Olson).
RESUMO
O trabalho apresenta os conceitos de Cloud Computing e virtualização
relacionando-os com o fornecimento de recursos de infraestrutura computacionais sobre
demanda. Demonstrando para os usuários o modo como são providos recursos
computacionais através de uma plataforma de Cloud Computing. Descreve as plataformas
mais utilizadas no mercado e a plataforma de Cloud Computing da IBM que faz uso da
arquitetura mainframe. Apresentando os benefícios em termos de escalabilidade,
flexibilidade, segurança e economia obtidos com a utilização de Cloud Computing.
Apresentando a relação entre mainframe e Cloud Computing, de modo que essa combinação
possa ser considerada uma das melhores plataformas provedora de recursos computacionais
sobre demanda. Proporcionado a utilização de ambientes com todas as características
(segurança, disponibilidade, estabilidade e escalabilidade) que o mainframe já esta
acostumado a prover. E por fim afirmando que o fornecimento de recursos computacionais
sobre demanda possui muitos benefícios e cada vez mais será adotada pelas empresas e
usuários. Sendo que o mais importando sobre Cloud é que ela foca-se no modo como são
providos e utilizados os recursos computacionais, e não em onde eles estão alocados.
Provendo liberdade aos usuários de modo que esses possam inovar em suas soluções sem ter
que preocupar-se com a infraestrutura computacional.
Palavras-chave: Mainframe. Cloud Computing. Virtualização.
ABSTRACT
The current computing model is becoming hardier to support. Almost every time
when you need more computing resources (processor, memory or hard-disk) you have to
change the entire computer, because you cannot change just one component. Those
components become outdated in a fast way (normally 6 months or 1 year). In most of the
cases the users (end users and companies) are forced to buy hardware that they do not need
most of the time, because they cannot upgrade the computer capacity on the fly.
The best way to do computing is having the required resources at the right time
and place. As an example, I do not need 200GB of hard-disk to save my files, today I may
need 100GB, tomorrow 150 GB and later 200GB. In the future if I do not need 200GB, I
could decrease the storage capacity to 150GB or 100 GB, it also could be done with
processors and memory. Using just the resources needed, means spending less, managing and
maintaining resources that are not totally used.
Using on demand computing, the users do not care about hardware and software
management and maintenance. Avoiding the hardware and basic software such as operational
systems and default apps management the users and companies can focus on innovation.
Cloud computing enables users to have the needed resources everywhere and every time
through a simple device, because of that the resources are provided by Internet or corporate
networks.
Today there are technologies that can provide on demand computers resources, in
secure, reliable, and cost effective ways. Users should have in their minds that cloud
computing is a new computing paradigm, delivering on demand computer resources through
networks. And the Mainframe came to this scenario as one of the best platforms to apply the
cloud computing concepts building a secure, reliable and cost effective cloud. The Mainframe
architecture fits perfectly to support the cloud needs.
Keywords, Cloud Computing. Mainframe. Virtualization.
LISTA DE ILUSTRAÇÕES
Figura 1 – Sistema multiprocessador. ......................................................................................24
Figura 2 - Sistema multicomputador. .......................................................................................25
Figura 3 - Arquitetura NUMA..................................................................................................28
Figura 4 – Cluster. ....................................................................................................................29
Figura 5 – Sistema operacional de rede Peer-To-Peer. ............................................................30
Figura 6 – Sistema Web Distribuído. .......................................................................................32
Figura 7 - Virtualização de Sistema Operacional. ....................................................................33
Figura 8 - Hosted hypervisor. ...................................................................................................34
Figura 9 – Bare metal hypervisor. ............................................................................................35
Figura 10 – Hardware partitioning. ..........................................................................................35
Figura 11 – Private Cloud. .......................................................................................................38
Figura 12 – Community Cloud. ................................................................................................39
Figura 13 – Public Cloud. ........................................................................................................40
Figura 14 – Hybrid Cloud.........................................................................................................40
Figura 15 – Percepção de Cloud Computing pelo usuário. ......................................................45
Figura 16 – Comparação: variação tempo de resposta por quantidade máquinas virtuais.......74
Figura 17 – Comparativo: quantidade transações suporta por nuvem......................................75
LISTA DE QUADROS
Quadro 1 – Preocupação dos consumidores em relação à segurança na nuvem. .....................46
Quadro 2 – VMware, recursos disponíveis para máquina virtual. ...........................................49
Quadro 3 - VMware, recursos disponíveis para servidor host. ................................................49
Quadro 4 – VMware, recursos disponíveis por cluster. ...........................................................50
Quadro 5 - Microsoft, recursos disponíveis para máquina virtual. ..........................................54
Quadro 6 - Microsoft, recursos disponíveis para servidor host. ...............................................55
Quadro 7 – Microsoft, recursos disponíveis por cluster...........................................................55
Quadro 8 – Xen Cloud Platform, recursos disponíveis para máquina virtual. .........................59
Quadro 9 – Xen cloud Platform, recursos disponíveis para servidor host. ..............................60
Quadro 10 – Xen Cloud Platform, recursos disponíveis para nuvem. .....................................60
Quadro 11 – IBM System Z, recursos por host. .......................................................................65
Quadro 12 - IBM System Z, recursos de servidores Blades no mainframe. ............................65
LISTA DE FLUXOGRAMAS
Fluxograma 1 - Etapas Metodológicas. ....................................................................................43
SUMÁRIO
1 INTRODUÇÃO.................................................................................................................13
1.1 PROBLEMÁTICA ..........................................................................................................15
1.2 OBJETIVOS ....................................................................................................................16
1.2.1 Objetivos Gerais ..........................................................................................................17
1.2.2 Objetivos Específicos...................................................................................................17
1.3 JUSTIFICATIVA ............................................................................................................17
1.4 ESTRUTURA DA MONOGRAFIA ...............................................................................18
2 FUNDAMENTAÇÃO TEÓRICA...................................................................................20
2.1 MODELO COMPUTACIONAL DE RECURSOS FÍSICOS.........................................20
2.1.1 Sistemas Fortemente Acoplados ................................................................................27
2.1.2 Sistemas Fracamente Acoplados................................................................................29
2.2 MODELO COMPUTACIONAL DE RECURSOS VIRTUALIZADOS........................32
2.3 MODELO COMPUTACIONAL DE RECURSOS SOB DEMANDA...........................36
2.3.1 Características de Cloud Computing ........................................................................36
2.3.2 Modelos de fornecimento recursos na nuvem...........................................................37
2.3.3 Modelos de aplicação do conceito de Cloud Computing .........................................38
3 METODOLOGIA.............................................................................................................41
3.1 CARACTERIZAÇÃO DO TIPO DA PESQUISA..........................................................41
3.2 ETAPAS METODOLÓGICAS .......................................................................................42
3.3 DELIMITAÇÕES ............................................................................................................44
4 DIFICULDADE DE APLICAÇÃO DE CLOUD COMPUTING................................45
5 DESCRIÇÃO DAS PLATAFORMAS QUE APLICAM CLOUD COMPUTING....48
5.1 SOLUÇÕES COM ARQUITETURA DE SERVIDORES (X86, AMD64) ...................48
5.1.1 VMware........................................................................................................................48
5.1.2 Microsoft ......................................................................................................................54
5.1.3 Xen................................................................................................................................59
5.2 SOLUÇÃO MAINFRAME .............................................................................................64
6 MAINFRAME E CLOUD COMPUTING .....................................................................71
7 CONCLUSÕES E TRABALHOS FUTUROS...............................................................76
REFERÊNCIAS .....................................................................................................................78
13
1 INTRODUÇÃO
O modelo computacional utilizado hoje pela grande maioria das empresas e quase
totalidade dos usuários domésticos está se tornando inviável. Esse modelo obriga os usuários
a realizarem a troca de todo o conjunto de hardware do computador, quando surge a
necessidade de uma capacidade computacional maior. Visto que nem sempre é possível
substituir somente o processador ou aumentar a capacidade de memória RAM (Random
Access Memory) comprando mais chips, obrigando a troca de todo o conjunto de hardware
(processador, placa mãe, memória RAM, placas de vídeo e etc.), pois esses componentes se
tornam obsoletos rapidamente.
O interessante seria um “computador flexível”, que possibilitasse a alteração dos
recursos disponíveis de forma prática, durante o período necessário. Afinal, não se necessita
sempre de 500 gigabytes (GB) de espaço para armazenamento de informações. Hoje talvez
seja necessário 100GB, amanhã 120GB, depois, 150GB e assim por diante. Quando esses
recursos não forem mais necessários, seria possível reduzir a quantidade dos recursos
disponíveis, reduzindo também os custos.
Porém, no modelo computacional atual, adquire-se um hardware com a filosofia
de pensar no futuro, ou seja, adquire-se, hoje, recursos que somente serão necessários no
futuro. Adquirir um hardware que não será totalmente aproveitado é uma ação corriqueira na
área de Tecnologia da Informação (T.I) de hoje. O simples ato de comprar ou adicionar mais
recursos computacionais representa grandes custos para os usuários domésticos e
principalmente para as empresas. Visto que na maioria das vezes não há a real necessidade de
adquirir uma maior quantidade de recursos. Sendo assim, o ideal seria obter a quantidade de
recursos necessários para realizar as tarefas no tempo desejado.
Para reduzir a complexidade de expansão dos recursos computacionais, uma
abordagem utilizada é a virtualização. No conceito de virtualização. Desvincula-se o
“computador” do hardware. Assim, flexibilizam-se as configurações dos computadores que
passam a ser virtuais e não físicos. Computadores virtuais por não estarem atrelados ao
hardware podem fornecer recursos sob demanda, ou seja, conforme as necessidades por mais
recursos que surgirem, sem necessariamente ter que alterar as configurações de hardware
fisicamente.
De acordo com Golden e Scheffy (2008), o uso atual dos recursos de hardware
está entre 10% a 15% dos recursos de que eles dispõem. Tem-se 85% ou 90% dos recursos de
14
hardware sendo subutilizados. Transformando computadores físicos em virtuais de modo que
compartilhem dos recursos de hardware consegue-se:
racionalizar a utilização dos recursos físicos disponíveis;
reduzir a complexidade de manutenção; despesas com gerenciamento e energia
para alimentação e resfriamento dos servidores ou computadores físicos;
aumentar a segurança e controle, visto que os computadores passam a ser
concentrados em um ambiente regido por severas políticas de controle.
Virtualizar é preciso, mas não somente virtualizar, transformar computadores
físicos em virtuais e agregá-los em um único servidor comum, pode ser representar um risco
extremo, pois perde-se em diversos aspectos, como::
confiabilidade – Se ocorrer alguma falha no servidor, todos os servidores
virtuais sobre ele rodando ficarão indisponíveis até que o problema seja
resolvido;
estabilidade - Se todos os servidores virtuais utilizarem o máximo de recursos
que lhes é disponibilizado, haverá períodos de lentidão, pois o servidor físico
não possui capacidade para atender a demanda de todos os computadores
virtuais simultaneamente;
escalabilidade - Por se tratar de um único servidor, pode ser que ele não possua
mais capacidade para expansão de recursos ou então os componentes
necessários para essa expansão podem possuir uma relação custo/benefício
muito alta. Custo muito elevado para o benefício ou benefício muito baixo para
o investimento.
Para que seja criado um ambiente de virtualização confiável, escalável e seguro,
faz-se necessário a utilização do conceito de Cloud Computing, um ambiente que possibilite
disponibilizar recursos computacionais de forma não centralizada sobre demanda.
Os recursos de hardware devem estar distribuídos em diversos servidores, sendo
assim, a estrutura criada torna-se confiável e tolerante a falhas. Se um ou mais servidores que
compõem a nuvem de recursos sofrer alguma avaria, a rede como um todo não é afetada. Os
sistemas que estão utilizando recursos da nuvem computacional continuam sem perceber que
um ou mais servidores estão com problemas. E como a nuvem de recursos é constituída por
diversos servidores, é possível realizar o balanceamento de carga entre os mesmos, evitando
15
sobrecargas em servidores específicos, o que poderia gerar períodos de instabilidade nos
computadores virtuais que estão utilizando os recursos desses servidores.
O modelo de Cloud Computing proporciona uma escalabilidade que não é
encontrada em nenhum outro modelo, pois, quando se faz necessário aumentar os recursos de
hardware, pode ser feito, sem a necessidade de parar os serviços, adicionando um ou mais
servidores à rede que compõem a nuvem, no momento que esses entram na rede passam a
prover os seus recursos para as aplicações da nuvem computacional.
Como dito por Paul Maritz Chief Executive Officer (CEO) da VMware, no
VMware Virtualization Forum realizado em 2010 - “Cloud is about how you do computing,
not where you do computing”. Nuvem (computação nas nuvens) diz respeito em como você
utiliza e disponibiliza os recursos computacionais e não onde eles estão alocados.
1.1 PROBLEMÁTICA
A solução para otimização do o modelo físico computacional que hoje é utilizado
pelos usuários finais e boa parte das empresas já existe, que é uma plataforma de
fornecimento de infraestrutura de forma descentralizada como serviço (Infrastructure As A
Service - IAAS). Com a utilização deste modo de disponibilização de recursos, é possível
fornecer recursos de hardware sobre demanda.
As respostas para a não adoção desse modelo de fornecimento de recursos
computacionais são em suas maiorias desconexas com a realidade atual das ferramentas
existentes, muitas pessoas (não somente leigos, mas pessoas ligadas à área de T.I.) fazem uso
desses argumentos para rejeição do modelo de fornecimento de recursos computacionais
sobre demanda:
há uma preocupação com os recursos computacionais, imagina-se que os
recursos estariam centralizados em um servidor comum (tipo de servidor que a
maioria das empresas utilizam, não possuem nenhuma ou pouca tolerância à
falha, e sua arquitetura acaba por sobrecarregar os processadores centrais,
obrigando-os a realizar todo o gerenciamento dos recursos e interações com o
mundo exterior), como consequência, temem que, se algo acontecer nesse
16
servidor, uma grande quantidade de computadores virtuais poderia ficar fora do
ar;
temem que uma nuvem computacional fornecendo recursos sob demanda não
seja capaz de proporcionar todos os recursos que são necessários para a
realização de suas tarefas;
especulam que há um grande risco, visto que todos os seus dados se
concentrariam em um mesmo ambiente, o que poderia facilitar para alguém
mal intencionado apoderar-se de informações armazenadas em seus
computadores virtuais;
alto custo, imaginando que a compra de personal computer (PC) com um
hardware que eles realmente não necessitam no momento da compra é mais
vantajoso e simples do que adotar ao modelo de fornecimento de recursos de
infraestrutura sob demanda.
O que pode ser percebido é a falta de informações sobre o funcionamento de um
modelo de fornecimento de infraestrutura sobre demanda de forma descentralizada
(Infrastructure As A Service – IAAS). O grande desafio é demonstrar o quão vantajoso é
utilizar este modelo, em detrimento do atual modelo computacional e demonstrar que a
plataforma Mainframe pode ser uma das melhores escolhas para a criação de uma nuvem para
virtualização de computadores.
1.2 OBJETIVOS
Objetivos a serem cumpridos com o desenvolvimento deste trabalho estão
separados em duas categorias: Objetivos gerais a serem alcançados com a finalização do
trabalho e os objetivos específicos que serão alcançados durante o desenvolvimento do
trabalho.
17
1.2.1 Objetivos Gerais
Os objetivos gerais são explicar o modo de utilização e de aplicação de Cloud
Computing, demonstrando as vantagens e desvantagens da adoção desse conceito para a
virtualização de computadores, utilizando o modelo IAAS para fornecimento de recursos de
hardware sobre demanda.
1.2.2 Objetivos Específicos
Os objetivos específicos a serem alcançados com o desenvolvimento do trabalho
são:
a) adquirir conhecimentos sobre virtualização em um ambiente que forneça
recursos computacionais de forma descentralizada sobre demanda;
b) conhecer as melhores plataformas de virtualização para aplicação de Cloud
Computing;
c) demonstrar que um conceito antigo pode ser utilizado através de um novo
ponto de vista, para a criação de uma plataforma de Cloud Computing para
virtualização de computadores (utilização de mainframes como base para a
criação de uma nuvem provedora de recursos computacionais sob demanda).
1.3 JUSTIFICATIVA
O modelo Cloud Computing representa a quebra de um paradigma, em que o
usuário deixará de possuir computadores físicos, que, para possuírem alta capacidade de
processamento, são em sua maioria estações de trabalho PC, sendo que os recursos por eles
providos somente estão disponíveis no local onde o computador se encontra. Consomem uma
quantidade considerável de energia por causa de seu hardware superior que acaba sendo
18
subutilizado e, se for necessário expandir, os recursos de hardware pode-se ter que trocar todo
o conjunto por não existir mais capacidade de expansão ou não forem mais encontrados
componentes para a expansão.
A utilização do modelo de fornecimento de recursos de infraestrutura sob
demanda é mais do que necessário, é essencial. O atual modelo é impraticável para as
organizações e usuários. Segundo Greggo (2010), todos os anos são gastos bilhões de dólares,
em hardware que não é realmente necessário, gerenciamento, manutenção e energia para
alimentação e resfriamento. Esse modelo possui um custo de manutenção altíssimo, mas esse
não é o ponto mais critico, temos o impacto ambiental, não somente com a fabricação de
hardware, mas também com a grande quantidade de energia consumida por hardware ocioso
e para a sua refrigeração levando em consideração que nem todos os países geram energia a
partir de fontes renováveis.
A adoção do modelo de Cloud Computing para virtualização de computadores já é
realidade. Existem hardware e software capazes de proporcionar uma plataforma para
virtualização de forma descentralizada, segura, confiável, estável e escalável.
O Mainframe vem como um facilitador para a criação de um ambiente que
possibilite o fornecimento de recursos computacionais sob demanda, não somente por possuir
uma grande quantidade de recursos computacionais, mas pelos benefícios proporcionados
pela sua arquitetura. O modo como ele gerencia e processa as informações se diferencia das
demais arquiteturas computacionais existentes. Composto por diversas unidades especialistas
em cargas de trabalho como Linux, Java, acesso a disco, criptografia e etc, interligadas via
memória principal.
O novo paradigma computacional é a disponibilização dos recursos necessários no
momento e local onde forem requisitados.
1.4 ESTRUTURA DA MONOGRAFIA
Estrutura que compõe a monografia:
a) capítulo 1 – Introdução: apresenta os assuntos que serão abordados no trabalho,
problemática, objetivos e justificativa;
19
b) capítulo 2 – Fundamentação teórica: fundamentar teoricamente os conceitos
que serão abordados no trabalho;
c) capítulo 3 – Metodologia utilizada para o desenvolvimento do trabalho e
elaboração da proposta Cloud Computing para virtualização de computadores.
d) capítulo 4 – Apresentação dos problemas encontrados para a aplicação do
conceito de Cloud Computing;
e) capítulo 5 – Descrição das plataformas de Cloud Computing mais utilizadas e
conhecidas, apresentação de recursos e limitações das plataformas e casos de
aplicação bem sucedidos dessas plataformas, de modo que seja possível utilizar
essas informações para comparação das plataformas;
f) capítulo 6 – apresentar as características que fazem da arquitetura mainframe
ser tão superior as outras para aplicação de Cloud Computing. Demostrar a
relação entre Mainframe e Cloud Computing. Propor a utilização da plataforma
mainframe para o fornecimento de recursos computacionais sob demanda.
g) capítulo 7 – apresenta as conclusões obtidas com o desenvolvimento do
trabalho, explicitado o as vantagens da utilização de recursos computacionais
sob demanda. Sendo a plataforma Mainframe considerada uma das melhores
plataformas no mercado para criação de um ambiente que possibilita a
aplicação dos conceitos de Cloud Computing.
20
2 FUNDAMENTAÇÃO TEÓRICA
O modo como são disponibilizados os recursos computacionais para o usuário
pode ser visto através de três diferentes modelos:
a) Físico: o computador e os recursos estão ao alcance do usuário;
b) Virtual: computadores físicos são transformados em virtuais, sendo agregados
em servidores comuns, compartilhando os recursos existentes;
c) Modelo de fornecimento de recursos computacionais sob demanda – Cloud
Computing: disponibiliza os recursos através de uma nuvem computacional de
recursos, provendo a quantidade necessária de recursos no momento e local em
que forem requisitados.
2.1 MODELO COMPUTACIONAL DE RECURSOS FÍSICOS
Conforme Machado e Maia (2004, p. 23):Um sistema computacional é um conjunto de circuitos eletrônicos interligados,formado por processadores, memórias, registradores, barramentos, monitores devídeo, impressoras, mouse, discos magnéticos, além de outros dispositivos, físicos(hardware). Todos esses dispositivos manipulam dados na forma digital, o queproporciona uma maneira confiável de representação e transmissão de dados.
Seguindo essa linha, Tanenbaum (2001) define o computador como um conjunto
interligado de processadores, memórias e dispositivos de entrada e saída de informações.
Esses componentes são interligados por um conjunto de fios paralelos que permitem a
transmissão de dados, endereços e sinais de controles, chamado de barramento.
De acordo com Machado e Maia (2004), o processador é definido como a unidade
central de processamento (UCP), componente responsável por gerenciar as operações
realizadas por cada unidade funcional. A principal atividade do processador é executar as
instruções que estão contidas na memória principal, realizando operações básicas como:
somar, subtrair, comparar e movimentar dados. O processador é composto por unidade de
controle, unidade lógica e aritmética e registradores, como:
21
a) unidade de controle (UC): é o componente responsável por gerenciar as
atividades de todos os componentes do computador, como gravação de dados
em disco, ou busca de instruções na memória;
b) unidade lógica e aritmética (ULA): é responsável por realizar operações
aritméticas (somas e subtrações) e lógicas (testes e comparações);
c) registradores: dispositivo que detém a função de armazenar informações
temporariamente para as operações que estão sendo realizadas pelo
processador.
Segundo Monteiro (1996), a memória é o componente computacional que detém a
função de armazenar as informações que são, foram ou serão utilizadas pelo sistema.
Tanenbaum (2001) divide o componente de memória do computar em três tipos:
a) memória principal: é o local onde são armazenados as instruções e dados
que serão utilizados pelo processador. A memória é composta por células,
sendo que cada célula possui um determinado número de bits. O bit é a unidade
básica de memória, podendo assumir valor lógico 0 ou 1. Esse tipo de memória
é classificada de acordo com sua volatilidade, que é a capacidade que a
memória possui de armazenar dados sem uma fonte de energia ativa, memórias
do tipo Random Access Memory (RAM) são voláteis, não preservam as
informações nelas contidas sem uma fonte de energia ativa;
b) memória cache: é um tipo de memória volátil de alta velocidade, com
pouca capacidade de armazenamento. O tempo de acesso a um dado que esteja
contido nessa memória é muito menor do que se ele estivesse contido na
memória principal. A memória cache é utilizada para diminuir a diferença entre
o tempo de acesso da memória principal e a velocidade com que o processador
executa as instruções;
c) memória secundária: é o meio permanente de armazenamento de
informação, isto é, não volátil. Enquanto a memória principal e a memória
cache necessitam de uma fonte de energia ativa para preservar as informações,
a memória secundária não o faz necessário. O acesso às informações na
memória secundária é lento se comparado ao acesso de informações na
22
memória principal. Porém, sua capacidade de armazenamento é maior e seu
custo menor. O tempo de acesso na memória principal é na faixa dos
nanosegundos, já o tempo de acesso na memória secundaria é da ordem de
milissegundos.
Segundo Machado e Maia (2004), os dispositivos de entrada e saída são utilizados
para realizar a comunicação entre o sistema computacional e o mundo externo. Através desses
dispositivos, é possível a interação entre usuário e máquina.
Tanenbaum (2001) cita exemplo de dispositivos de entrada e saída como:
impressora, mouse, monitor, teclado scanners e modems. São os dispositivos que fazem à
entrada das informações no computador e a saída de informação para o usuário ou outro
componente, seja apresentando ela visualmente em um monitor, tornando-a física em papel
com uma impressora ou transformando-a em pulso elétrico e a transferindo para outro
dispositivo, como em um modem.
De acordo Murdocca e Heuring (2001), todos os componentes do computador
precisam trocar informações entre si. O barramento é o caminho comum utilizado por todos
os dispositivos para efetuar as trocas de informações.
Morimoto (2006, apud COLOMBO, 2009, p. 14) define servidor como sendo um
computador dedicado que permanece ligado vinte e quatro horas por dia, sete dias por
semana, atendendo a solicitações de uma atividade especifica, como: impressão de arquivos
ou armazenamento e recuperação de informações.
Norton (1996) define mainframes como sendo o maior tipo de computadores em
uso comum, destinando-se para o armazenamento e o processamento de imensas quantidades
de informações simultaneamente. Os mainframes são ligados a terminais que não possuem
capacidade de processamento ou de armazenamento, eles servem somente de interface para
acessar recursos do mainframe, realizando as trocas de informação entre o usuário e os
sistemas. Esse tipo de computadores é utilizado por sistemas que demandam de uma grande
quantidade de recursos computacionais.
Em contra ponto, de acordo com a IBM (2008), mainframe é considerado não
somente um computador com grandes quantidades de recursos, mas uma arquitetura
computacional, composta de diversos subsistemas, em que cada subsistema é especializado
em uma determinada ação, removendo a carga de processamento trivial dos processadores
centrais. Desse modo, os processadores principais ficam totalmente voltados às necessidades
de processamento das aplicações.
23
Sendo que segundo IBM (2008), uma arquitetura pode ser definida como um
conjunto de regras que são utilizadas como instruções para a criação de produtos. Em
computação, arquitetura diz respeito ao modo de como a estrutura de um sistema é
organizada.
De acordo com Machado e Maia (2004), o sistema operacional é um conjunto de
rotinas executadas pelo processador, semelhante aos programas dos usuários. Sua função é de
gerenciar os componentes computacionais, que podem ser dividas em:
a) prover facilidade de acesso aos recursos do sistema: um computador possui
diversos dispositivos diferentes como: monitor, processador, memória, teclado,
mouse, etc., mas, quando o usuário realiza uma atividade sobre o sistema
operacional, ele não de preocupar-se com os detalhes envolvidos na
comunicação dos mais diferentes dispositivos envolvidos. O sistema
operacional serve de interface para o usuário e suas tarefas com o hardware,
tornando, assim, as atividades do usuário mais eficientes, transparentes e
menos suscetíveis a erro;
b) compartilhamento de recursos de forma organizada e protegida: é de
responsabilidade do sistema operacional de gerenciar o compartilhamento dos
recursos de hardware de forma organizada, concorrente e protegida, entre todos
os usuários do sistema e suas aplicações.
Conforme Tanenbaum (2001, p. 315):Embora os computadores estejam cada vez mais velozes, as exigências sobre elescrescem no mínimo mais rápido do que a sua velocidade de operação. Osastrônomos querem simular toda a história do universo, desde o big-bang até o finaldos tempos. A indústria farmacêutica adoraria poder criar remédios para certasdoenças usando computadores, em vez de ser obrigada a sacrificar legiões de ratosno processo de desenvolvimento de novas drogas. Os projetistas de aviões poderiamdesenhar aeronaves que consumissem muito menos combustíveis se oscomputadores pudessem estar presentes em todas as fases do projeto, sem que fossenecessária a construção de protótipos para serem testados em túneis de vento. Emsuma, apesar da imensa potência computacional disponível, ela não é suficiente paramuitas aplicações, especialmente na ciência, na engenharia e na indústria.
Segundo Tanenbaum (2001), devido às dificuldades cada vez maiores de ampliar
a capacidade dos processadores, os projetistas de computadores estão voltados a utilizar o
conceito de computação paralela como forma de solucionar os problemas que envolvam uma
potência computacional cada vez maior. Existem duas filosofias de computação paralela, que
são:
24
a) sistema multiprocessador: todos os processadores desse sistema compartilham
a mesma memória física (memória principal). Dessa maneira, dois processos
podem se comunicar simplesmente lendo ou escrevendo na memória principal.
Simplificando o desenvolvimento de software para esse modelo, já que os
dados estarão na memória que é compartilhada por todos os processadores.
Conforme a Figura 1 apresenta;
Figura 1 – Sistema multiprocessador.Fonte: Tanenbaum (2001, p. 315).
b) sistema multicomputador: cada processador nesse modelo possui sua própria
memória principal, acessível somente ao processador proprietário e nunca
diretamente por outro processador do sistema. A troca de mensagens entre os
processadores é feita através de redes de interconexões. Desse modo, se um
processador necessitar de informações que não estejam na sua memória
principal, ele tem que descobrir qual processador detém essa informação e,
após descoberto, terá que enviar uma mensagem requisitando uma cópia da
informação necessária, dificultando o desenvolvimento de software, pois existe
uma preocupação muito grande sobre onde e quando os dados devem ser
armazenados para diminuir a sobre carga gerada pela troca de mensagem entre
os processadores, conforme é possível visualizar na Figura 2;
25
Figura 2 - Sistema multicomputador.Fonte: Tanenbaum (2001, p. 315).
Machado e Maia (2004) chamam de sistemas fortemente acoplados os sistemas
em que diversos processadores compartilham da mesma memória principal, sendo que todos
os processadores são controlados por um único sistema operacional.
Machado e Maia (2004) ainda classificam de sistemas fracamente acoplados os
que possuem dois ou mais sistemas computacionais independentes, conectados por uma rede
de comunicação, tendo cada um seu processador, memória principal, dispositivos de entrada e
saída de informações e um sistema operacional.
De acordo com Machado e Maia (2004), as principais vantagens para se utilizar
sistemas com múltiplos processadores são:
a) desempenho: sempre que novos processadores são adicionados ao sistema,
melhor será o seu desempenho, mesmo que esse não cresça linearmente. O
ganho com múltiplos processadores pode ser visto em dois níveis. Em primeiro
nível, múltiplos processadores permitem a execução de diversas tarefas
independentes simultaneamente. Servidores web e de banco de dados são um
bom exemplo de ambientes que obtêm ganhos significativos com a utilização
de múltiplos processadores, o aumento do número de processadores permite
atender um número maior de requisições simultaneamente;
26
b) escalabilidade: é a capacidade de adicionar novos processadores ao hardware
do sistema. Em ambientes que suportam apenas um processador, para aumentar
a capacidade computacional, é necessário substituir o processador, por outro
com maior poder de processamento. Com múltiplos processadores, é possível
ampliar a capacidade computacional apenas adicionando mais processadores ao
sistema. Com custo de aquisição inferior à aquisição de outro sistema, Com
desempenho superior, desde que o sistema possua capacidade de expansão.
c) relação custo/desempenho: por mais poderoso que seja um sistema com um
único processador, ele apresenta limitações de desempenho inerentes a sua
arquitetura, devido a limitações existentes na comunicação do processador com
os demais componentes. Além disso, o custo, para se desenvolver um
processador com o desempenho de um sistema com múltiplos processadores, é
maior. A utilização de múltiplos processadores permite a criação de sistemas
com processadores de baixo custo existentes no mercado, interligando-os
através de interconexões. Dessa forma, obtém-se alto desempenho com custo
aceitável.
d) tolerância a falhas: é a capacidade de manter o sistema em operação mesmo em
casos de falha de algum componente. Desse modo, se um processador falhar,
os demais podem assumir sua função de maneira transparente para o usuário e
suas aplicações.
e) disponibilidade: é a medida em número de minutos por ano que o sistema
permanece em funcionamento de forma ininterrupta. Alta disponibilidade só é
possível em sistemas de maior tolerância a falhas.
f) balanceamento de carga: é a distribuição do processamento entre os diversos
componentes que formam a configuração do sistema, a partir da carga do
processador, melhorando assim o desempenho do sistema como um todo.
Machado e Maia (2004) destacam que, apesar das inúmeras vantagens dos
sistemas com múltiplos processadores, existem desvantagens. Com a utilização de diversos
processadores, novos problemas de comunicação e sincronização surgem, pois vários
27
processadores podem estar acessando ao mesmo endereço de memória simultaneamente.
Além do problema de sincronização das informações, existe o problema de organizar os
componentes da melhor forma possível, para estabelecer uma relação custo/beneficio
aceitável. Dependendo do tipo de sistema, a tolerância a falhas é dependente do sistema
operacional e não somente do hardware, sendo difícil de ser implementada.
2.1.1 Sistemas Fortemente Acoplados
De acordo com Machado e Maia (2004, p.249-254):
Os sistemas fortemente acoplados podem ser divididos em sistemas Symmetric
Multiprocessors (SMP) e Non Uniform Memory Access (NUMA).
SMP é o tipo de sistema que possui dois ou mais processadores, compartilhando
um único espaço de endereçamento e gerenciados por apenas um sistema operacional. Uma
das principais características dos sistemas SMP é que o acesso à memória principal pelos
processadores é uniforme, independente da localização física do processador.
Esse tipo de sistema é uma evolução dos sistemas com múltiplos processadores
assimétricos. Na organização assimétrica ou mestre/escravo, somente um processador
realizava as operações do sistema operacional. Se um processador escravo necessitar de uma
operação do sistema operacional, ele requisita essa operação ao processador mestre. Com
grande volume de requisições ao processador mestre, o sistema torna-se ineficiente, já que o
processador escravo ficará esperando a resposta da requisição enviada ao processador mestre.
Outra consequência dos sistemas assimétricos é que, se o processador mestre
falhar, o sistema se torna incapaz de continuar o processamento. Nesse caso, o sistema deve
eleger um novo processador mestre dentre os processadores escravos. Esse tipo de sistema
não é eficaz devido à assimetria dos processadores, que não realizam as mesmas funções.
Os sistemas SMP implementam a simetria dos processadores, ou seja, todos os
processadores podem desempenhar as mesmas funções. Apenas algumas específicas funções
como a inicialização do sistema ficam a cargo de um único processador. Esse tipo de sistema
se torna mais eficaz por permitir um melhor balanceamento de carga entre os processadores.
28
Em contra ponto na definição de Machado e Maia (2004, p.255-258):
Nos sistemas do tipo NUMA, o tempo de acesso à memória principal depende da
localização física do processador. Nessa arquitetura, existem vários conjuntos de memória e
processadores, sendo que todos os conjuntos são interligados, compartilhando o mesmo
sistema operacional e referenciando o mesmo espaço de endereçamento, conforme Figura 3
demonstra.
Figura 3 - Arquitetura NUMA.Fonte: Machado e Maia (2004).
A diferença de um sistema de arquitetura NUMA para um SMP está no acesso à
memória. Quando um processador acessa à memória local, ou seja, à memória pertencente ao
seu conjunto, o tempo de acesso é menor do que o tempo de acesso à memória remota de
outro conjunto. Para esse sistema manter um nível de desempenho satisfatório, deve-se evitar
acessos à memória remota, priorizando os acessos locais.
Nos sistemas de arquitetura NUMA, a memória principal é subdividida entre
vários processadores, porém, compartilhando o mesmo espaço de endereçamento entre todos
os processadores, assim sendo, o acesso a memoria (local ou remota) é transparente aos
processadores, diferenciando apenas o tempo de acesso à memória de acordo com a
localização física da memoria.
29
2.1.2 Sistemas Fracamente Acoplados
Machado e Maia (2004) dividem os sistemas fracamente acoplados em: cluster,
sistemas operacionais de rede e sistemas distribuídos.
Cluster é o sistema formado por nós conectados através de uma rede de
interconexão de alta velocidade dedicada. Cada nó da rede é denominado membro do cluster e
possui seus próprios recursos computacionais.
Cada membro do cluster possui seu próprio espaço de endereçamento e a
comunicação entre os membros se dá por troca de mensagens, utilizando a rede de
interconexão. Todos os membros do cluster utilizam um mesmo sistema operacional por
questões de incompatibilidade na comunicação de diferentes sistemas.
O acesso aos recursos fornecidos pelo cluster é feito atrás de outra rede de
conexão. Quando o usuário acessa a um recurso do cluster, ele não tem o conhecimento da
quantidade de membros e a identificação de cada um. Para o usuário, é como se ele estivesse
acessando a um único sistema fortemente acoplado, característica conhecida como imagem
única do sistema, de acordo com ilustração da Figura 4.
Ao ocorrer uma falha em um dos membros do cluster, outro membro verifica o
problema e assume as suas funções (failover). Após a resolução do problema, o estado inicial
pode ser restaurado (failback). Para que tais procedimentos possam ser executados, as
aplicações devem ser construídas para utilizar os recursos oferecidos pelo cluster. Assim
sendo, se houver uma falha em um dos membros do cluster, outro membro assumirá suas
funções de forma transparente, e para o usuário esses procedimentos serão imperceptíveis.
Figura 4 – Cluster.Fonte: Elaboração do autor, 2011 .
30
Sistemas operacionais de rede (SOR) são os melhores exemplos de sistemas
fracamente acoplados. Cada membro do sistema possui seus próprios recursos
computacionais. Os nós são totalmente independentes dos demais que compõem o sistema,
são conectados por uma rede de comunicação de dados formando uma rede de computadores.
Cada nó é independente dos demais com seu próprio espaço de endereçamento e recursos
computacionais. Os sistemas operacionais utilizados por cada nó não necessitam ser
heterogêneos, bastando somente que os nós utilizem o mesmo protocolo de comunicação.
O usuário tem acesso aos recursos de outros computadores que compõem o
sistema especificando o nome ou endereço do nó onde o recurso é disponibilizado. Assim,
cada estação pode compartilhar seus recursos com a rede. Se algum nó da rede tiver
problemas, os demais componentes podem continuar o seu processamento, apenas não
dispondo dos recursos oferecidos pelo nó problemático. Nessa arquitetura, não existe o
conceito de imagem única de sistema, bem como a tolerância a falhas e a alta disponibilidade
obtida nos sistemas distribuídos.
A maioria dos sistemas SOR implementam o modelo cliente/servidor, criando
uma rede com um ou mais servidores que fornecem serviços, respondendo às solicitações dos
clientes. Exemplo desse modelo são redes locais com servidores de arquivos, servidores de
impressão e servidores de correio eletrônico.
Ainda segundo Brandt(2001), Sistemas operacionais de redes são um conjunto de
módulos que ampliam os sistemas operacionais, complementando-os com funções básicas de
uso geral, tornando transparente o uso de recursos compartilhados. Como exemplo, temos os
sistemas Peer-To-Peer. São sistemas compostos por diferentes sistemas operacionais, todos
provendo recursos à rede através de um protocolo comum. Todos os computadores nesse
sistema são clientes e servidores simultaneamente, conforme Figura 5 apresenta.
Figura 5 – Sistema operacional de rede Peer-To-Peer.Fonte: Elaboração do autor 2011.
31
Sistema distribuído é um conjunto de sistemas autônomos, interconectados por
uma rede de comunicação de modo que represente um sistema fortemente acoplado. Cada
componente do sistema possui seus próprios recursos computacionais, os sistemas
operacionais dos membros não necessitam ser homogêneos.
A principal diferença entre o sistema distribuído e os outros tipos de sistemas
fracamente acoplados é a existência de um relacionamento mais forte entre seus componentes.
De modo que é um sistema fracamente acoplado no aspecto de hardware, mas fortemente
acoplado no ponto do software. Para o usuário é como se fosse um único sistema sem redes de
interconexão, simulando uma imagem única do sistema.
Os componentes do sistema podem ser conectados através de uma rede local ou
uma rede distribuída. O ponto é que a localização dos componentes não importa, bem como as
características físicas da rede. A escalabilidade desse tipo de sistema é teoricamente ilimitada,
porque basta acrescentar novos componentes à rede conforme houver necessidade.
Os sistemas distribuídos permitem que a aplicação seja dividida em diferentes
partes, que se comunicam através de linhas de comunicação, podendo cada parte ser
executada em qualquer processador de qualquer sistema operacional. Para isso, o sistema tem
que oferecer transparência e tolerância a falhas a fim de criar a ideia de imagem única.
Conforme Coulouris et al., (2007), sistema distribuído é aquele em que os
componentes de hardware ou software, localizados em computadores interligados por redes,
comunicam-se e coordenam-se suas ações trocando mensagens entre si.
Tanenbaum et al., (2008) exemplificam a aplicação do conceito de sistema
distribuído como a distribuição da mesma aplicação web em diversos servidores. Os
servidores web podem utilizar diferentes sistemas operacionais e distintas configurações de
hardware, somente necessitando da utilização de um protocolo comum para todas as trocas de
mensagens entre os diversos servidores. Todas as requisições dos clientes passam por um
servidor chamado de Front-End que é responsável por eleger um dos servidores web existente
para atender a requisição, conforme a Figura 6 demonstra. Assim, transparecendo para o
cliente que existe uma imagem única de sistema. Se um servidor falhar, ele simplesmente é
ignorado, e o serviço que é disponibilizado continua seu funcionamento como se nada tivesse
ocorrido, apenas não dispondo mais dos recursos providos pelo servidor afetado.
32
Figura 6 – Sistema Web Distribuído.Fonte: Tanenbaum et al., (2008).
A principal diferença entre os sistemas distribuídos para os sistemas que aplicam
o conceito de cluster, é que em sistemas distribuídos a o conceito de imagem única de sistema
é implementado pelas aplicações, necessitando de um esforço maior das aplicações para o
gerenciamento do sistema como um todo. Enquanto que nos sistemas que aplicam o conceito
de cluster as aplicações não necessitam assumir tais funções, que passam a ser
responsabilidade do sistema operacional, gerenciando toda a infraestrutura de modo a criar a
imagem única de sistema.
2.2 MODELO COMPUTACIONAL DE RECURSOS VIRTUALIZADOS
Segundo Golden e Sheffy (2008), virtualização é a abstração dos recursos físicos
que são disponibilizados para as aplicações.
Golden e Sheffy (2008) definem virtualização de sistema operacional como sendo
o modo de simular um sistema operacional com os recursos de software que o sistema
operacional base não possui e não necessita. Assim, a aplicação que irá utilizar o sistema
operacional virtualizado terá a ilusão de um servidor dedicado, provendo os recursos
computacionais do qual ela necessita (software), sem que o sistema operacional base tenha
efetivamente esses recursos instalados, conforme Figura 7 ilustra.
33
Figura 7 - Virtualização de Sistema Operacional.Fonte: Archer et al., (2010).
Utilizando esse modelo, pode-se agregar diferentes configurações do mesmo
sistema operacional para atender às necessidades de cada aplicação de forma distinta, sem que
uma configuração conflite com a outra, não afetando as configurações do sistema operacional
base e racionalizando a utilização do hardware do servidor físico.
Através da aplicação desse modelo, o sistema operacional emulado terá as
mesmas configurações do sistema operacional base, número de versão e pacotes de
atualização que a ele forem aplicados. Conforme Archer et al. (2010), esse modelo de
virtualização referencia os arquivos do sistema operacional base na memória principal,
otimizando a utilização de memória, pois todos os sistemas simulados estarão referenciando
os mesmos arquivos de sistema operacional base.
Em contrapartida, a virtualização de hardware é realizada por um software
chamado hypervisor, este software emula recursos de hardware. Essa infraestrutura básica
criada pelo hypervisor é chamada de Virtual Machine Monitor (VMM). Dessa forma, simula-
se um ambiente virtual de recursos de hardware que através do hypervisor utiliza os recursos
de hardware. Assim, Consegue-se realizar o compartilhamento dos diversos recursos de
hardware entre os mais diferentes sistemas operacionais simultaneamente.
O VMM forma um tipo de pacote que pode ser movido para outro servidor físico
com outro tipo de sistema operacional e quantidade de recursos de hardware diferentes do
inicial. Esse modelo de virtualização suporta diferentes tipos de sistemas operacionais, pois
ele cria um ambiente de recursos computacionais virtualizados para cada VMM, onde os
sistemas operacionais podem ser instalados.
O hypervisor é o meio pelo qual o VMM acessa os recursos de hardware,
mediando as interações do VMM com o hardware.
Deste modo, podem-se consolidar diferentes servidores físicos, com quantidades
de recursos computacionais diferentes e sistemas operacionais distintos sobre o mesmo
34
servidor, desde que este possua capacidade computacional suficiente para comportar todos os
servidores virtuais.
O hypervisor pode ser utilizado de duas maneiras distintas conforme Brás (2008)
demonstra:
a) hosted hypervisor: o hypervisor encontra-se sobre o sistema operacional
primário, que é responsável pela gerência dos recursos de hardware, esse
modelo é utilizado quando se necessita de integração com o sistema
operacional primário, utilizando-o para realizar a divisão de tempo
(timesharing) dos recursos disponíveis. Porém, desse modo, ocorre perda de
desempenho, porque, para utilizar um recurso de hardware o sistema
operacional que está sobre VMM realiza a chamada da função do hardware
para o VMM que repassa a chamada para o hypervisor que traduz essa
chamada para o sistema operacional corrente, e o sistema operacional fornece o
recurso solicitado. A redução de desempenho ocorre por causa das camadas de
software a mais que são adicionadas entre as aplicações e o recurso de
hardware, conforme Figura 8 apresenta.
Figura 8 - Hosted hypervisor.Fonte: Archer et al. (2010).b) bare Metal hypervisor: o hypervisor se encontrado diretamente sobre o
hardware, removendo a camada de software do sistema operacional primário.
É uma abordagem diferenciada para a virtualização de hardware. Desse modo,
são fornecidos recursos de hardware de forma mais eficiente. Assim, o
responsável por realizar o timesharing entre todos os VMM é o próprio
hypervisor, conforme Figura 9 demonstra.
35
Figura 9 – Bare metal hypervisor.Fonte: Archer et al. (2010).
Travassos (2010) define que, quando se trata de virtualização, temos ainda o
conceito de hardware partitioning que é a técnica de virtualização mais antiga utilizada. No
qual se dividem os recursos do servidor físico em diversas partições lógicas, de modo que
possam ser utilizados de forma independente, com seu próprio sistema operacional e sem que
uma partição lógica interfira nos recursos da outra. É como se o servidor fosse dividido em
diversos servidores menores cada um com sua própria porção de recursos físicos
independentes, conforme ilustração da Figura 10. Nesse modelo, não há uma
compartilhamento dos recursos de hardware entre as partições lógicas. Se uma partição lógica
está alocada com uma quantidade de recursos, mas não está os utilizando em sua totalidade,
não será possível outra partição utilizar os recursos que estão sem uso.
Figura 10 – Hardware partitioning.Fonte: Milberg (2009).
36
2.3 MODELO COMPUTACIONAL DE RECURSOS SOB DEMANDA
De acordo com Mell e Grance (2010), Cloud Computing pode ser definido como o
fornecimento de recursos computacionais (computadores, recursos de rede, servidores de
armazenamento de dados, servidores de banco de dados, aplicações e etc.) sob demanda de
forma descentralizada, de modo que os recursos fornecidos podem ser rapidamente
disponibilizados, utilizando o mínimo necessário de esforço para manutenção e
provisionamento. Esse conceito é composto por cinco características essenciais, três modelos
de fornecimento de recursos e quatro modelos de aplicação.
2.3.1 Características de Cloud Computing
Mell e Grance (2010) definem as características essenciais de Cloud Computing
como sendo:
a) on-demand self-service: o usuário tem a capacidade de alterar as configurações
dos recursos computacionais que a ele são disponibilizados ou obter novos
recursos, conforme as necessidades surgirem, sem ter de interagir com outras
pessoas;
b) broad network access: os recursos disponibilizados são acessíveis através de
redes de computadores sendo disponibilizados através de diferentes tipos de
clientes. Como: thin clients, smartphones, laptops, PDAs;
c) resource pooling: os recursos computacionais disponibilizados são agrupados
para servir diversos consumidores simultaneamente, criando uma nuvem de
recursos computacionais composta por recursos físicos e virtuais. Os recursos
são dinamicamente atribuídos ou removidos de acordo com as necessidades do
usuário. O consumidor acessa aos recursos que ele necessita de qualquer local
a qualquer momento, sem ter conhecimento da localização física dos recursos
que estão sendo utilizados;
d) rapid elasticity: a capacidade computacional é elástica e de modo ágil pode ser
alterada, em alguns casos esse aumento ou diminuição de recursos é feito
37
automaticamente, conforme surgirem as necessidades. Para o usuário os
recursos disponíveis são aparentemente infinitos, pois ele obtém a quantidade
necessária de recursos computacionais a qualquer momento;
e) measured service: sistemas que proporcionam a utilização do conceito de
Cloud Computing, devem implementar a otimização e controle dos recursos
computacionais que os compõem. Desse modo, é possível monitorar a
utilização dos recursos, controlar os recursos servidos ao usuário e
disponibilizar recursos de forma transparente.
2.3.2 Modelos de fornecimento recursos na nuvem
De acordo com Mell e Grance (2010), os modelos de fornecimento de recursos
que aplicam os conceitos de Cloud Computing são:
a) software As A Service (SAAS): é o fornecimento de um software como serviço,
o software nesse modelo está sobre uma plataforma de Cloud Computing. A
aplicação é acessível através de diversos dispositivos diferentes, fazendo uso
de uma aplicação cliente, como por exemplo, um browser. O usuário do
software não despende de tempo e de recursos com a infraestrutura necessária
para o software funcionar, que são servidores, sistemas operacionais, recursos
de rede para disponibilizar o software, servidores de armazenamento e pessoal
necessário para gerenciar toda essa estrutura, assim, ficando responsável
unicamente pela configuração de usuário e utilização do software;
b) platform As A Service (PAAS): modelo no qual é fornecido uma plataforma ao
cliente, o usuário utiliza ferramentas de desenvolvimento para linguagem de
programação, banco de dados ou containers para as aplicações. Essas
ferramentas são disponibilizadas sobre uma plataforma de Cloud Computing,
sendo disponíveis de diferentes modos e locais. Nesse modelo, o cliente não
despende tempo e recursos com a infraestrutura para as plataformas, como
servidores, sistemas operacionais, recursos de redes para disponibilizar as
plataformas e servidores de armazenamento, mas é responsável pelo
desenvolvimento e manutenção de suas aplicações;
38
c) infrastructure As A Service (IAAS): é o modelo no qual se disponibiliza ao
usuário recursos computacionais, como processamento, armazenamento,
recursos de rede e outros recursos de infraestrutura computacional. Esses
recursos estão disponíveis para a utilização de qualquer sistema operacional e
qualquer aplicação desejada pelo usuário. O usuário nesse modelo não tem a
responsabilidade de gerenciar os recursos físicos de infraestrutura, mas será
encarregado da gerência do sistema operacional, gerência das aplicações que
ele utiliza sobre o sistema, gerência dos dados armazenados no sistema e
possivelmente controle de alguns recursos de rede como firewalls.
2.3.3 Modelos de aplicação do conceito de Cloud Computing
Segundo Mell e Grance (2010), os modelos de aplicação de Cloud Computing
podem ser divididos em private cloud, community cloud, public e por fim hybrid cloud.
a) private cloud: toda a infraestrutura que compõem a nuvem de recursos
computacionais bem como os custos com manutenção e gerenciamento desses
recursos é suportado pela empresa detentora da nuvem. A utilização dos
recursos da nuvem se dá somente para interesses da empresa, sem qualquer
interação com outras nuvens externas, conforme Figura 11 ilustra. Os recursos
da nuvem não são compartilhados com entidades externas a empresa.
Figura 11 – Private Cloud.Fonte: Ahronovitz et al. (2010).
39
b) community cloud: é aplicado com a união dos recursos de algumas
organizações para atender as necessidades das mesmas. As despesas com
hardware, gerência de infraestrutura, energia e resfriamento é compartilhado
entre as entidades envolvidas no desenvolvimento e utilização desse tipo de
nuvem, Conforme Figura 12 exemplifica.
Figura 12 – Community Cloud.Fonte: Ahronovitz et al. (2010).
c) public cloud: a nuvem de recursos computacionais é criada e mantida por uma
empresa ou conjunto de empresas para atender ao usuário final, empresas,
organizações e qualquer outra entidade externa que necessite de recursos
computacionais. Esse tipo de aplicação abrange o fornecimento de recursos
computacionais, seguindo um ou mais modelos de serviço de Cloud
Computing, SAAS, PAAS ou IAAS, exemplificado com a Figura 13. As
entidades que fazem uso desse tipo de nuvem computacional somente pagam
pelos recursos computacionais efetivamente utilizados, reduzindo assim os
custos operacionais da área de tecnologia da informação.
40
Figura 13 – Public Cloud.Fonte: Ahronovitz et.al (2010).
d) hybrid cloud: é a composição de dois ou mais modelos de aplicação de cloud
computing (Private cloud, Community cloud ou Public cloud), no qual os
modelos trabalham juntos proporcionando balanceamento de carga entre as
nuvens computacionais, criando uma forma quase ilimitada de aumento da
capacidade computacional, uma vez que se estará utilizando dois ou mais
modelos de disponibilização de recursos, conforme ilustração da Figura 14.
Figura 14 – Hybrid Cloud.Fonte: Ahronovitz et.al (2010).
41
3 METODOLOGIA
A metodologia tem como função auxiliar o pesquisador durante o processo de
desenvolvimento da pesquisa, de modo a refletir sobre o mundo que o cerca, questionando os
fatos encontrados e os resultados obtidos. Conforme Silva e Menezes (2005), a função da
metodologia é auxiliar o pesquisador durante a pesquisa, ela demonstra o “caminho das
pedras” que deve ser trilhado pelo pesquisador.
3.1 CARACTERIZAÇÃO DO TIPO DA PESQUISA
Silva e Menezes (2005) afirmam que a pesquisa de natureza aplicada é aquela
dirigida para a geração de conhecimentos de aplicação prática, de modo que é dirigida para a
resolução de problemas específicos.
Este trabalho tem como objetivo demostrar os conceitos de Cloud Computing e
virtualização, de modo a explicitar as vantagens de se utilizar esses conceitos no âmbito
empresarial e de usuário final, apresentando as diversas plataformas existentes para a criação
de um ambiente de fornecimento de recursos de infraestrutura computacional sob demanda,
propondo a utilização de mainframes como sendo a melhor solução para a aplicação do
conceito de Cloud Computing.
Conforme Silva e Menezes (2005), a abordagem da pesquisa quantitativa se dá
através da utilização de fatores mensuráveis, de modo que opiniões e informações sejam
traduzidas em números, para que seja possível classificá-las e analisá-las utilizando recursos e
técnicas de estatística.
Na definição dos objetivos da pesquisa, conforme Gil (1991, apud Silva e
Menezes, 2005, p. 21), a pesquisa exploratória visa proporcionar maior familiaridade com
determinado problema, de modo a torná-lo explícito, envolvendo o levantamento
bibliográfico, entrevistas com pessoas que tiveram experiências na prática com o problema
pesquisado e análises de modelos que ajudem a sua compreensão.
Serão utilizados estudos de casos e pesquisas bibliográficas para tornar o
problema da não aceitação do conceito de Cloud Computing explícito. Serão apresentadas
42
plataformas de Cloud Computing para a virtualização de computadores e os aspectos
negativos e positivos de cada uma, demonstrando os atributos considerados para a escolha da
plataforma mainframe como uma das melhores soluções, para a criação de um ambiente de
fornecimento de recursos computacionais de forma descentralizada sobre demanda.
3.2 ETAPAS METODOLÓGICAS
O desenvolvimento da proposta de utilização de uma plataforma de Cloud
Computing se dará através das seguintes etapas:
a) revisão bibliográfica: é o levantamento da base teórica realizado no capítulo 2,
utilizada para o desenvolvimento da proposta de Cloud Computing para
virtualização de computadores;
b) identificação do problema: consiste na busca através de material teórico e
conversas com pessoas relacionadas à área de tecnologia, para a identificação
do por que da não adoção de Cloud Computing;
c) descrever as plataformas de Cloud Computing: descrição das características das
melhores plataformas de Cloud Computing encontradas no mercado que
proporcionem a aplicação do modelo IAAS;
d) mainframes X Cloud Computing: com base nos dados das etapas anteriores,
explicar por que mainframe pode ser considerado a melhor plataforma para se
aplicar Cloud Computing;
e) propor a aplicação de Cloud Computing utilizando mainframes: propor a
utilização de mainframes como base para a aplicação do conceito Cloud
Computing, através dos dados obtidos nas etapas anteriores;
43
f) conclusões sobre o novo paradigma computacional: discorrer sobre o
paradigma computacional de fornecimento de recursos sobre demanda e suas
implicações para usuários e empresas.
Todas as etapas aqui relatadas estão apresentadas no Fluxograma 1.
Fluxograma 1 - Etapas Metodológicas.Fonte: Elaboração do autor, 2010.
O trabalho será desenvolvido seguindo estritamente a ordem definida no
Fluxograma 1, visando atingir os objetivos definidos no inicio do trabalho.
44
3.3 DELIMITAÇÕES
Esta seção irá delimitar o trabalho de modo que este se foque na apresentação de
uma plataforma de Cloud Computing para virtualização de computadores, conforme explicam
os itens a seguir:
a) para o pleno desenvolvimento do trabalho, será explicitado o principal
problema para a não adesão de uma plataforma de Cloud Computing. A
falta de informação sobre a maneira de como aplicar e utilizar os recursos
computacionais de forma descentralizada sobre demanda;
b) serão caracterizadas as principais plataformas de Cloud Computing, de
modo que seja possível realizar um comparativo entre elas;
c) não será aplicado o conceito de Cloud Computing nas plataformas
estudadas;
d) não será realizado benchmark (diversos testes de modo a mensurar
determinados aspectos, obtendo dados para efetuar comparações), mas
serão utilizados benchmark de terceiros;
e) será proposta a utilização de uma plataforma de Cloud Computing
composta por mainframes para a virtualização de computadores;
f) as etapas metodológicas que o trabalho seguirá estão definidas no capítulo
3.2;
g) o trabalho seguirá estritamente as etapas definidas no capítulo 3.2, de
modo a atingir o objetivo definido.
45
4 DIFICULDADE DE APLICAÇÃO DE CLOUD COMPUTING
Cloud Computing encontra dificuldades de aceitação por falta de conhecimento
das pessoas ligadas à área de tecnologia e usuários sobre o funcionamento e a aplicação desse
conceito. O grande entrave para a aplicação desse conceito é criação de mitos sobre o seu
funcionamento e aplicação. Esse fato ocorre devido a grande quantidade de informação
existente sobre o assunto, que acarreta em uma sobrecarga aos que pretendem conhecer esse
novo mundo nas nuvens, principalmente, por causa da avalanche de complicadores que
podem ser encontrada na internet, quando se trata de cloud. Em uma busca rápida, é possível
encontrar mais de 10 milhões de resultados sobre o assunto, sendo em sua maioria pequenos
textos que não ajudam o leitor a entender esse conceito.
Conforme a Figura 15 ilustra de maneira cômica, muitas pessoas mesmo as ligadas
à área de tecnologia não têm conhecimento sobre as implicações de Cloud Computing. O que
essa tecnologia pode trazer de benefícios nos processos organizacionais e dia-a-dia dos
usuários.
Figura 15 – Percepção de Cloud Computing pelo usuário.Fonte: Vida de Suporte (2011).
Apesar de ser um conceito relativamente novo, existem tecnologias que
proporcionam a sua aplicação, sem deixar de lado requisitos como segurança, estabilidade e
46
escalabilidade. No entanto, encontra-se uma grande resistência para a utilização de recursos
providos utilizando esse conceito. O problema a ser solucionado é cultural as pessoas
enxergam o computador como sendo algo físico que está ao seu alcance. A aplicação de
Cloud Computing irá distanciar fisicamente os usuários dos computadores. Os computadores
passarão a ser acessados por simples dispositivos, como celulares, tablets ou thin clients. É
por causa desse distanciamento (usuário-máquina) que há muita resistência. Ele é motivo para
desconfiança quanto à integridade e inviolabilidade dos dados pertencentes aos usuários e
quanto à estabilidade e garantia de acesso aos recursos na nuvem. É preciso esclarecer esse
conceito e as plataformas que o aplicam, de modo que seja cativado o usuário, através dos
benéficos proporcionados por esse mundo de recursos computacionais sobre demanda.
De acordo com pesquisa realizada pela IBM em 2010, a segurança no ambiente de
Cloud Computing é o ponto de maior preocupação para as corporações, surgem
questionamentos sobre:
a) integridade, autenticidade e confidencialidade dos dados armazenados na
nuvem. Disponibilidade;
b) disponibilidade dos recursos computacionais;
c) interferência do modelo de Cloud Computing nos processos
organizacionais.
Amrehn (2011) afirma que segundo a linha das organizações, os usuários veem o
quesito segurança como primordial, conforme Quadro 1 apresenta.
Quadro 1 – Preocupação dos consumidores em relação à segurança na nuvem.
Proteção dos dados armazenados na nuvem 30%
Diretrizes contratuais que definem os níveis de
acordo de serviço. Bem como os direitos e deveres
de cliente e provedor.
21%
Uso não autorizado dos seus dados 15%
Confidencialidade dos dados 12%
Disponibilidade dos recursos 9%
Integridade dos dados 8%
Capacidade de auditar e testar o ambiente do
provedor de serviço
5%
Fonte: Amrehn (2011).
47
É necessário esclarecer a aplicação e o funcionamento de um modelo de
fornecimento de recursos computacionais sob de manda, seja o recurso software, hardware ou
plataforma. A aplicação de Cloud Computing não é trivial e fácil, mas pode e deve ser
utilizado. Pois os benefícios advindos de sua aplicação superam os custos de aplicação.
Cloud Computing não é mais algo que acontecerá daqui alguns anos. Computação
em nuvem acontece neste momento. Os usuários cada vez mais percebem o quanto é
vantajoso somente pagar pelo que foi de fato utilizado, e melhor, não despender recursos com
gerenciamento e manutenção de hardware e software. Para as corporações, esse modelo vem
como um facilitador no alinhamento da área de tecnologia da informação com os negócios da
empresa em um mundo cada vez mais competitivo e carente de processos ágeis.
Somente com o esclarecimento de como aplicar os conceitos de Cloud Computing
é que será possível evitar o desencontro de informações que se transforma em um
complicador para a aplicação desse conceito. É necessário construir uma base concreta, na
qual são ponderados os benefícios proporcionados para os usuário e organizações por esse
novo modo de utilizar e prover recursos computacionais.
Como todo novo paradigma Cloud Computing encontra resistência por aqueles
que temem o desconhecido e diferente. Todos estão acostumados com a utilização de recursos
computacionais que estão ao seu alcance. Porem é necessário o esclarecimento desse novo
modo de prover e utilizar recursos computacionais, porque ele é essencial em um mundo
globalizado cada vez mais competitivo. Em que agilidade, segurança e disponibilidade são
essenciais.
48
5 DESCRIÇÃO DAS PLATAFORMAS QUE APLICAM CLOUD COMPUTING
Serão descritas as características das maiores plataformas que proporcionam a
aplicação de Cloud Computing para a criação de uma nuvem provedora de recursos de
hardware. As plataformas, conjunto de hardware e software que serão descritas são:
a) Servidores de arquitetura (X86, AMD64) com a solução VMware;
b) Servidores de arquitetura (X86, AMD64) com a solução Microsoft;
c) Servidores de arquitetura (X86, AMD64) com a solução Xen;
d) Mainframe e Z/VM. Soluções IBM para Cloud Computing.
5.1 SOLUÇÕES COM ARQUITETURA DE SERVIDORES (X86, AMD64)
Dentre as plataformas de Cloud Computing selecionadas para descrição, existem
as que fazem uso de servidores com arquitetura de processadores (X86 ou AMD 64). Esse
tipo de servidor possui arquitetura similar aos computadores pessoais que são utilizados pelos
usuários. As soluções que utilizam servidores comuns são as mais utilizadas no mercado, pelo
fato das organizações já estarem acostumadas a trabalhar com esse tipo de tecnologia.
Porém a plataforma proposta para aplicação de Cloud Computing é composta pela
combinação da arquitetura mainframe e soluções IBM de virtualização e gerenciamento de
ambientes computacionais virtualizados.
5.1.1 VMware
A solução VMware para virtualização nas nuvens é chamada de VMware
vSphere. Tecnologia que aplica os conceitos de virtualização bare metal, ou seja, não existe
um sistema operacional entre o hypervisor e o hardware. Sendo assim, o overhead
49
(processamento extra por conta de emulação e share de recursos) é menor se comparado com
soluções em que é necessário um sistema operacional base.
A seguir serão detalhados os recursos e limitações da solução de Cloud
Computing para virtualização da VMware, os recursos fornecidos e as capacidades máximas
de carga são referentes a verão 5.0 da solução vSphere.
de acordo com a VMware (2011), a quantidade máxima de recursos que podem
ser alocados para cada máquina virtual é;
Quadro 2 – VMware, recursos disponíveis para máquina virtual.
Quantidade máxima de memória RAM 255 GB
Capacidade máxima de armazenamento. 2 TB
Quantidade máxima de processadores 8Fonte: Elaboração do autor, 2011.
ainda, segundo VMware(2011), a capacidade máxima de recursos que podem
ser alocados por servidor host é;
Quadro 3 - VMware, recursos disponíveis para servidor host.
Processadores 160
Memória RAM 1 TB
Processadores virtuais 512
Taxa de processadores virtuais1 25
Núcleos por processador 12
Maquinas virtuais por host 512Fonte: Elaboração do autor, 2011.
1 Quantidade máxima de processadores virtuais por processador físico.
50
segundo VMware(2011), a quantidade máxima de recursos que podem ser
alocados em cada cluster é de.
Quadro 4 – VMware, recursos disponíveis por cluster.
Volumes para armazenamento de dados. 256
Armazenamento por volume 64 TB
Servidores por cluster 32
Máquinas virtuais por cluster2 3000Fonte: Elaboração do autor, 2011.
Casos de aplicação
Por se tratar de uma solução confiável, segura e escalável para a aplicação de
Cloud Computing, o VMware vShepere é largamente utilizado por muitos organizações para
agilizar os processos da T.I e racionalizar os recursos computacionais.
Os casos de estudo apresentados foram desenvolvidos pela VMware em 2011 e
encontram-se disponíveis em seu Web Site.
SEBRAE-MG Flexibiliza o seu datacenter com a VMware.
A partir de experiências com a utilização das soluções VMware em seus
servidores de homologação, pode-se constatar os benefícios gerados pela virtualização dos
servidores. Em 2009 o SEBRAR-MG decidiu dar um passo adiante e virtualizar 100% dos
seus servidores. Atualmente são utilizados 40 servidores virtualizados.
Segundo Ilton Carlos (analista de infraestrutura), o SEBRAE possuía recursos de
processamento limitados para as necessidades de alta disponibilidade existentes. O que
acarretava um alto risco operacional e engessava toda estrutura de T.I.
Henrique da Silva Mello (gerente de T.I.) afirma que, após a virtualização dos
servidores, o SEBRAE-MG passou a ter mais flexibilidade em sua infraestrutura de T.I. para
suportar os novos projetos, aplicações e demandas de negócio.
Com a consolidação do datacenter, o SEBRAE-MG ganhou em disponibilidade
de recursos e capacidade de processamento com uma redução de 50% no consumo de energia
elétrica.
De acordo com Ilton Carlos, a intenção do SEBRAE-MG é de virtualizar todos os
seus computadores assim que possível.
2 Deve-se respeitar o limite máximo de 512 máquinas virtuais por servidor host.
51
O cenário anterior à virtualização era:
a) estrutura de servidores monolítica;
b) servidores obsoletos;
c) recursos de alta disponibilidade limitados;
d) dados de aplicação armazenados nos discos dos servidores, não era utilizado
storage para armazenamento dos dados das aplicações;
e) complexidade no gerenciamento e manutenção da infraestrutura de T.I.;
f) alto risco operacional;
g) engessamento da infraestrutura de T.I., como consequência as respostas ao
negocio eram lentas.
Os desafios eram:
a) atender adequadamente a demanda de processamento no ambiente
virtualizado;
b) adequar as rotinas de backup, de modo a agilizar e prover maior segurança ao
processo de backup e racionalizar os recursos disponíveis;
c) consolidar as politicas de backup, com integração direta as aplicações
Exchange, SQL Server e Share Point, bem como o gerenciamento centralizado
de logs;
d) harmonizar as plataformas heterogêneas (ambientes Microsoft, Linux e
Progress).
Para aplicação da solução foram utilizados:
a) servidores Dell Enclosure M1000 com 6 lâminas M710 – 2 Intel Quadcore
Xeon 5540 Nehalem – 48GB de memoria RAM – 2 discos de 146Gb de 10000
RPM;
b) storage EMC cx4-240 com 15 discos de 450 Gb. Sendo que o storage possui
capacidade para 240 discos;
c) servidor de backup Tap Library Dell TL-2000 com 24 fitas;
d) solução Symantec BackupExec 2010 para a realização das rotinas de backup.
Juntamente com o conjunto de plataforma de hardware, citado acima, foram
utilizadas as soluções VMware vShepere para a criação da nuvem de recurso e vCenter para
facilitar o gerenciamento, manutenção e controle dos recursos.
52
Desse modo foi possível alinhar a T.I. ao negócio da organização, assim a T.I
passa a estar mais presente como ferramenta auxiliadora e alavancadora dos negócios, ao
invés de ser um entrave. A possibilidade de disponibilização de recursos sobre demanda altera
o modo como a tecnologia da informação interage nas diferentes áreas. Desse modo ela faz-se
presente em todas as fases de negócio, desde a idealização, criação e disponibilização dos
produtos e serviços criados na empresa.
Hexaware Technologies protege e racionaliza os seus recursos com Cloud.
A Hexaware Technologies é uma empresa indiana especializada em Business
Inteligence e análise de sistemas, atuando na modernização de sistemas legados. Provêm
serviços de outsourcing para mais de 150 empresas globais e possui mais de seis mil
funcionários em vinte países, operando com três filiais.
Conforme a empresa crescia, os custos e complexidade da T.I cresciam
exponencialmente. Para alcançar os seus objetivos, a empresa decidiu criar uma núvem
privada de recursos computacionais, baseada nas soluções VMware.
Para a criação de uma nuvem privada de recursos computacionais foi utilizado a
solução vCenter para o gerenciamento da infraestrutura criada pelo vSphere. Desse modo é
possível fornecer recursos de infraestrutura como serviço aos usuários.
Os desafios enfrentados foram:
a) fazer com que as unidades de negócios da empresa provessem recursos de T.I.;
b) reduzir a complexidade do gerenciamento de segurança da T.I.;
c) reduzir os custos com infraestrutura e gerenciamento;
d) obter experiência com soluções em Cloud Computing, de modo a transparecer
segurança para os seus clientes em futuros contratos com a prestação de
serviços na Cloud.
A solução escolhida consistiu na criação de uma nuvem privada de recursos
computacionais. Utilizando as ferramentas desenvolvidas pela VMware.
A estrutura utilizada para a aplicação da solução foi:
a) 14 servidores Dell PowerEdge R810, cada servidor era composto de dois
processadores core E7 de oito núcleos de 2,0GHz e 128GB de memória RAM.;
b) storage NetApp FAS3160 com 80TB;
53
c) os sistemas operacionais utilizados nas máquinas virtuais são: Microsoft
Windows Server 2003, Microsoft Windows Server 2008 e Red Hat Enterprise
Linux.
Com a aplicação de uma private cloud, a Hexaware conseguiu:
a) reduzir os custos com infraestrutura computacional em 30% no período de 12
meses;
b) diminuiu o tempo necessário para o fornecimento de recursos computacionais
de duas semanas para horas;
c) aumentou a utilização dos servidores/storage em 40% em um período de 24
meses.
Atualmente a Hexaware possui mais de 60 aplicações sob a nuvem, utilizadas por
todos os seus colaboradores ao longo do globo.
Segundo Mundakkal Satyajith (gerente de infraestrutura), graças ao know how da
VMware com virtualização e soluções de Cloud Computing, bem como a expertise para
trabalhar com os desafios de segurança que as grandes empresas têm de enfrentar, a Hexaware
conseguiu preparar um plano de ação para o crescimento de sua estrutura computacional.
Utilizando o conhecimento de Cloud Computing adquirido na criação e
gerenciamento de uma nuvem privada de recursos, a Hexaware pode visualizar e criar novas
áreas de negócios, como:
a) sistemas com a capacidade de mensurar a utilização e estabilidade dos recursos
alocados por uma organização e com isso indicar o quanto de retorno as
soluções aplicadas estão gerando;
b) sistemas em que o usuário decide o quanto de recursos e quando ele irá utilizar.
Assim o usuário somente despende recursos financeiros com as aplicações que
ele de fato utilizou e pelo tempo que fez uso.
Com a utilização das ferramentas da VMware, a Hexaware consegue planejar os
investimentos futuros em T.I., reduzindo custos, otimizando a utilização dos recursos
computacionais e incrementando a segurança e estabilidades dos serviços providos.
54
5.1.2 Microsoft
A plataforma fornecida pela Microsoft para aplicação de Cloud Computing é
composta pelo hypervisor denominado Hyper-V Server e a solução de gerenciamento de
ambiente virtual Microsoft System Center Virtual Machine Manager. O hypervisor faz uso da
técnica de virtualização bare metal, ou seja, não utiliza um sistema operacional base para
gerenciar os recursos de hardware. Essa plataforma de virtualização utiliza o core do sistema
operacional Windows Server 2008 para gerenciamento dos recursos de hardware. Porém não
dispõem de todas as funcionalidades que o sistema operacional detém.
A seguir serão descritos os recursos e limitações da plataforma Hyper-V Server,
as configurações expostas são pertinentes à versão Hyper-V Server 2008 R2.
a) conforme Microsoft (2009), a quantidade máxima de recursos que podem ser
alocados para cada maquina virtual é;
Quadro 5 - Microsoft, recursos disponíveis para máquina virtual.
Processadores virtuais 4
Memoria RAM 64 GB
Discos IDE3 4
Discos virtuais SCSI 4 256
Capacidade por disco virtual 2040 GB
Snapshot5 50
Adaptadores de redes virtuais 12Fonte: Elaboração do autor, 2011.
3 Dispositivo eletrônico integrado – O Hyper-V utiliza dispositivos emulados com controladores IDE. Atravésdestes controladores o disco de inicialização da maquina virtual pode ser tanto um disco físico quanto virtual.É obrigatória a utilização de um disco do tipo IDE para o disco de inicialização da maquina virtual.
4 Controladoras SCSI utilizam um tipo de dispositivo desenvolvimento especialmente para maquinas virtuais.Utilizando o barramento da maquina virtual para se comunicar.
5 Imagem do estado da máquina virtual em um determinado momento.
55
b) ainda segundo Microsoft(2009), a quantidade máxima de recursos que podem
ser utilizados em cada servidor host é de;
Quadro 6 - Microsoft, recursos disponíveis para servidor host.
Processadores 64
Taxa de processadores virtuais6 24
Máquinas virtuais por servidor 384
Processadores virtuais por servidor 512
Memoria RAM 1 TBFonte: Elaboração do autor, 2011.
c) de acordo com a Microsoft(2009), a quantidade máxima de recursos que cada
cluster suporta é.
Quadro 7 – Microsoft, recursos disponíveis por cluster.
Servidores 16
Máquinas virtuais 10007
Fonte: Elaboração do autor, 2011.
Casos de aplicação
A solução Hyper-V Server em conjunto com o sistema Microsoft System Center
Virtual Machine Manager, que possibilita o gerenciamento dos recursos computacionais de
forma simples e prática, forma uma das maiores plataformas para aplicação dos conceitos de
Cloud Computing para o fornecimento de recursos computacionais sobre demanda,
proporcionando a criação de nuvens confiáveis, seguras, escaláveis e dinâmicas, visando
alinhar a T.I. com os negócios da organização.
Os casos de aplicação da solução para Cloud Computing, utilizando as Soluções
Hyper-V e Microsoft System Center Virtual Machine Manager, foram desenvolvidos pela
própria Microsoft em 2011 e encontram-se disponíveis em seu Web Site.
6 Quantidade máxima de processadores virtuais por processador físico.7 Deve-se respeitar o limite de 384 máquinas por servidor.
56
Target – Utiliza solução de virtualização para prover uma melhor
experiência em compras.
Target é a segunda maior loja de departamentos dos Estados Unidos atendendo a
clientes em 1775 lojas em 49 Estados americanos. Emprega diretamente mais de 350 mil
pessoas. Movimenta mais de US$ 67 bilhões por ano em vendas.
O departamento de tecnologia da informação da Target desejava reduzir os custos
operacionais, reduzindo a estrutura física em cada loja. Era necessária uma solução para
virtualização de servidores em que pudesse confiar. Pois era o momento de aposentar 8650
servidores físicos espalhados em suas lojas. Aplicando a política de, no máximo 2 servidores
físicos por loja. Para tal foi vislumbrado a ideia de criar uma nuvem privada de recursos que
pudessem ser alocados conforme as necessidades surgissem, alinhando assim os recursos de
T.I com as necessidades do negocio empresarial.
A solução foi aplicar a plataforma de Cloud Computing da Microsoft, Hyper-V e
System Center Virtual Machine Manager. Desse modo, pode ser centralizado o gerenciamento
de mais de 300 mil pontos de acesso a recursos computacionais espalhados por todas as lojas,
que são servidores, computadores, POS (pontos de venda de produto automatizado), caixas
registradoras, quiosques de consultas e dispositivos móveis.
Com a utilização da virtualização de todos os servidores físicos, a empresa está
economizando milhões de dólares em hardware, eletricidade e custos de manutenção de
equipamentos.
Os benefícios advindos da criação de uma nuvem de recursos computacionais
privadas foram:
redução de custos operacionais da área de tecnologia da informação;
aumento da capacidade de T.I. para suportar o negócio da empresa;
facilidade no gerenciamento dos recursos de infraestrutura existentes;
otimização da utilização dos recursos e crescimento da disponibilidade dos
sistemas.
A criação de uma nuvem de recursos privada para a Target representou a
consolidação de milhares de servidores físicos e de uma grande estrutura física que era
necessária para interligar todos os componentes, representando a economia de milhões de
dólares anuais em energia, hardware e manutenção dos equipamentos.
57
O dinheiro poupado com essa solução está sendo investido no negócio da empresa
através da T.I., criando novos meios de tornar única a experiência do consumidor enquanto
compra em uma das lojas da rede.
Segundo DeBrine (Administrador sênior de tecnologias empresarias para
armazenamento) com a solução adotada, a Target consegue focar suas energias em seu
negócio, trabalhando para aprimorar e automatizar os seus processos de negócio, criando
soluções visíveis aos consumidores e membros das organizações Target.
RedeHost cria novo serviço de servidores em nuvem, usando Microsoft
Hyper-V
A RedeHost é uma das maiores empresas do Brasil que fornece serviços de
hospedagem de sites em ambiente Windows. Em 2009, a empresa lançou serviços de
computação em nuvem para aplicações de missão crítica. De acordo com Aldo Pacheco
(gerente comercial), essa é uma das tendências para os próximos anos. E a RedHost almejava
oferecer essa opção de serviço aos seus clientes como alternativa a servidores físicos
dedicados que não oferecem alta disponibilidade nem capacidade de expansão.
Para concretizar essa ideia de novo produto, era necessário aplicar uma solução de
virtualização que permitisse criar ambientes virtuais com características distintas e específicas
de hardware, sistema operacional e aplicações.
A empresa foi o primeiro usuário de seu produto de computação em nuvem
chamado de Cloud Server. Foram rearranjados todos os 50 servidores que eram utilizados
para hospedagem de sites em uma nuvem de recursos composta por 10 novos servidores.
Os servidores que suportam essa nuvem privada possuem as seguintes
características: dois processadores Intel Xeon Quadcore com 32GB de memoria RAM
conectados a três sistemas de armazenamento de dados SAS de 400 GB.
A partir desse novo ambiente, a empresa permite que os clientes contratem no site
da RedHost novos Cloud Servers com as configurações ideais que atendam as suas
necessidades. Existe também a capacidade de expandir os recursos dos servidores contratos
para atender as necessidades de negócio. Deste modo os Cloud Servers podem ser
administrados tanto pelos clientes quanto pela equipe de especialistas da RedHost, sendo que
a administração do antigo modelo de servidores físicos a administração ficava somente a
cargo dos profissionais da RedHost.
De novembro de 2009 até novembro de 2010, a RedHost já conquistou mais de
150 clientes para a utilização do serviços de Cloud Server, sendo que 70% deles utilizam
58
sistemas operacionais Windows e 30% Linux. A maior parte de seus clientes utiliza os Cloud
Server para aplicação de ferramentas críticas de alta disponibilidade, como sistemas de gestão
empresarial (ERP) ou para criar ambientes de testes exaustivos de desenvolvimento de
aplicações.
Benefícios advindos da criação de uma nuvem privada de recursos são:
alta disponibilidade: ao transformar o seu ambiente externo em uma nuvem
privada de recursos computacionais a RedHost elevou seus níveis de
disponibilidade estabelecidos nos contratos de SLA(Service Level Agreement –
Acordo de nível de serviço) de 99,5% para 99,9% para os seus serviços de
hospedagem. Pacheco comenta que eles pretendem ultrapassar os 99,9% de
SLA este ano. O fator disponibilidade afeta diretamente a aceitação do cliente a
esse tipo de solução, pois ele poderá garantir o mesmo nível de disponibilidade
para as suas funções críticas;
redução de custos: A criação de uma nuvem de recursos computacionais
permitiu que a RedHost reduzisse seus gastos em 40% com energia elétrica.
Em termos de gerenciamento, o fato de consolidar os servidores em uma
nuvem e administrá-los com a solução de gerenciamento Microsoft eliminou a
necessidade de expansão da equipe técnica em 50%. Os ambientes
virtualizados também contribuíram para uma redução de 30% no licenciamento
de software;
flexibilidade para os clientes: Com os novos serviços Cloud Servers, os clientes
têm uma alternativa para os servidores dedicados, com custo muito menor,
maior garantia de disponibilidade e flexibilidade para expansão de recursos de
acordo com a demanda dos negócios.
Com a criação de uma nuvem para atender as necessidades do seu negócio, a
RedeHost conseguiu otimizar a utilização dos recursos de hardware, reduzir custos e criar
uma nova área de negocio.
59
5.1.3 Xen
Xen é um projeto para o desenvolvimento de um hypervisor de código aberto e
livre para o uso. Nesse projeto é desenvolvido o hypervisor chamado Xen e a solução para
aplicação de Cloud Computing chamada de Xen Cloud Platform (XCP) que integra o Xen
hypervisor com tecnologias que proporcionam a aplicação dos conceitos de Cloud
Computing, proporcionando, assim, a criação de um ambiente provedor de recursos
computacionais sobre demanda.
Conforme Xen (2011), a solução XCP é licenciada segundo as regras GPL8 e está
disponível sem custos em formato binário (pronto para instalação e configuração) e
source(código fonte de todo o sistema que necessita ser compilado antes do uso). Ainda,
segundo Xen (2011), XCP é e sempre será open source (código aberto e livre para alteração
segundo sugestões de melhorias da comunidade), visando à aceleração da adoção de soluções
de Cloud Computing pela indústria, ajudando, assim, a resolução dos desafios envolvendo
soluções em Cloud e mobilidade existentes.
A seguir serão descritos os recursos e limitações da solução de Cloud Computing
XCP.
a) de acordo com Citrix (2011), a quantidade máxima de recursos que podem ser
alocados para cada máquina virtual é;
Quadro 8 – Xen Cloud Platform, recursos disponíveis para máquina virtual.
Fonte: Elaboração do autor, 2011.
8 Modelo de licenciamento de software livre escrito por Richard Stallman estabelecendo as diretrizes para olicenciamento de software free, definindo as seguintes premissas: liberdade de executar o programa paraqualquer propósito, liberdade de alteração do código fonte para customização do programa, liberdade deredistribuição do programa e, por fim, a liberdade de aperfeiçoamento do programa original de modo quetoda comunidade que utilize o programa se beneficie com as melhorias realizadas.
Memória RAM 128 GB
Armazenamento. 2 TB
Processadores 16
60
b) segundo Citrix (2011), a quantidade máxima de recursos que podem ser
utilizados em cada servidor host é de;
Quadro 9 – Xen cloud Platform, recursos disponíveis para servidor host.
Processadores 64
Taxa de processadores virtuais9 ?
Máquinas virtuais por servidor 130
Processadores virtuais por servidor ?
Memoria RAM 1 TB
Fonte: Elaboração do autor, 2011.
c) segundo Citrix (2011), a quantidade máxima de recursos que cada cluster
suporta, utilizando o XCP, é.
Quadro 10 – Xen Cloud Platform, recursos disponíveis para nuvem.
Servidores 16
Máquinas virtuais 1024Fonte: Elaboração do autor, 2011.
Casos de aplicação
A solução XCP, para aplicação dos conceitos de Cloud Computing esta dentre das
mais utilizadas do mercado, por ser tão estável, escalável, segura e otimizada quanto as outras
existentes, com a vantagem de sua aquisição ser a custo zero e ainda ter disponível o código
fonte para possíveis verificações de robustez do sistema e customizações de acordo com as
necessidades da organização.
De acordo com casos de estudo produzidos pela Citrix (2010):
Avianca avança rumo ao future sua estrutura computacional com a
virtualização de desktops.
Avianca é a maior companhia aérea da América Latina com mais de 90 anos no
mercado aeronáutico. Possui mais de 130 aeronaves, proporcionando voos para mais de 100
destinos em todo o mundo. Atualmente possui mais de 7000 colaboradores, sendo 1200
alocados em Bogotá, Colômbia. Onde se concentra o núcleo de operações financeiras,
recursos humanos, departamento de vendas e sistemas computacionais. Utiliza uma rede com
9 Quantidade máxima de processadores virtuais por processador físico.
61
mais de 1200 computadores interconectados provendo serviços a seus clientes ao redor do
mundo. Atualmente a empresa esta expandindo com novas rotas comerciais em diversas
partes do mundo, através de alianças estratégicas com empresas como: Synergy Aerospace
Corp. , e Kingsland Holding Limited.
O desafio a ser superado era a consolidação de seus 1200 computadores e
servidores, de modo que fossem reduzidos os custos com manutenção e expansão dos
recursos computacionais. Aumentando a vida útil dos computadores, centralizando o
gerenciamento dos mesmos e aumentando a confiabilidade e segurança de toda a sua rede
computacional. Com esses desafios em mãos a empresa tomou a decisão de adotar tecnologias
que possibilitassem a consolidação de computadores e servidores.
Conforme Gabriel Ríos Hincapié (CIO – Chief Information Officer), com a
centralização de workloads, o nível de segurança da rede corporativa aumenta porque riscos
como pen-drives são eliminados e a possibilidade de roubo de informação, bem como as
probabilidades de vírus na rede interna da corporação são reduzidos drasticamente.
A implementação desse projeto da empresa se deu com a aquisição de 1200 thin
clientes que não possuem disco rígido para armazenamento de informação, mas fazem acesso
aos servidores corporativos que provem os recursos computacionais necessários para cada
usuários especifico.
Foram virtualizadas 140 aplicações criticas para a corporação, dentre elas
aplicações financeiras e contábeis, administrativas, sistemas de reservas de passagens, check-
in e muitas outras vitais.
Em vez de as informações serem processadas em cada um dos 1200 computadores
espalhados pela rede da empresa, todo processamento ocorre nos servidores centralizados no
datacenter da empresa, tornando os recursos computacionais mais eficientes e seguros.
Os benefícios para a empresa foram a redução nos custos com manutenção e
gerenciamento dos computadores que passou de 20 dólares mensais para 9 dólares. Isso
ocorre porque os thin clientes por possuírem menos recursos computacionais e não
armazenarem informações vitais tornam-se mais fáceis de manter e gerenciar. Todos os dados
vitais para a empresa concentram-se em seu datacenter. De modo que a perda de informações
essenciais para os negócios da empresa foram reduzidos à zero.
Benefícios gerados pela abordagem de gerenciamento de provimento de recursos
computacionais adotada pela empresa foram:
economia em mais de 50% com a manutenção de hardware;
incremento da vida útil dos computadores em mais de 10 anos;
62
diminuição dos riscos de segurança na rede coorporativa em 90%;
100% dos arquivos empresárias estão no sistema de back-up;
aumento na velocidade de processamento das aplicações em 10%.
A Avianca possui planos de oferecer acesso aos recursos corporativos a seus
colaboradores fora da rede coorporativa. De modo que estes possam de uma maneira segura
trabalhar de qualquer lugar em que se encontrem. Este modelo de recursos centralizados em
uma nuvem de recursos computacionais impulsiona o crescimento da empresa com as novas
alianças que ela acaba de realizar, agilizando e simplificando o meio pela qual ela irá prover
as aplicações empresarias para os novos usuários advindos das alianças que a empresa acaba
de realizar.
Ainda conforme estudo de caso criado pela Citrix Systems (2008), Xen é utilizado
por uma das maiores distribuidoras de produtos da América latina situado no Brasil:
Grupo Martins virtualiza datacenter para atender demandas de
processamento futuras.
Fundado em 1953 o Grupo Martins é a maior empresa distribuidora de produtos
da América Latina. Trabalhando com uma gama dos mais distintos produtos, variando desde
produtos alimentares, eletrônicos, materiais de construção, medicamentos, e produtos
veterinários, estando presente em 5570 cidades brasileiras. Movimenta anualmente 4 bilhões
de reais em vendas, com mais de 315 mil consumidores ativos. 600 fornecedores de produtos,
4500 colaboradores, 4600 representantes de vendas e 42 escritórios de operações.
O desafio que o Grupo Martins possuía era de aumentar a disponibilidade de seus
recursos computacionais para que fosse possível aperfeiçoar os processos empresarias.
Para o Grupo Martins assim como qualquer grande empresa é essencial à busca
por novas ferramentas que visem à redução dos custos operacionais. Procurando sempre a
garantia da satisfação do cliente, alcançando resultados financeiros significativos.
Desde 2007 o datacenter da empresa era composto por 40 servidores físicos que
demandavam uma grande quantidade de energia para alimentação e resfriamento, bem como
uma grande área física para o datacenter. A área de tecnologia da informação da companhia
contava com mais de 30 profissionais focados na administração do datacenter e
gerenciamento das aplicações criticas para a operação da empresa.
Um dos requisitos que o grupo desejava era o alinhamento da área de tecnologia
da informação com as necessidades dos processos de empresariais. Era necessário prover os
recursos computacionais de maneira mais dinâmica e ágil, de acordo com as necessidades
63
administrativas da empresa. A utilização de servidores físicos para cada aplicação torna a T.I.
menos eficiente e ágil. Pois para se disponibilizar novos ambientes perdia-se quase um dia
inteiro de trabalho realizando a configuração de um ambiente novo.
A empresa vinha vivenciando a necessidade crescente de mais recursos
computacionais em determinados períodos do mês, de modo a atender a demanda do negócio.
Porém fora desses períodos em que se obtinha um pico de utilização dos recursos
computacionais, a taxa de utilização dos servidores caia para 5%-10% em média, os recursos
computacionais estavam sendo subutilizados. E se a necessidade por recursos fosse maior do
que o estimado corria-se o risco das aplicações perderem muito em termo de desempenho, o
que poderia atrapalhar os processos empresariais.
Para acabar com a subutilização dos recursos disponíveis para a área de tecnologia
da informação na empresa e aumentar a disponibilidade de seu datacenter, os 40 servidores
antigos foram substituídos por 7 novos servidores utilizando a solução XenServer Virtual
Machines, criando assim uma nuvem privada de recursos computacionais. Atualmente
Utilizam 72 servidores virtuais que fazem uso dos recursos computacionais disponibilizados
pela nuvem criada. De modo que integram 4 plataformas de trabalho, armazenando todas as
informações internas da central de televendas, e-commerce, controle de qualidade e banco de
dados das aplicações coorporativas.
Hoje o Grupo Martins possui uma maior flexibilidade em seu datacenter,
possibilitando atender as necessidades de negócio rapidamente. Em um mercado globalizado
e competitivo, cada dia surge novas necessidades especificas de recursos para cada aplicação.
Com a solução de provimento de recursos computacionais sob demanda XenServer, as
aplicações não estão mais atreladas ao hardware do servidor. Se as aplicações e plataformas
necessitam de mais recurso o servidor virtual pode rapidamente ser rapidamente alterado para
prover uma capacidade de processamento maior. Esse tipo de flexibilidade faz com que a
infraestrutura de tecnologia se adapte a demanda dos processos empresarias, eliminando
períodos de baixo desempenho e instabilidade nos sistemas.
A consolidação de equipamentos físicos é uma das vantagens da aplicação de
virtualização de recursos computacionais. Reduzindo o número de servidores físicos de 40
para 7, reduziu-se custos com manutenção, espaço para concentração dos servidores,
renovação de equipamento e eletricidade, atingindo uma media de utilização dos recursos de
hardware de 70%.
Os principais benefícios da aplicação do XenServer no Grupo Martins foram:
consolidação dos 40 servidores físicos em 7;
64
racionalização dos recursos computacionais, otimização da utilização media
dos recursos de 10% para 70%;
aumento da disponibilidade e flexibilidade dos servidores;
alinhamento da área de tecnologia da informação com os processos
empresariais.
Com a aplicação de Cloud Computing o grupo Martins conseguiu tornar mais
eficiente e ágil a área de tecnologia da informação, otimizando a utilização dos recursos
disponíveis e tornando mais estáveis os sistemas que dão suporte aos processos empresariais.
5.2 SOLUÇÃO MAINFRAME
A solução IBM para aplicação dos conceitos de Cloud Computing faz uso da
arquitetura mainframe e software de gerenciamento da Tivoli (IBM Tivoli Service
Automation Manager). Segundo a IBM (2009), Combinando a robustez, segurança e
escalabilidade proporcionada pela arquitetura Mainframe com a solução de gerenciamento de
recursos computacionais em nuvem da Tivoli, a IBM criou a plataforma ideal para aplicação
de Cloud Computing.
De acordo com IBM (2009), a solução System Z dispõe das seguintes
características para a criação de uma estrutura computacional dinâmica, segura, eficiente e
altamente disponível:
a) taxa de utilização dos recursos do sistema acima de 80%;
b) compartilhamento de todos os recursos existem entre todas as máquinas
virtuais, CPU, RAM, componentes de acesso á rede, componentes de I/O,
processadores auxiliares e etc.;
c) redundância de hardware de modo que se um componente falhar existe um
outro componente de backup na máquina para substituir o componente
defeituoso;
d) otimização do espaço utilizado para armazenamento dos servidores, tendo em
vista que o Mainframe concentra uma grande quantidade de recursos;
65
e) racionalização da utilização de energia. O equipamento é energeticamente
eficiente.
Conforme IBM (2010), a configuração máxima de um Mainframe System Z(196)
Enterprise é:
Quadro 11 – IBM System Z, recursos por host.
Memória RAM 3 Terabyte (TB)
Processadores principais 2410
Processadores auxiliares IFLs11(80),zAAPs12(40),
zIIPs13(40), ICFs14(16)Fonte: Elaboração do autor, 2011.
Ainda, segundo IBM (2010), o servidor System Z Enterprise possui uma
funcionalidade chamada zBX(Z Blade Center), possibilitando o System Z ser interligado com
até 4 Blades Center e fazer uso de seus recursos, sendo que cada Blade Center pode conter até
120 unidades Blades.
Conforme especificação da IBM (2010) as configurações máximas de uma Blade
para ser utilizada no Blade Center são:
Quadro 12 - IBM System Z, recursos de servidores Blades no
mainframe.
Processadores Power 7 de 3.0GHz 8
Memoria RAM 128 GB
Interfaces de rede 10 Gb 8Fonte: Elaboração do autor, 2011.
A IBM trata a sua solução para virtualização nas nuvens de uma forma diferente
das outras plataformas, de modo que não há limite de configurações das máquinas virtuais
10 Processadores principais com 4 núcleos a 5.2GHz cada, totalizando 96 cores principais.11 Tipo de processador especializado em cargas de trabalho Linux. As instruções Linux são executadas por esse
processador, sendo ele otimizado para tal função.12 Processador especializado para processamento das requisições de aplicações WEB. É especializado em cargas
de processamento JAVA e ações que necessitem o processamento de XMLs.13 Processador dedicado ao gerenciamento de transações com banco de dados no mainframe, possui a habilidade
de realizar o processamento de XML assim como os zAAP, realizando alguns processamentos específicos dobanco de dados DB2 e processamento de IPSec na camada TCP/IP.
14 Processadores que somente processam funções internas da arquitetura mainframe, auxiliando os processadoresprincipais no gerenciamento de controle dos recursos.
66
como pode ser visto nas plataformas que fazem uso de servidores comuns. Assim sendo, não
existem barreiras lógicas para a configuração das maquinas virtuais. Pode-se alocar a
quantidade desejada e necessária de recursos para cada máquina virtual. Levando em
consideração que se não houver hardware suficiente para atender a demanda de todas as
máquinas simultaneamente, o sistema poderá perder desempenho.
Por ser uma solução voltada para o suporte de aplicações extremamente massivas
e críticas, o Mainframe é muito utilizado por grandes seguradoras, bancos, governos, e
empresas privadas que necessitem de uma plataforma escalável, segura e estável.
Casos de Aplicação.
IBM (2008) relata a aplicação de sua solução para Cloud Computing na
Nationwide Insurance, uma das maiores seguradoras dos Estados Unidos.
Conforme IBM (2008) descreve, como toda grande empresa a Nationwide vivia o
grande problema da proliferação descontrolada de servidores em seu datacenter. O número de
servidores estava passando a casa dos milhares e os custos relacionados ao incremento do seu
poder computacional, bem como manutenção e alimentação desse datacenter crescia
exponencialmente. Fato decorrente dos aumentos nos custos com energia para alimentação e
resfriamento dos servidores e a necessidade cada vez maior de um poder computacional maior
em determinados períodos.
Conforme Buzz Woeckener (Administrador Linux da Nationwide), eles estavam
ficando sem espaço para os servidores, sem energia para alimentação dos mesmos e sem ar
condicionados suficientes para a sua refrigeração, piorando a situação todos os servidores
estavam sendo subutilizados.
Com a área de tecnologia monolítica gerada pela utilização de servidores físicos a
produtividade ficava em baixa, pois, sempre que era necessária a criação de um novo
ambiente para o desenvolvimento de novos projetos, demoravam-se semanas, até meses para
finalização de todos os processos envolvidos com a criação de um novo ambiente. Esse
processo lento minava q criatividade dentro da organização, devido a falta de agilidade e aos
riscos envolvidos com disponibilização de um novo ambiente físico.
Em 2005, quando as capacidades estruturais da T.I. estavam chegando ao seu
limite a Nationwide teve que tomar uma decisão drástica, ou investia milhões de dólares em
melhorias em seu datacenter, aumento de capacidade energética e criação um novo
datacenter, ou teria que alterar o seu modo de utilização e disponibilização de recursos
computacionais.
67
A empresa optou por investir estrategicamente na criação de uma estrutura
virtualizada em vez de utilizar somente servidores físicos. O novo ambiente é baseado no
mainframe System Z e a tecnologia de virtualização IBM zVM. A escolha dessas plataformas
se deu pelo fato delas apresentavam um ROI (Return On Investmen)15 muito superior ao de
outras plataformas existentes no mercado. Um dos principais fatores de a plataforma
mainframe possuir um alto ROI é o reduzido gasto com licenciamento de software.
A redução com os gastos de licenciamento de software deve-se ao fato de que os
software em sua maioria possuem um modelo de licenciamento por processador utilizado, ou
seja, quanto maior a quantidade de processadores que o software faz uso, maior o gasto com
licenciamento.
Como o a arquitetura Mainframe privilegia os processadores centrais
(processadores contabilizados para o licenciamento do software), aliviando-os do
processamento trivial que todo sistema computacional necessita, o resultado é que ele
necessita de menos processadores para atender a mesma demanda computacional que as
outras plataformas necessitam.
A criação de uma nuvem privada de recursos computacionais significou um
aumento de desempenho para T.I da Nationwide, resultando em aumento de produtividade e
resposta mais ágeis da área de T.I as necessidades do negócio da companhia.
De acordo com Woeckener os benefícios gerados pela aplicação de uma
infraestrutura computacional virtualizada sobre o System Z resultou em cortes de custos e
aumento de performance, que os fizeram economizar 15 milhões de dólares em 3 anos. A
Nationwide percebe claramente os resultados proporcionados pela aplicação dessa solução.
A infraestrutura que foi utilizada pela Nationwide para criar uma nuvem privada
de recursos computacionais, faz uso de 2 mainframes System Z que estão separados em 2
datacenters. Um dos mainframes está sendo utilizado para as aplicações de produção da
empresa, sendo o outro utilizado para o desenvolvimento e testes das aplicações que a
empresa mantem. O segundo mainframe é utilizado também como um back-up, para
eventuais emergências. Todos os dados são replicados entre os dois mainframes com um
delay (atraso) de 30 segundos. Desse modo o investimento em hardware adicional prove a
continuidade dos negócios mesmo em casos de desastres naturais.
A agilidade obtida com essa infraestrutura virtual altera os processos empresarias
dando liberdade aos desenvolvedores para criar e alterar as workloads necessárias durante o
15 Métrica utilizada para calcular o quanto de benefícios um investimento irá ter para a empresa.
68
desenvolvimento de um novo sistema. Que como consequência agiliza o desenvolvimento de
novas soluções, criado uma vantagem competitiva para a empresa. A vantagem de poder
inovar em seus sistemas com menos riscos e maior agilidade.
Com a infraestrutura distribuída utilizada antes, a criação de um novo ambiente
para um projeto demoraria dia, semanas e até mesmo messes. Pois havia a necessidade de
realocar um equipamento ou adquirir um novo. E como resultado desse processo demorado,
os custos envolvidos para experimentar novas ideias acabavam por coibir o processo de
inovação dentro da empresa.
Conforme Woeckener afirma, com a nova infraestrutura virtualizada, a
Nationwide pode disponibilizar um novo ambiente em minutos. Proporcionando-os alterar as
configurações de suas workloads sempre que necessário, seja para incrementar ou reduzir os
recursos em uso. Como por exemplo, na final do Super Bowl (Campeonato de futebol
americano), em que eles sabiam que haveria um pico de utilização de seu portal na internet.
Para que fosse atendida essa demanda extra de usuários durante esse período foi adicionado
uma quantidade maior de recursos ao servidor do portal Web, de forma simples e prática. Sem
a necessidade de alocar/adquirir um novo equipamento a demanda extra de usuários foi
atendida.
Os benefícios da criação de uma nuvem privada de recursos computacionais
foram:
economia de 15 milhões de dólares com a área de tecnologia da informação no
período de 3 anos;
aumento da utilização dos recursos computacionais para 85-50 por cento dos
recursos disponíveis;
redução dos custos com infraestrutura (espaço, cabos, ar condicionados e etc.)
em 80%;
redução dos custos com hospedagem de aplicações web em 50%;
aproveitamento máximo dos investimentos realizados, utilizando o hardware
adquirido para desenvolvimento e testes para garantir continuidade aos
negócios em casos de emergência;
redução de custos com licenciamento de software;
diminuição da necessidade de aquisição de novos equipamentos;
simplificação e agilização do processo de criação e alteração dos ambientes
utilizados pelas aplicações empresariais.
69
A Nationwide conseguiu alinhar a T.I. com os processos empresarias através da
utilização de uma private cloud. Provendo recursos computacionais sobre demanda para as
áreas da empresa. Desse modo incentivasse a inovação, pois os colaboradores sentem-se mais
livres para tentar coisas que nunca foi experimentada antes. Pois os riscos envolvidos na
criação de um novo ambiente são baixíssimos.
Outra aplicação de Cloud Computing utilizando System Z e soluções de
gerenciamento de infraestrutura virtual computacional da Tivoli é descrita no estudo de caso a
seguir.
De acordo com IBM (2011), universidade Bari promove a inovações na Cloud,
criando uma infraestrutura de Cloud Computing, utilizando Linux e System Z.
A Universidade de Bari é uma das mais importantes do sul da Itália, fundada em
1925 oferecendo uma grande gama de cursos universitários. Possui mais de 70 mil estudantes
e mais de 1800 professores em seu campus principal.
A Universidade de Bari estava interessada na possibilidade de criar uma estrutura
computacional para a aplicação dos conceitos de Cloud Computing. Visto que, esse tipo de
estrutura possibilita de forma simples e rápida o fornecimento e gerenciamento de recursos
computacionais. Possibilitando o escalonamento das configurações para mais ou para menos
dos ambientes criados de acordo com a demanda. Esse tipo de funcionalidade encorajaria os
estudantes e desenvolvedores a inovar em suas aplicações, pois não precisariam se preocupar
com estruturas monolíticas, sendo que essas se adaptariam as necessidades da aplicação.
A base utilizada para a criação da nuvem computacional foi: 1 system Z9
Business Class com 3 processadores do tipo IFL, suportanto centenas de maquinas virtuais
rodando Linux. Em conjunto foi adotada a ferramenta IBM Tivoli Service Automation
Manager, para o gerenciamento da infraestrutura virtual.
Um dos projetos que a universidade desenvolveu sobre a nuvem criada a
virtualização de seus laboratórios de informática, possibilitando estudantes utilizarem uma
plataforma educacional provida como serviço. Estudantes, indiferente do curso, fazem uso das
plataformas, necessárias para o desenvolvimento de seus trabalhos acadêmicos, especificadas
pelos professores não somente nos laboratórios, mas onde necessitarem, dessa forma
possibilitou-se a utilização dos mesos laboratórios para diferentes plataformas. Possibilitando
que os professores atualizem as plataformas das quais os alunos necessitam sem ter que
alterar as configurações físicas dos laboratórios. Cloud Computing possibilita uma melhora
continua nos laboratórios de informática ao mesmo momento que minimiza os custos
70
Conforme Visaggio (professor de engenharia de software), a aplicação de Cloud
Computing sobre o System Z elimina o problema de aquisição de gerenciamento de novas
estruturas computacionais, criar uma pequena estrutura inicial é muito mais viável do que
começar com uma grande e complexa estrutura. Assim, conforme surgir demande por mais
recursos, pode-se simplesmente disponibilizar mais para a estrutura já criada, sem sofre com
problemas de escalabilidade que são encontrados em estruturas computacionais físicas.
O desenvolvimento desse projeto em parceria com a IBM fez uma grande
diferença para a Universidade, proporcionando o provimento de recursos computacionais de
um modo flexível e ágil, ajudando os mais brilhantes estudantes a expressarem suas ideias
mais inovadoras.
71
6 MAINFRAME E CLOUD COMPUTING
A aplicação de Cloud Computing e o fornecimento de software, plataforma e
infraestrutura computacional como serviço cria novos desafios a serem superados. Dentre
esses desafios temos:
disponibilidade dos serviços;
segurança dos dados;
tempo de resposta;
agilidade e praticidade no provisionamento dos recursos;
eficiência computacional, soluções com uma alta relação custo/beneficio,
considerando custos energéticos, gerenciamento e espaço físico para
armazenamento da infraestrutura física.
Prover recursos computacionais sobre demanda para os usuários de forma a seguir
todas as características de Cloud Computing é o um dos maiores desafios enfrentados por
aqueles que se aventuram no mundo das Clouds, pois os recursos fornecidos aos usuários
devem ser:
elásticos, escalando os recursos para mais ou menos de uma forma ágil, prática,
segura e sem a necessidade de iterações com outros pessoas;
disponibilizados através de redes de computadores, tornando-os acessíveis de
qualquer local a qualquer momento;
utilizados sobre demanda, os recursos podem ser alocados e desalocados
conforme necessidade dos usuários;
mensuráveis, o usuário dos recursos deve ter a capacidade de mensurar o
quanto de recursos ele esta utilizando e por quanto tempo.
Conforme apresentado no capítulo 5, existem diversas plataformas que
proporcionam a aplicação de Cloud Computing, cada qual com suas peculiaridades. Porém a
plataforma Mainframe se sobressai das demais, pela sua arquitetura, que vem sendo
aprimorada a mais de 40 anos desde sua primeira versão, sendo ele o pioneiro na utilização de
virtualização para melhor aproveitamento dos recursos computacionais. Utilizando-se de
diversas unidades especialistas de processamento para as tarefas mais rotineiras do sistema
72
operacional, assim, liberando os processadores centrais das cargas de processamento trivial
que todo sistema computacional possui.
A arquitetura mainframe em conjunto com o hypervisor zVM conseguem realizar
o compartilhamento de todo e qualquer recurso disponível, desde memória, processadores e
dispositivos de I/O(entrada e saída de dados do sistema).
Outra vantagem do mainframe é que combinado com sua arquitetura de unidades
especialistas auxiliando os processadores centrais há uma grande quantidade de recursos
computacionais disponíveis, deste modo o mainframe ocupando uma área física ínfima se
comparado com as soluções que necessitam de diversos computadores distribuídos e obtendo
uma maior potencia computacional com mais eficiência energética. Contanto com soluções
built-in (nativas) para o gerenciamento de recursos, workloads, controle do consumo de
energia e disponibilidade dos recursos providos, bem como facilitadores para mensuração da
utilização dos recursos providos.
A utilização de soluções nativas faz com que o overhead (sobre carga) gerado por
camadas extras de software seja menor, desse modo não há desperdício dos recursos
computacionais com o gerenciamento dos recursos que estão sendo disponibilizados.
Sendo assim, a arquitetura mainframe é capaz de suportar milhares de servidores
virtuais simultaneamente em um único servidor físico, resultando em menor consumo de
energia, menor número de administradores, menor espaço para armazenamento e menor custo
com refrigeração. Ao contrario de plataformas que fazem uso de arquiteturas computacionais
comuns, em que é necessária a utilização de vários servidores distribuídos para a criação de
uma nuvem de recursos computacionais sobre demanda que atenda milhares de servidores
virtuais. A utilização de servidores distribuídos gera não somente maiores custos com
manutenção, gerenciamento e alimentação dos servidores, mas também uma sobrecarga de
processamento no sistema como um todo, visto que quase todas as mensagens trocadas entre
as máquinas virtuais se dão através da rede, gerando um delay (atraso) nas trocas de
informações entre as maquinas virtuais. Diferente do que ocorre nos mainframes, pois quase
todas as máquinas estão no mesmo servidor, à troca de mensagens entras as máquinas virtuais
ocorre via memoria principal, assim, evita-se o delay nas trocas de mensagens entre os
computadores virtuais e a sobrecarga no sistema com o envio de mensagens através de redes
de computadores.
A sobrecarga nas soluções de sistemas distribuídos se da não somente pela
necessidade excessiva de trocas de mensagens entre os computadores, mas também pela
necessidade de gerenciamento de monitoramento de recursos remotos. Em sistemas
73
distribuídos há uma grande utilização de recursos computacionais para gerenciamento e
monitoramento dos recursos que estão sendo providos, para que seja garantido a
disponibilidade, estabilidade e segurança dos mesmos.
Para tornar essa diferença mais explicita, a IBM (2009) realizou a seguinte
comparação entre o mainframe e servidores com arquitetura Intel X86.
Os servidores virtualizados utilizados como parâmetro de comparação eram do
tipo IBM x366 com 4 processadores Intel de um núcleo a 3,66GHz e 1GB de memoria RAM.
Sendo que a media de utilização dos servidores era de 5%, com 4,5 transações por segundo e
um tempo de resposta às requisições de 40 milissegundos. A meta do teste era mensurar a
quantidade de servidores virtuais com as características descritas que seria possível
consolidar.
O servidor de arquitetura x86 utilizado para aplicar as plataformas, era um IBM
Enterprise Class x3950 com quatro processadores dual core com frequência de 3,5GHz e 64
GB de memoria RAM.
O mainframe utilizado era um System Z10 Enterprise Class com 8 núcleos IFL
ativados a 4,4 GHz e 256 GB de memoria RAM.
Foi criada uma maquina virtual com as características do servidor físico, de modo
a manter as 4,5 transações por segundo com um tempo de resposta de 40 milissegundos.
Sendo que a aplicação que esta rodando nesse servidor é um exemplo de internet banking que
acessa a um banco de dados na rede.
No servidor x86, foi utilizado o hypervisor Hyper-V e outro muito utilizado em
servidores deste tipo, porem não pode ter seu nome divulgado, sendo o hypervisor utilizado
no mainframe foi o zVM.
A Figura 16 demonstra a variação do tempo de resposta conforme eram
adicionadas mais maquinas virtuais no sistema. Foram adicionadas maquinas virtuais com as
características citadas até que os devidos servidores atingissem a taxa de utilização de 100%
de CPU.
74
Figura 16 – Comparação: variação tempo de resposta por quantidade máquinas virtuais.Fonte: Bain et al.(2009).
Como pode ser percebido no gráfico da Figura 16 à medida que mais máquinas
virtuais eram adicionadas ao sistema, o tempo de resposta dos servidores virtuais aumentava,
tanto na plataforma mainframe quanto na plataforma x86. Porém, na plataforma x86 o limite
de tempo de resposta da aplicação que foi estabelecido em 40 milissegundos é atingido com
35 máquinas virtuais, enquanto que, no mainframe o tempo de resposta somente foi
ultrapassado com a utilização simultânea de 90 servidores virtuais.
Esse fato deve-se ao modo como a arquitetura do mainframe é concebida,
enquanto que no servidor de arquitetura x86 o processador principal é responsável por toda
gerência dos componentes computacionais, no mainframe existem unidades especializada em
gerenciar os componentes, unidades especialidades em processamentos rotineiros (I/O,
gerência de memória, criptografia e etc.) e por fim os processadores centrais que são
utilizados pelas aplicações. Assim quando aumentava-se a carga de processamento no sistema
x86, significava não somente mais tarefa para o processador em termos de maquinas virtuais
para serem processadas, mas também, mais I/O para ser gerenciado e mais memoria para ser
gerenciada sendo que todas essas tarefas são realizadas pelos mesmos processadores, fato que
não ocorre na arquitetura mainframe.
No mesmo benchmark IBM (2009), coletou os dados da quantidade de transações
por segundo que todas as máquinas virtuais do sistema suportavam conforme adicionava-se
mais servidores virtuais a nuvem, apresentado na Figura 17
75
Figura 17 – Comparativo: quantidade transações suporta por nuvem.Fonte: Bain et al.(2009).
Figura 17 demonstra que conforme adicionavam-se máquinas virtuais ao sistema,
maior era o total de transações por segundo da nuvem, até que se atinja o limite seguro de
gerenciamento de recursos que a plataforma suporta. No caso da plataforma x86, o limite para
as configurações utilizadas foi de 20 maquinas virtuais simultâneas com um total de 60
transações por segundo, logo após isso a quantidade de transações começa a cair,
demonstrando que o sistema começou a ficar instável. Por outro lado, no mainframe somente
é possível visualizar essa perda de desempenho quando o limite de recursos da maquina é
alcançado utilizando 95 maquinas virtuais e 155 transações por segundo, significando uma
utilização de quase 100% dos recursos do servidor sem perda de desempenho.
A explicação para tais dados é novamente a arquitetura do mainframe que realiza
um ótimo trabalho no gerenciamento de seus recursos, delegando funções especificas a
unidades de processamento especializado, de modo que todo o sistema permaneça estável
mesmo perto dos 100% de utilização.
Deve ser entendido que Cloud Computing diz respeito à otimização e
racionalização dos recursos disponíveis, sem deixar de lado desempenho, segurança e
flexibilidade. Sendo assim, o mainframe pode ser considerado a melhor plataforma para se
aplicar Cloud Computing por facilitar a criação de ambientes capazes de proverem recursos
flexíveis aos usuários sem deixar de lado os requisitos importantíssimos para o conceito de
Cloud Computing.
76
7 CONCLUSÕES E TRABALHOS FUTUROS
A aplicação de Cloud Computing para o fornecimento de recursos computacionais
sob demanda é possível, independente da plataforma escolhida. Porém, o que precisa ser
alterado é a visão dos usuários sobre esse modelo de fornecimento de recursos.
Os usuários necessitam ter em mente todos os benefícios que a utilização dos
recursos providos pela Cloud lhes proporciona. Pois, Cloud Computing é um novo modelo
computacional que está transformando o modo como os usuários enxergam a tecnologia da
informação, fornecendo recursos computacionais flexíveis, disponíveis, seguros adaptáveis as
mais diferentes necessidades.
E para os criadores das futuras Clouds, a plataforma mainframe deve estar
presente nas avaliações de plataformas, sendo que, apesar de mainframe ser um conceito
relativamente antigo, ele acompanhou as necessidades do mercado computacional de alto
desempenho, evoluindo sua arquitetura a cada ano, sofrendo melhorias para obter cada vez
mais desempenho com menos custos, de modo que hoje pode ser considerado a melhor
plataforma para se aplicar Cloud Computing. As habilidades que sua arquitetura possui em
lidar com as mais distintas workloads simultaneamente se encaixam perfeitamente para suprir
as necessidades da Cloud.
Utilizar mainframes para a criação de ambientes que forneçam recursos
computacionais sob demanda é a utilização de um conceito antigo, sobre um novo ponto de
vista, proporcionado uma experiência de controle sobre os recursos inigualável para o usuário.
Assim, provendo aos usuários ambientes com todas as características (segurança,
disponibilidade, estabilidade e escalabilidade) que o mainframe já esta acostumado a
disponibilizar de maneira simples e prática.
Com relação a aplicação de Cloud Computing e mainframes, as seguintes ideias
podem ser utilizadas como trabalhos futuros, de modo a aprimorar cada vez mais as
experiências dos usuários:
integração da arquitetura mainframe com as mais diferentes arquiteturas
computacionais, criando nuvens heterogêneas, que possibilitariam o
direcionamento das máquinas virtuais para as arquiteturas mais adequadas as
necessidades especificas de cada workload.
77
criação de uma ferramenta que possibilite o acesso aos recursos providos pela
nuvem de forma, segura, performática e estável. As ferramentas existentes
hoje, em sua maioria não são performáticas, estáveis e seguras o suficiente para
acessar os recursos via internet.
propor uma nova unidade especializada em processamento gráfico para o
mainframe. Visto que, com a crescente utilização do mainframe para aplicação
de Cloud Computing para virtualização de computadores, surge uma nova
necessidade que não existia quando se virtualizava somente servidores. Ao
contrario de servidores, os computadores (utilizados por usuários) são
acessados via terminal gráficos, gerando a necessidade do mainframe de
renderizar todo o ambiente gráfico do usuário e todas as animações e ventos
que ocorrem devidos às ações que ele realiza. Deste modo, por exemplo, em
um futuro próximo não seja mais necessário à utilização de consoles de vídeo
games ou computadores físicos para jogos, poderíamos acessar um computador
especifico com os recursos necessários para cada jogo, em uma nuvem, ter de
manter um hardware para essa finalidade.
Enfim, Cloud Computing não é uma onda que logo passará, o fornecimento de
recursos computacionais sobre demanda, possui muitos benefícios e cada vez mais será
adotada pelas empresas e usuários, todos querem utilizar ambientes que sejam seguros,
flexíveis e disponíveis. Sendo o mais importando sobre Cloud é que ele foca-se no modo
como são providos e utilizados os recursos computacionais, e não em onde eles estão
alocados. Deste modo, provendo liberdade aos usuários inovarem sem ter que preocupar-se
com a infraestrutura computacional.
78
REFERÊNCIAS
AHRONOVITZ, Miha et al. Cloud Computing Use Cases. Cloud Computing Use CaseDiscussion Group. 2010.
ARCHER, Ben et al. System X Virtualization Strategies. New York: IBM. 2010. p. 10-15.
BAIN, Scott A. et al. A Benchmark Study on Virtualization Platforms for Private clouds.New York: IBM. 2009.
BRANDT, Robert R. Sistema Operacional de Redes. 2001. Disponível em:<http://www.dee.ufcg.edu.br/~rrbrandt/cursos/redes/sor.shtml>. Acesso em: 26 ago. 2011.
BUECKER, Axel et al. Cloud Security Guidance: IBM Recommendations for theImplementation of Cloud Security. New York: IBM, 2009.
CITRIX SYSTEMS. Xen Cloud Platform. 2011. Disponível em: <http://xen.org/products/cloudxen.html>. Acesso em: 24 set. 2011.
CITRIX SYSTEMS. Citrix XenServer Installation Guide. 2010. Disponível em:<http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/installation.html#sys_requirements-host>. Acesso em: 24 set. 2011.
CITRIX SYSTEMS. Xen Server 6.0 Configuration Limits. 2011. New York. CitrixSystems, 2011.
CITRIX SYSTEMS. Citrix XenServer 5.6 Virtual Machine Installation Guide. 2010.Disponivel em:<http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/guest.html#creatingVMs_supported_OS_minimums>. Acesso em: 24 set. 2011.
CITRIX SYSTEMS. Avianca flies into the future of IT desktop with XenDesktop. 2010.Florida. Citrix Systems, 2010.
CITRIX SYSTEMS. Grupo Martins Virtualizes its Datacenter to Meet Future Demandsin Wholesaling. 2008. Florida. Citrix Systems, 2008.
79
COLOMBO, Cassius Savi. Virtualização de Servidores: Um Estudo de Caso no MinistérioPúblico de Santa Catarina. 2009. 69 f. Monografia. (Graduação em Sistemas de Informação) –Universidade do Sul de Santa Catarina, Palhoça, 2009.
COULOURIS, George et al. Sistemas Distribuídos Conceitos e Projeto. Porto Alegre:Bookman, 2007. P. 16.
EBBERS, Mike. Cloud Computing: Save Time, Money, and Resources with a PrivateTest Cloud. New York: IBM, 2009.
GOLDEN, Bernard; SCHEFFY, Clark. Virtualization for Dummies. Indianapolis: WileyPublishing. 2008. p. 7-11.
GREGGO, Andrea. Cloud Computing with System Z. New York: IBM, 2010.
HICKEY, Andrew R.. Apesar da onda, são fracas as vendas de cloud computing. 2010.Disponível em:<http://cwconnect.computerworld.com.br/cloudcomputing/tag/virtualizacao/>.Acesso em: 4 ago. 2010.
IBM. Nationwide Insurance: Using virtualization as a foundation for innovation. 2008.New York: IBM, 2008.
IBM. Mainframe Concepts. New York. IBM, 2008.
MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais.Rio de Janeiro: LTC, 2004. p. 1-3; 23-28.
MICROSOFT. Windows Server 2008: Hyper-V Planning and Deployment Guide.Microsoft, 2009.
MICROSOFT. RedeHost cria novo serviço de servidores em nuvem usando MicrosoftHyper-V. Microsoft, 2010.
MICROSOFT. Large Retailer Relies on a Virtual Solution to Deliver Optimal ShoppingExperience. Microsoft, 2011.
80
MELL, Peter; GRANCE, Tim. The NIST Definition of cloud computing. Communicationsof the ACM, New York, v. 53, n. 6, p. 50, jun. 2010.MONTEIRO, Mario A. Introdução à Organização de Computadores. Rio de Janeiro: LTC.1996. p. 86-95.
MURDOCCA, Miles J.; Heuring, Vicente P. Introdução à Arquitetura de Computadores.Rio de Janeiro: Campus, 2001. p. 5-6.
MURPHY, Chris. Virtualização e cloud vão transformar a T.I. 2010. Disponível em:<http://cwconnect.computerworld.com.br/cloudcomputing/tag/virtualizacao/>. Acesso em: 4ago. 2010.
NORTON, Peter. Introdução à Informática. São Paulo: Makron Books. 1996. p. 29-30.
OWENS, Dustin. Securing Elasticity in the Cloud. Communications of the ACM, NewYork, v. 53, n. 6, p. 46-51, jun. 2010.
ROCHA, Erico. O futuro é nublado. 2009. Disponível em:<http://cwconnect.computerworld.com. br/cloudcomputing/tag/virtualizacao/>. Acesso em: 4ago. 2010.
SILVA, Edna Lúcia da; MENEZES, Estera Muszkat. Metodologia da Pesquisa e elaboraçãode Dissertação. Florianópolis: UFSC. 2005. p. 9-36.
TANENBAUM, Andrew S; STEEN, Maarten Van. Sistemas Distribuídos: princípios eparadigmas. São Paulo: Pearson Prentice Hall. 2008.
TANENBAUM, Andrew S. Organização Estruturada de Computadores. Rio de Janeiro:LTC. 2001. p. 23 e 52.
TRAVASSOS, Vilmar. Sistemas Virtualizados. 2010. Disponível em:<http://www.ic.unicamp.br/~ducatte/mo401/1s2010/T2/078272-t2.pdf>. Acesso em: 21 set.2010.
VELTE, Anthony T.; VELTE, Toby J.; ELSENPETER, Robert. Cloud Computing: APractical Approach. New York: The McGraw Hill Companys. 2010. p. 3-11, 19-21.
VMWARE. Configuration Maximums: VMware vSphere 5.0. Palo Alto: Vmware, 2011.
81
VMWARE. Hexaware Technologies. Palo Alto: Vmware, 2011.VMWARE. SEBRAE-MG Flexibiliza o seu datacenter com a VMware. Palo Alto:Vmware, 2011.
WEBER, Raul Fernando. Arquitetura de Computadores Pessoais. Porto Alegre: SagraLuzzatto, 2001. p. 13.
XANDÓ, Flávio. Virtualização a passos largos no Brasil. 2010. Disponível em:<http://blogs.forumpcs.com.br/flavio_xando/2010/08/03/virtualizacao-a-passos-largos-no-brasil/>. Acesso em: 3 ago. 2010.