Bom, antes de tudo para quem não lembra o que é virtualização, e quais tipos existem, aí vai uma ajudinha: virtualização é, em poucas palavras, a criação de um ambiente virtual que simula o real, e a partir desse conceito nasce os tipos de virtualização de servidores, desktop e de sistemas operacionais. Agora que já relembramos, vamos voltar ao objetivo dessa postagem: as aplicações da virtualização.
Consolidação de Servidores
A consolidação de servidores consiste em usar diversas máquinas virtuais em uma máquina física. Isso garante o isolamento dos servidores e apresenta vantagens, como: aumentar a taxa de utilização de servidores, reduzir os custos operacionais, criar ambientes mais flexíveis e reduzir custos de administração. Além disso, a consolidação permite ocupar menos espaço físico com servidores, o que propicia menos gasto com eletricidade e com manutenção de máquinas.
Essa aplicação pode ser encontrada em centrais ou filiais de empresas que consolidam seus servidores a um único computador, diminuindo custos e fornecendo várias funções para os usuários. Também pode ser usada para ajudar a centralizar a gestão de departamentos, permitindo que cada departamento possa manter o controle do seu sistema.
Desenvolvimento de Software
Uso da virtualização em ambientes de desenvolvimento e teste de software é normalmente realizado pelas mesmas razões da consolidação de servidores padrão - o desejo de obter maior utilização de hardware e reduzir custos operacionais. No entanto, o uso de ambientes virtuais para desenvolver e testar softwares tem dois objetivos que diferem da consolidação de servidores.
O primeiro é fornecer ambientes distintos, com sistemas operacionais diferentes ou de diferentes versões, para que se possa testar o software e verificar o seu comportamento em outros ambientes. O segundo é criar ambientes isolados no qual uma falha do software que está sendo desenvolvido não comprometa o sistema operacional da máquina hospedeira. Se o software em desenvolvimento vier a comprometer o sistema da máquina virtual, este pode ser recuperado copiando os arquivos de outra máquina, ou recuperando os arquivos da máquina comprometida do último backup.
Treinamento e Ensino
A virtualização pode ajudar em muitos níveis de treinamento e ensino. Aplicando esse método o estudante é isolado da máquina física, ou seja, ele tem acesso a uma instância de uma máquina virtual, que pode ser facilmente recuperada de uma falha após o seu uso. Além de facilitar a aplicação de aulas práticas e laboratórios multidisciplinares, já que é possível criar máquinas virtuais com sistemas operacionais e aplicações específicas a depender do tipo da aula.
As vantagens são basicamente as mesmas, redução dos custos de manutenção, aumento da flexibilidade e aumento da segurança.
Bom, essas são algumas das muitas aplicações da virtualização. Espero que tenham gostado! Até a próxima. :)
Referências:
Virtualização: VMWare e Xen, por Diogo Menezes Ferrazani Mattos - http://www.gta.ufrj.br/grad/08_1/virtual/artigo.pdf
Implementacao e Desempenho da Virtualização no DCOMP/UFS, por Anderson de Paula Cassimiro - http://pt.slideshare.net/edmoreno/implementacao-e-desempenho-da-virtualizacao-no-dcomp-ufs
Professional Microsoft® Virtual Server 2005, por Ben Armstrong - https://eketab2.files.wordpress.com/2007/09/professionalmicrosoftvirtualserver2005.pdf
quarta-feira, 9 de dezembro de 2015
terça-feira, 8 de dezembro de 2015
Aplicações das tecnologias - Clusters
Já vimos em posts anteriores as vantagens,
desvantagens e razões para o uso de clusters. Nesta postagem vamos abordar as
principais situações em que esses supercomputadores são utilizados atualmente.
Projetos de grande porte
Clusters têm sido comumente usados como ambientes
de execução para diversos projetos de grande porte tais como modelagem
meteorológica, simulações de acidentes de automóvel, ciências da vida, fluidodinâmica
computacional, simulações nucleares, processamento de imagem, eletromagnetismo,
mineração de dados, aerodinâmica e astrofísica. Estas aplicações são consideradas
impossíveis de serem executas sem o uso de supercomputadores.
A necessidade de grandes recursos, tais como o tempo
e poder de processamento, memória e comunicação distingue estes projetos de
outros aplicativos. Por exemplo, a execução de aplicações científicas
utilizadas na previsão de situações de risco de vida, tais como terremotos ou
furacões, requer um enorme poder computacional e recursos de armazenamento.
Internet
Internet
No âmbito da Internet, existem diversos serviços que
utilizam clusters. Dentre eles estão servidores web e proxy, servidores de
banco de dados, motores de busca, tecnologias de segurança, e-mails, grandes
portais e sites de e-commerce.
Na área comercial, estes servidores podem ser
consolidados para criar o que chamamos de servidor corporativo. Este pode ser
otimizado e gerenciado para aumentar sua eficiência e capacidade de resposta,
dependendo da carga de trabalho, através de várias técnicas de balanceamento de
carga. Muitos computadores comuns podem ser agrupados com armazenamento e
aplicações para escalabilidade, alta disponibilidade e desempenho. As
principais empresas que constroem estes sistemas são Compaq, Hewlett-Packard,
IBM, Microsoft e Sun.
Mineraçao de dados
Clusters são também importantes ferramentas na mineração
de dados, pois este procedimento requer o processamento de uma massiva quantidade
de dados. A velocidade de processamento é de suma importância para os interesses
comerciais, pois isso pode significar uma vantagem competitiva. Além disso,
alguns conjuntos de dados já são distribuídos em toda a mídia, como a Internet,
e o uso de clusters também pode diminuir o tempo necessário para o recolhimento
dos dados.
Ray Tracing
Utilização do Ray Tracing no Autodesk |
Há uma série
de razões pelas quais o uso de processamento paralelo (clusters) é benéfico para
esse método, uma delas é a redução do tempo para renderizar imagens. Além
disso, imagens que precisam de mais memória do que um processador individual
tem disponível, pode ter tarefas divididas entre um número processadores,
permitindo o processamento de imagens complexas. As principais questões incluem
a tarefa difícil de segmentar os postos de trabalho entre os nós de
processamento e minimizar os custos de comunicação.
Por enquanto, isto é tudo. No próximo post falaremos
mais sobre as aplicações da virtualização. Gostou? Deixa seu comentário abaixo. :)
Referências:
"A Review of Applications of Cluster Computing", por Lucas Hope and Edmund Lam - http://www.buyya.com/csc433/ClusterApps.pdf
"Cluster Computing Tools, Applications, and
Australian Initiatives for Low Cost Supercomputing", por Hai Jin, Rajkumar Buyya e Mark Baker - http://www.cloudbus.org/papers/IEAustMonitor.pdf
sexta-feira, 4 de dezembro de 2015
Aplicações das tecnologias - Computação em nuvem
Hoje começaremos uma série de posts falando sobre as principais aplicações das tecnologias abordas neste blog (Computação em nuvem, virtualização e clusters), começando hoje pela computação em nuvem, muito conhecida e usada, mesmo que indiretamente, pela grande maioria dos usuários da internet.
Armazenamento de dados
Uma das suas principais aplicações é o armazenamento de dados. Principalmente por meio das redes sociais, os usuários armazenam fotos, vídeos, documentos e outros tipos de informações para serem compartilhados, acessados e modificados por eles em qualquer lugar do globo.
Esta tecnologia também é utilizada de sua forma mais "direta", funcionando como um "disco rígido (HD) online". Nele, o usuário salva as suas informações como se fosse uma pasta do computador, colocando os arquivos e informações desejadas e acessando-os futuramente. Certos serviços de armazenamento também disponibilizam a modificação dessas informações diretamente, sem a necessidade de baixar a informação para o dispositivo.
Mas ele não se limita somente a guardar dados desejados na nuvem: também pode ser utilizado para backups de dados pessoais e críticos, garantindo que a chance deles serem perdidos seja praticamente nula. Grande parte dos serviços populares hoje, como Dropbox, OneDrive e Google Drive possuem uma boa segurança no ponto de vista dos seus servidores, porém não encriptam os arquivos que estão sendo enviados para o servidor. Neste caso, existem alternativas como Tresorit e Wuala que permitem uma encriptação tão grande que apenas o usuário tem acesso, nem mesmo a empresa podendo acessar ou recuperar a senha futuramente.
É possível acessar os seus dados em qualquer dispositivo, contanto que ele possua conexão com a internet. |
eCommerce
Escalabilidade é o ponto-chave para o eCommerce: é ela que permite fazer um grande diferencial na economia, praticidade e eficiência de um eCommerce que trabalha com cloud computing. Em horário de pouco fluxo de clientes, o processamento pode ser reduzido dinamicamente, o que resulta em custos menores em horários com fluxo menor. O mesmo acontece em momento de pico e promoções (como Black Friday e natal), onde o fluxo de clientes aumenta fortemente e o poder de processamento acompanha este fluxo.
Isso evita uma série de problemas que haveria em meios tradicionais de servidores fixos em lojas, tais como: indisponibilidade do sistema com o fluxo de muitos usuários, alto consumo de processamento em momentos de pouco fluxo de clientes, lentidão em locais distantes da empresa de eCommerce (uma vez que o site pode ser acessado rapidamente em vários locais).
O único empecilho no Brasil é quanto a segurança, uma vez que as empresas brasileiras de computação na nuvem ainda possui algumas falhas nesse quesito, algo não problemático em relação as empresas internacionais.
O eCommerce cresceu drasticamente na última década, faturando mais de 12 bilhões de reais. |
CRM (Costumer Relationship Managment)
O CRM, também chamado de Gestão do Relacionamento com o Cliente, é uma estratégia de negócio importante para as companhias, no qual se baseia em auxiliar e lhe fornecer o que ele procura da melhor e mais eficiente maneira. Como lida diretamente com clientes e lucros, muitas empresas procuram os melhores softwares para auxiliá-los neste processo.
Uma das principais vantagens desta estratégia aplicada à computação na nuvem é sua praticidade: pode ser utilizado em qualquer lugar, necessitando apenas de acesso a internet e um dispositivo para acessá-lo. Sua praticidade também facilita o acesso dos dados aos outros funcionários, podendo inclusive colaborarem simultaneamente no processo. Além disso, as ferramentas na nuvem sempre estão atualizadas, dispensando custos com manutenção e pausas nos servidores para modificar partes do sistema.
Principais processos do CRM. |
Teste e Desenvolvimento
Um dos grandes destaques desta tecnologia neste meio é a facilidade de acesso ao produto em desenvolvimento. Instalação de aplicativos pesados, dedicados e exclusivos de sistemas operacionais são dispensados com a aplicação desta tenologia. Através da computação na nuvem, é possível acessar o produto em desenvolvimento em qualquer lugar, por meio de qualquer dispositivo. Isso significa que um funcionário pode começar a desenvolver um aplicativo, por exemplo, na empresa onde trabalha, continuar o desenvolvimento em casa e finalizá-lo enquanto está viajando.
Pelo fato da virtualização ser largamente aplicada para que a computação na nuvem no meio de testes e desenvolvimento, é possível obter e modificar com facilidade os ambientes de testes que o projeto passará. Com isso também é garantido que, se o software funcionar corretamente no ambiente da nuvem, funcionará também no ambiente real, já que é apenas uma simulação de um computador real.
Além disso tudo, os custos também são bastante reduzidos, uma vez que a escalabilidade (mesma utilizada no eCommerce) está presente e utiliza apenas o processamento necessário para realizar o desenvolvimento e testes das aplicações.
Cada vez mais empresas estão migrando seu desenvolvimento de projetos para a nuvem. |
Referências
"Loaded and locked: 3 seriously secure cloud storage services", por Sarah Jacobsson Purewal - http://www.pcworld.com/article/2105100/loaded-and-locked-3-seriously-secure-cloud-storage-services.html
"Por que unir CRM e computação em nuvem?", por Ana Beatriz Ferreira - http://futurum.com.br/manufatura/por-que-unir-crm-e-computacao-em-nuvem
"Top 10 Common Uses for the Cloud for 2012", por Rackspace Blogger - http://blog.rackspace.com/top-10-common-uses-for-the-cloud-for-2012/
"Top 7 most common uses of cloud computing", por Maamar Ferkoun - http://www.thoughtsoncloud.com/2014/02/top-7-most-common-uses-of-cloud-computing/
"As vantagens de ter um e-commerce hospedado em nuvem", por André Tellini - http://www.tiespecialistas.com.br/2013/07/as-vantagens-de-ter-um-e-commerce-hospedado-em-nuvem/
"Develop and test applications faster in the cloud", por Microsoft Corporation - http://www.microsoft.com/en-us/server-cloud/solutions/cloud-development-test-environments.aspx
quinta-feira, 12 de novembro de 2015
Tipos de Cluster: parte 2 - MOSIX, OpenSSI e Kerrighed
Olá! Como já falado no post "anteanterior" e o anterior. Clusters são nada mais que computadores conectados entre si para que juntos formem um "supercomputador", com capacidade de processamento igual a soma da capacidade dos PCs que o formam. Existem muitas maneiras de se criar Clusters , porém as mais comum são usando o MOSIX, o OpenSSI e o Kerrighed. Nesse post falaremos sobre elas!
MOSIX
MOSIX (Multicomputer Operating System for Unix - Sistema Operacional de Multicomputador para UNIX) é um gerenciador de Cluters desenvolvido para sistemas operacionais de base Unix. É ideal para sistemas de Clusters, ao qual seja necessário a implementação de Cluster dos tipos: balanceamento de carga e de alto desempenho.
Esse tipo de Cluster faz uso de algoritmos que implementam a Migração Preemptiva de Processos e Balanceamento Dinâmico de Carga, que basicamente possibilitam, no Cluster, a migração de tarefas de um nó que já esteja sobrecarregado, ou ainda, que não ache que "dará conta do serviço", para outro que nó ainda mais poderoso e/ou desocupado tudo isso de forma transparente.
OpenSSI
OpenSSI é um solução Cluster baseado no MOSIX, e assim como ele, é destinado a Sistemas operacionais de base no UNIX. Sua diferenciação se dá na implementação da tecnologia SSI (Single System Image), que consiste basicamente de dar a ilusão ao usuário de que todo o Cluster é somente uma máquina. Nela, todos os recursos de todos os nós se relacionam, fazendo assim, o usuário "enxergar" como se todos fossem pertencentes a somente um único computador.
O OpenSSI, embora tenha recurso para implementação dos Clusters de balanceamento de carga, sua principal finalidade são os Clusters de tipo de alto desempenho e de alta disponibilidade.
Kerrighed
O Kerrighed também usa a tecnologia SSI, e como os outros dois, é feito para sistemas de base Unix. A sua grande diferença, em relação aos dois acima, é a aplicação do conceito de DSM (Distributed Shared Memory - memória compartilhada, tradução não literal) onde a memória de todos os nós se somam e funcionam como uma só. O que em alguns casos pode parecer muito vantajoso
"Mosix - Instalação e configuração de um Cluster de balanceamento de carga", por rodrigo8819 - http://www.vivaolinux.com.br/artigo/Mosix-Instalacao-e-configuracao-de-um-Cluster-de-balanceamento-de-carga
"Cluster: conceito e características", por InfoWester - http://www.infowester.com/Cluster.php
"Aula 5 – Clusters", por Guilherme Galante - http://www.inf.unioeste.br/~guilherme/tsc/aula5
"Migração de Processos: Panorama de Soluções Populares e Avanços Recentes ", por Márcio Parise Boufleur, Rodolfo Leffa de Oliveira, Andrea Schwertner Charão - http://www-usr.inf.ufsm.br/~rodox/publicacoes/mig_resumo.pdf
"Montando um Cluster com Kerrighed", por João F. M. Figueiredo - http://www.joaomatosf.com/blog/index.php?option=com_content&view=article&id=57:montando-um-Cluster-com-kerrighed&catid=43:projetosdiversos&Itemid=60
segunda-feira, 26 de outubro de 2015
Tipos de cluster: parte 1 - Beowulf
Como já dito no último post, a função dos clusters é aumentar a capacidade de processamento através da divisão de tarefas entre vários processadores. Isso pode dar a impressão de que clusters em geral são muito caros, viáveis apenas a grandes centros de pesquisa e empresas. Desde a criação dos clusters Beowulf, isso deixou de ser verdade, como é possível perceber a seguir.
O que é:
Criado em 1994, no CESDIS (Center of Excellence in Space
Data and Information Sciences), uma contratante da NASA, por Don Becker e
Thomas Sterling, o primeiro cluster Beowulf foi construído com 16 processadores Intel DX4, conectados por ethernet
de 10MBit/s. Seu nome é uma referência ao
poema épico inglês Beowulf, em que o protagonista teria a força de trinta
homens.
Pelos processadores usados no primeiro Beowulf – Intel DX4,
também conhecido como i486, uma linha comercial comum na época – é possível
perceber que o custo é relativamente baixo em relação à performance. Graças a
esse custo-benefício, esse tipo de cluster é frequentemente usado em
laboratórios de universidades, para a pesquisa científica.
Neste tipo de cluster, um computador mestre, denominado front-end, controla os
demais, chamados de back-end, geralmente através de redes Ethernet. Frequentemente é usada alguma
variação de Linux, como o MOSIX, por questões de preço, independência e
estabilidade, enquanto a
comunicação entre os nós é feita por bibliotecas como a PVM (Parallel Virtual
Machine) ou a MPI (Message Passing Interface).
Vantagens e desvantagens:
Graças à simples possibilidade de acrescentar novos componentes,
os sistemas Beowulf são escaláveis, isto é, podem acompanhar a evolução das
necessidades do usuário.
Além disso, a manutenção é relativamente simples, já que, no evento da falha
de um dos nós, a solução é simplesmente substituir o nó, e o sistema utilizado
é open source – permitindo a livre adaptação de suas características. Isso, junto a um custo muito baixo, por fazer uso de um sistema gratuito e de
componentes baratos e de fácil obtenção, torna o Beowulf um tipo de cluster bastante acessível.
Por outro lado, apresenta latência superior e largura de banda inferior a outras arquiteturas, exigindo algoritmos que sejam tolerantes a isto. Como este problema existe porque o hardware de rede usado geralmente não foi criado com este intuito em específico, existe a possibilidade de atenuá-lo usando outras opções mais focadas a esse uso, mas isso implica em custos mais altos.
Entre os próximos posts, falaremos sobre outros tipos de cluster.
Referências:
"About Beowulf", pelo Pickett Group da UC Davis - http://yclept.ucdavis.edu/Beowulf/aboutbeowulf.html
"Clusters Beowulf", por Hugo Emanuel Gonçalves Teixeira, Maria João Almeida de Sá Barros e Paulo Jorge Marques Coelho - http://www.cesarkallas.net/arquivos/apostilas/redes/beowulf_clusters.pdf
"Uma Abordagem para Alta Demanda de Processamento Utilizando Cluster de Beowulf", por Líliam Barroso Leal e Francisco Xavier de Vasconcelos Filho - http://www.pop-pi.rnp.br/system/uploads/article/archive/1/Lilian_ClusterdeBeowulf_2011.pdf
"Cluster: conceito e características", por Info Wester - http://www.infowester.com/cluster.php
quinta-feira, 28 de maio de 2015
Conheça os Clusters!
Olá ! Hoje falaremos sobre um assunto novo, Clusters. Você conhece? Sabe como funciona? Não!? , então acompanhe a postagem a seguir.
O que é isso?
Clusters da empresa Yahoo! |
Conceito do Funcionamento
Cada computador de um Cluster é chamado de nó, ou node, (teoricamente não há limite para a quantidade nós[1]), cada máquina do nó deve poder se comunicar com as demais máquinas facilmente, e embora não seja necessário que as máquinas possuam a mesma estrutura de hardware, todos precisam ter um sistema operacional adequado para Clusters instalado. Caso contrário o software responsável pelo gerenciamento do Cluster terá dificuldade em sua funcionalidade (provavelmente nem funcionará).
Tipos de Clusters
Existem vários tipos de Clusters, porém os mais conhecidos são:
- Cluster de alto desempenho: Como o próprio nome sugere, são os clusters que processam um grande volume de dados em um curto período de tempo.
- Cluster de alta disponibilidade: Nesse tipo de Cluster o foco é que a aplicação continue funcionando de forma continua e, caso haja a necessidade de interrupção, que seja pelo menor período de tempo possível.
- Cluster de balanceamento de carga: A ideia nesse tipo de cluster é que seja distribuído por cada nó, uniformemente as tarefas, desta forma cada computador do nó executará uma só tarefa, o que pode acarretar num melhor desempenho do Cluster.
- Cluster de alto desempenho: Como o próprio nome sugere, são os clusters que processam um grande volume de dados em um curto período de tempo.
- Cluster de alta disponibilidade: Nesse tipo de Cluster o foco é que a aplicação continue funcionando de forma continua e, caso haja a necessidade de interrupção, que seja pelo menor período de tempo possível.
- Cluster de balanceamento de carga: A ideia nesse tipo de cluster é que seja distribuído por cada nó, uniformemente as tarefas, desta forma cada computador do nó executará uma só tarefa, o que pode acarretar num melhor desempenho do Cluster.
Algumas Vantagens e Desvantagens dos Clusters
Vantagens:
- A principal facilidade é o custo beneficio. É mais barato fazer isso do que comprar um supercomputador;
- Para melhorar a capacidade do cluster basta acrescentar uma máquina;
- Por ser um série de computadores conectados, a chance de todas as máquinas quebrarem ao mesmo tempo é mínima, porém quando alguma quebra o Cluster pode continuar funcionando normalmente sem ela (tendo apenas, uma redução na capacidade de processamento).
Desvantagens:
- A facilidade de expansão do Cluster pode ser uma "faca de dois gumes": a quantidade de máquinas pode aumentar tanto que a manutenção se torna mais trabalhosa, o espaço físico pode ficar impróprio, etc; [2]
- A tecnologia de comunicação utilizada pode não oferecer a velocidade de transferência de dados ou o tempo de resposta necessário, dependendo da aplicação;[2]
- Um cluster tem como base uma rede local, logo, não se pode acrescentar máquinas que estejam muito distantes geograficamente.[2]
Referências
"Cluster: conceito e características", por InfoWester - http://www.infowester.com/cluster.php[1]"Arquitetura de Computadores II - Clusters", por Gabriel P. Silva - http://equipe.nce.ufrj.br/gabriel/arqcomp2/ArqPar6.pdf
"Running Hadoop on Ubuntu Linux (Multi-Node Cluster)", por Michael G. Noll - http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
"Vantagens e desvantagens dos clusters", Raí Carvalho - http://www.usuarioroot.com.br/2014/03/vantagens-e-desvantagens-dos-clusters.html[2]
domingo, 24 de maio de 2015
Virtualização de Sistemas Operacionais – Máquinas Virtuais
No post de hoje vamos
falar sobre a virtualização de sistemas operacionais. Para facilitar o seu
entendimento, caro leitor, vamos falar mais especificamente de máquinas
virtuais, modo de virtualização mais comum para usuários domésticos.
Recomendamos a leitura os posts anteriores para a obtenção de conceitos e noções
básicas sobre esse tema.
A
primeira coisa que um usuário comum pensa ao ver a palavra “virtualização” em
algum lugar é a possibilidade de executar vários sistemas operacionais simultaneamente
dentro de um. Realmente essa é uma das vantagens de ter um sistema operacional
rodando virtualmente, mas isso pode se expandir a várias aplicações como vimos
nos últimos posts do blog. A virtualização é possível na maioria dos sistemas
atuais. Você pode rodar Windows dentro de Windows, Windows dentro de Mac, Linux
dentro de Windows, são várias possibilidades. Tudo depende da potência do computador
a ser utilizado. Mas como fazer isso? É por isso que precisamos falar de
máquinas virtuais.
Uma máquina virtual é ambiente computacional em que um sistema operacional ou programa pode ser instalado e executado. De maneira mais simplificada, podemos dizer que a máquina virtual funciona como um “computador dentro do computador”. Hoje em dia, criar uma máquina virtual é muito simples: basta instalar um programa dentro do seu computado. É dentro desse programa que você irá criar um disco rígido virtual e poderá executar um sistema operacional inteiro a partir dele. Para executá-lo é necessário que haja recursos na máquina hospedeira para poder suprir a carga necessária, até porque um sistema virtual é semelhante a um sistema “real” até na questão de consumo de recursos. Você pode rodar um sistema com o mínimo de recursos, esperando o mínimo de resposta do sistema ou dedicar grande parte da memória e disco para que tudo funcione razoavelmente bem.
Exemplo de máquina virtual: Windows XP rodando no Windows 7 (Fonte da Imagem: Tkp News) |
Uma máquina virtual é ambiente computacional em que um sistema operacional ou programa pode ser instalado e executado. De maneira mais simplificada, podemos dizer que a máquina virtual funciona como um “computador dentro do computador”. Hoje em dia, criar uma máquina virtual é muito simples: basta instalar um programa dentro do seu computado. É dentro desse programa que você irá criar um disco rígido virtual e poderá executar um sistema operacional inteiro a partir dele. Para executá-lo é necessário que haja recursos na máquina hospedeira para poder suprir a carga necessária, até porque um sistema virtual é semelhante a um sistema “real” até na questão de consumo de recursos. Você pode rodar um sistema com o mínimo de recursos, esperando o mínimo de resposta do sistema ou dedicar grande parte da memória e disco para que tudo funcione razoavelmente bem.
Máquinas
virtuais são extremamente úteis no dia a dia, pois permitem ao usuário rodar
outros sistemas operacionais dentro de uma janela, tendo acesso a todos os
softwares que precisa. Elas são usadas em diversos casos, como no lançamento de
programas e SO’s ainda em estágio de desenvolvimento. Dessa forma, você não se
torna refém de aplicativos inacabados que podem apresentar diversos bugs. A
máquina virtual irá alocar, durante a execução de sistemas operacionais, uma
quantidade definida de memória RAM. Ela normalmente emula um ambiente de
computação física, mas requisições de CPU, memória, disco rígido, rede e outros
recursos de hardware serão todos geridos por uma “camada de virtualização” que
traduz essas solicitações para o hardware presente na máquina.
As
máquinas virtuais são capazes de “enganar” os programas e sistemas
operacionais, pois eles acreditam que estão sendo executados diretamente no
hardware físico, e não dentro de uma simulação. Por isso, eles podem ser
instalados da mesma forma que seriam dentro do sistema operacional. Além disso
as mesmas podem servir de ambiente seguro para acesso à serviços na internet.
Como ela é facilmente “reparada” no caso de problemas, ela não estará com
nenhum tipo de programa malicioso. Quando o diretor de pesquisa da empresa
finlandesa F-Secure veio ao Brasil investigar as fraudes bancárias, uma das
soluções propostas por ele foi o uso de máquinas virtuais.
Ainda
não se tem notícia de códigos maliciosos que tentem capturar dados dentro de
máquinas virtuais, ou que consigam capturar os dados do host quando executados
dentro de um sistema virtualizado. No
entanto, por serem sistemas virtualizados, tudo em execução nas máquinas
virtuais é mais lento. Ela não serve, por exemplo, para executar jogos 3D.
Alguns emuladores (de jogos e outros) também podem não funcionar em uma máquina
virtual, por também dependerem das funções de virtualização do processador.
Existem
no mercado diversos programas que criam máquinas virtuais. Os mais notáveis são
o VirtualBox, da Sun, o VMWare, o VirtualPC da Microsoft e o Xen. Todos têm
alguma versão gratuita ou são gratuitos com algumas restrições. O VirtualPC,
por exemplo, é gratuito para qualquer usuário de alguma versão corporativa do
Windows, como o Vista Business ou Windows XP Pro. O VirtualBox oficial é
gratuito apenas para o uso doméstico, mas existe uma versão recompilada do
programa (que é software livre) que pode ser executada sem restrições, mesmo em
ambientes comerciais. O VMWare disponibiliza o VMWare Player, que permite rodar
máquinas virtuais criadas pelas versões completas do programa. Existem máquinas
virtuais prontas, disponíveis na internet, que podem ser executadas pelo VMWare
Player, especialmente distribuições Linux. O Xen também é software livre e,
portanto, 100% gratuito, mas funciona apenas no Linux.
E então, gostou? Deixa seu comentário aí em baixo e até o próximo post!
Referências:
“A virtualização de
sistemas operacionais para usuários domésticos” por Caio Alexandre - http://www.guiadopc.com.br/artigos/19180/virtualizacao-sistemas-operacionais-usuarios-domesticos.html
“O que são máquinas
virtuais?” por Roberto Hammerschmidt - http://www.tecmundo.com.br/maquina-virtual/232-o-que-sao-maquinas-virtuais-.htm
“Saiba o que são
máquinas virtuais e como elas ajudam na segurança do PC” por Altieres Rohr - http://g1.globo.com/Noticias/Tecnologia/0,,MUL1252543-6174,00-SAIBA+O+QUE+SAO+MAQUINAS+VIRTUAIS+E+COMO+ELAS+AJUDAM+NA+SEGURANCA+DO+PC.html
sexta-feira, 15 de maio de 2015
Virtualização de Desktop
Durante nossos últimos posts está sendo reservado um tempo específico para falar de uma técnica muito importante que tem revolucionado o mercado cientifico e proporcionado vários benefícios, chamada de virtualização. Especificamente no post anterior apresentou-se um dos tipos de virtualização chamada de “virtualização por servidores”, que basicamente significa executar servidores virtuais em um único servidor físico. De forma similar, no post de hoje mais um subtipo de virtualização será abordado, chamado de “virtualização de desktop”.
Primeiramente, o que é desktop? Alguns já devem ter ouvido falar dessa palavra, afinal estamos na era da computação, mas vale a pena ressaltar. Bom, desktop em poucas palavras significa o ambiente principal do computador, onde se encontram aplicativos, pastas, arquivos, atalhos, etc. Já sabemos que virtualização é uma técnica que cria um ambiente virtual que simula um real, e agora já temos certa base sobre o que seria desktop, então fica fácil identificar o que é virtualização de desktop, não é mesmo?
Em termos formais, Virtualização de Desktop é uma tecnologia que separa o sistema operacional e suas aplicações do dispositivo físico que acessa o mesmo. Ou seja, permite a criação de uma máquina virtual que estará separada do computador físico (hardware) e do sistema operativo anfitrião (ou ainda, sistema operativo já existente na máquina física). As máquinas virtuais são gerenciadas por um software de virtualização (hypervisor, visto no post anterior). O conjunto Hypervisor+Desktops Virtuais roda em um conjunto de servidores destinados exclusivamente para este fim. Observe a figura abaixo:
Ilustração das interação entre Hypervisor e Desktops
Esse tipo de virtualização é muitas vezes chamado de Virtualização de Cliente, pois ocorre a criação de uma máquina virtual para cada usuário. Dessa forma, cada desktop tem seu próprio sistema operacional e aplicativos. O usuário interage com um desktop virtual da mesma forma que usaria um desktop físico, com a vantagem de poder acessar remotamente, através de rede, sua área de trabalho a partir de qualquer localização.
Ilustração de Virtualização de Cliente
As principais vantagens da Virtualização de Desktop são: ganhos de gerenciamento, segurança, disponibilidade do ambiente, mobilidade, padronização e diminuição de custos de aquisição e manutenção dos desktops. Em termos de segurança pode-se destacar que os dados não trafegam pela rede externa, o que trafega são apenas os dados de controle e os "pixels" que formam a tela da aplicação, o que oferece de certa maneira uma segurança a mais.
Já as desvantagens da Virtualização de Desktop são: consumo alto de processamento e memória, o que requer servidores com maior processamento, e a impossibilidade de rodar alguns aplicativos, entre eles aplicativos VOIP e de videoconferência.
Bom pessoal, nesse post aprendemos bastante sobre a virtualização de desktop, suas vantagens e desvantagens, então ficamos por aqui, e até o próximo post!
Não esquecendo que ainda temos mais alguns tipos de virtualização para aprender! Fiquem atentos. ;)
Referências:"O que é Virtualização?", por Fabio Eduardo Amaral -http://www.tecmundo.com.br/web/1624-o-que-e-virtualizacao-.htm
“Virtualização de Desktops”, Planus - http://www.planus.com.br/virtualizacao-de-desktops-cde-22
“Virtualização de Desktop como Solução para a Redução de Custos”, por Adriana Aparecida Costa - http://www.techoje.com.br/site/techoje/categoria/detalhe_artigo/887
“O que é desktop virtualization ou virtualização de desktop?”- http://www.profissionaisti.com.br/2014/08/o-que-e-desktop-virtualization-ou-virtualizacao-de-desktop/
Assinar:
Postagens (Atom)