TI verde e a computação em nuvem
A TI verde trata do uso eficiente de energia para recursos computacionais. Ela pode ser ainda mais eficiente com uma computação em nuvem baseada em Internet distribuída, para fornecer todos os tipos de serviços aos usuários via rede, como armazenamento, processamento, compartilhamento de recursos, software.
Ashis Behera – Dep. Computer Sc & Engg. Padmashree Krutartha Acharya College of Engineering, Bargarh, Odisha
Bikram Kesari Ratha – Dep. Computer Sc. & Application, Utkal University, Bhubaneswar, Odisha
Srinivas Sethi – Dep. Computer Science Engg. & Appl Indira Gandhi Institute of Technology, Sarang, Odisha
O conceito de TI verde trata da computação em nuvem “ecológica” orientada para uma rede de Internet distribuída, essencial para tornar o sistema mais eficiente em um ambiente amigável. Com esta tecnologia, os usuários podem economizar energia e dinheiro com as suas infraestruturas existentes. Isso também ajuda a melhorar a eficiência das aplicações e de software.
A computação em nuvem é baseada em Internet distribuída, que fornece todos os tipos de serviços aos usuários via rede, como armazenamento, processamento, compartilhamento de recursos, software, entre outros. A computação em nuvem permite manter e manipular diferentes aplicativos e recursos pela Internet, sem depender de uma plataforma específica. Entre as suas vantagens está o provisionamento de recursos on-demand – isso quer dizer que pagamos apenas a largura de banda e os recursos do servidor que realmente são utilizados.
Os modelos de implementação e de serviço tornam a computação em nuvem viável e acessível ao cliente. São quatro tipos de acesso à nuvem. No primeiro, a nuvem pública permite que os serviços e recursos estejam abertos ao público, que se beneficia ao acessa-los sem restrições, porém com menos segurança. O segundo é a nuvem privada, que está confinado dentro de uma organização. Nesse caso, somente os membros dessa organização podem ter acesso e usufruir dos serviços dessa nuvem. Um terceiro tipo é o da nuvem comunitária, que é restrita a um grupo de organizações e somente seus membros têm acesso aos serviços disponíveis.
Por fim, temos a nuvem híbrida, que nada mais é do que uma combinação de uma nuvem pública com outra privada. Nessa modalidade, mais aprimorada, a nuvem privada lida com as atividades críticas, enquanto a pública opera com atividades não críticas.
O modelo de serviço define três segmentos importantes de atuação. O primeiro é o SaaS – software como serviço, que fornece ao usuário uma infraestrutura com hardware e rede de Internet instalada, além de uma plataforma como vários sistemas operacionais e aplicativos, como o ERP. O segundo é o PaaS – plataforma como serviço, que fornece várias infraestruturas, além da rede de hardware e plataforma com sistemas operacionais para os usuários. O terceiro tipo é o IaaS – infraestrutura como serviço, onde os clientes podem usar a sua própria plataforma, software e aplicativos, pois apenas a infraestrutura é fornecida por terceiros ao cliente.
Em todos os casos, os benefícios da computação em nuvem são:
- Otimização do custo, devido à virtualização e à utilização adequada dos recursos.
- Redução do impacto dos clientes nas despesas de capital da empresa.
- Recuperação dos dados armazenados em backup quando ocorrem perdas.
- Serviços sob demanda (on demand), eliminando o excesso de provisionamento.
- Acesso aos dados via Internet a partir de qualquer lugar e a qualquer hora.
- Cria e move os recursos de maneira dinâmica.
- É confiável, portátil, escalável, flexível e de baixo custo.
A computação em nuvem ecológica
Embora a nuvem tenha provocado uma revolução na era da computação, ela também trouxe impactos negativos sobre o meio ambiente. A computação em nuvem é aprimorada por meio da instalação de grandes data centers, equipados com sofisticados servidores de alta performance, altas capacidades de memórias e recursos inteligentes de hardware e redes. Para manter esses data centers são necessárias infraestruturas cada vez mais avançadas, incluindo alta capacidade de energia e refrigeração, que geram alto custo e também poluem o meio ambiente ao emitirem mais dióxido de carbono.
Para reduzir a emissão de carbono e o custo é preciso diminuir o consumo de energia nos data centers. O modelo de computação em nuvem ecológica utiliza diferentes técnicas para enfrentar o alto impacto da cloud para o meio ambiente. A TI verde é a concepção, fabricação, uso e descarte de computadores, servidores e outros recursos de forma eficiente e efetiva com o mínimo impacto para o meio ambiente. Isso pode ser alcançado ao se redesenhar a infraestrutura da rede reduzindo o número de servidores, switches e cabos e ainda utilizando diferentes esquemas de consumo de energia. Existem novas tecnologias que atuam atrás da computação em nuvem para reduzir o consumo de energia dos data centers e também para tornar a computação em nuvem flexível e confiável. Algumas dessas tecnologias tratam da virtualização, agendamento, alocação de recursos e roteamento.
Virtualização da nuvem ecológica
A computação em nuvem separa o aplicativo do hardware, ao mesmo tempo em que a virtualização separa o hardware do sistema operacional. Nas soluções comuns, o sistema operacional é instalado no hardware, ou seja, ele está fortemente associado ao hardware, por isso é muito difícil migrar ou mover o software ou arquivos de uma máquina para outra, pois há uma dependência da plataforma. Além disso, manter o backup de software e de arquivos é um processo difícil, devido às diferenças de plataformas e de configurações de hardware.
Atualmente, os servidores e sistemas com técnica de virtualização podem acabar com essas dificuldades, pois essa tecnologia fornece uma camada separada chamada “hypervisor” alocada na parte superior do hardware, na qual diferentes softwares são instalados, tornando o sistema operacional independente do hardware. Uma vez que os sistemas operacionais não estão mais vinculados ao hardware, eles podem ser migrados ou deslocados para outro, sem perder sua integridade. A virtualização executa menos sistemas com alto índice de utilização. Assim, ao usar a virtualização há economia de espaço, de recursos e de meio ambiente.
Na virtualização da computação em nuvem as instâncias de diferentes sistemas operacionais e seus aplicativos associados, chamados de “máquina virtual”, estão instalados na camada hypervisor. O hypervisor possibilita a execução de diferentes sistemas operacionais e software em um único servidor físico. Assim, ele consolida todos os servidores similares na rede em um único grupo de equipamentos de alto desempenho, reduzindo o custo de manutenção do data center.
Programação verde na nuvem
O agendamento de recursos é uma estratégia chave na computação em nuvem, pois é uma maneira de determinar a realização das atividades. É onde as grandes máquinas virtuais precisam ser alocadas para milhares de usuários distribuídos de forma dinâmica, justa e lucrativa. Existem agendadores eficazes, como agendador FCFS, agendadores randomizados, agendamento prioritário, etc., que podem reduzir o custo operacional e o tempo de espera da fila e aumentar a utilização dos recursos. Um desses agendadores é o Celery, que cuida da programação e gerenciamento de tarefas em um ambiente distribuído. Outro algoritmo de agendamento eficiente é o DVFS – Dynamic Voltage & Frequency Scaling (DVFS), que reduz substancialmente o consumo de energia, limitando dinamicamente a frequência de trabalho e o consumo de energia. O algoritmo MapReduce pode melhorar a eficiência energética do servidor, considerando a variação do consumo de energia e, em seguida, ajustar dinamicamente os dados locais.
O agendamento funciona da seguinte maneira: para iniciar uma tarefa, o cliente coloca uma mensagem na fila. Cada mensagem corresponde a uma tarefa específica. Cada tarefa contém parâmetros como o nome da fila, o temporizador de contagem decrescente, etc. Esses parâmetros são analisados e adequadamente guardados. As tarefas são, então, distribuídas aos nós de trabalho, conforme o algoritmo de agendamento. Para seguir em frente, o “broker” entrega a mensagem a um nó de trabalho que ouviu o chamado e ao receber a tarefa a adiciona em sua própria fila e a executa quando chega a sua vez.
Alocação de recursos na nuvem
A computação em nuvem enfrenta desafios como a alocação adequada dos recursos aos usuários, pois está sendo executada com recursos heterogêneos e diferentes aplicações. Portanto, o provisionamento de recursos para um usuário deve ser feito com o agendamento adequado para que, tanto a quantidade total de recursos, quanto sua localização sejam transparentes para os usuários.
A alocação de recursos traz economia para o usuário final, bem como para o provedor de serviços, porque proporciona a máxima satisfação ao consumidor e lucro ao provedor de serviços. Portanto, o gerenciamento adequado de recursos é um fator primordial na nuvem.
A alocação de recursos é feita em três etapas. Primeiro, monitora o pedido do cliente e verifica se há recursos suficientes disponíveis para atende-lo. Segundo, se encontrar condições, a alocação de recursos é feita. E terceiro, após a atribuição dos recursos, percebe-se que algum não está sendo utilizado corretamente. Ele pega os recursos de volta, desativando-os ou alocando para outros usuários. Por conta disso, há uma ênfase para que os recursos físicos, como núcleos de CPU, espaços de disco e largura de banda, sejam compartilhados entre múltiplas solicitações por meio de virtualização e provisionamento.
Basicamente, o pedido de recursos virtualizado é caracterizado por três aspectos básicos: espaço em disco, memória e processamento. O sistema sempre monitora os recursos virtualizados no host físico. Se o sistema interromper a provisão, o agendador suspende a solicitação e migra todos os recursos virtuais para outro host físico, caso contrário, ele continuará fornecendo o pedido sob demanda.
Para qualquer software de alocação de recursos, o desempenho isolado é um ponto chave. E esse isolamento será otimizado e mais transparente se o software tiver melhor controle sobre os recursos. O software também considera os recursos computacionais e de rede e as restrições ao programar máquinas virtuais nos servidores, bem como programar recursos de rede para atender à demanda com precisão. Cientistas estão desenvolvendo um sistema de alocação de recursos que evita a sobrecarga no servidor, além de suportar a computação verde, reduzindo o número de servidores utilizados.
Roteamento na computação em nuvem
A computação em nuvem é reconhecida por sua portabilidade, escalabilidade, confiabilidade e baixo custo. Para tornar a computação em nuvem resiliente, as informações ou os dados solicitados devem acontecer com o mínimo possível de atraso na entrega. Para tanto, os mesmos dados ou informações residem nos vários servidores, em diferentes data centers localizados em diferentes locais. O processamento necessário para mover os dados será reduzido se os data centers estiverem próximos das fontes geradoras de energia, resultando em redução no consumo. No entanto, em alguns casos, a instabilidade da rede torna a nuvem menos confiável e algumas técnicas de roteamento são ponderadas. Junta-se o roteamento e o algoritmo de roteamento de duas opções de rotas mais curtas, para onde o usuário pode enviar o pedido de recursos por uma máquina virtual, que contém a quantidade de recursos necessários, ou ainda, o provedor de serviços da nuvem primeiro atende a fila dos pedidos das máquinas virtuais e depois agenda-os para a máquina física.
Em outra discussão, são propostos dois algoritmos, usados para descobrir o roteamento eficiente entre o “broker” e a nuvem. Aqui, o “broker” calcula a rota ideal ao usar o S-ORCF e a nuvem mantém o fator de custo quando calcula o S-ORM para encontrar a rota ideal.
Conclusão
A computação em nuvem possui várias vantagens. Mas a computação em nuvem excessiva gera graves efeitos colaterais para o meio ambiente e também o aumento de custos. Para aproveitar a computação em nuvem, organizações e indústrias estão criando novos data centers com máquinas mais poderosas e sofisticadas. Essas máquinas e servidores precisam de mais energia para manter e refrigerar a infraestrutura, poluindo meio ambiente e aumento o custo de energia. Assim, a TI verde e a computação em nuvem ecológica, com novas tecnologias, como a virtualização, a consolidação de servidores e a alocação de recursos são meios para economizar energia e reduzir a emissão de CO2.