A computação tem passado por mudanças fundamentais. Algumas mudanças são facilmente visíveis, como os dispositivos de armazenamento que são do tamanho de um cartão de crédito e tem uma capacidade muito maior do que os mainframes de 30 anos atrás, ou ainda celulares capazes de realizar mais tarefas do que esses mesmos mainframe, o crescimento do software livre, entre outras coisas. Mas as mudanças fundamentais acontecem apenas uma vez a cada dez anos ou mais, mesmo na área de computação. O momento clama por mudanças no negócio de computação. E é nesse nicho que floresce a computação em nuvem: melhor, mais rápida, mais barata. Mais do que uma política, mais do que uma filosofia, é literalmente uma maneira de viver dentre a comunidade tecnológica. Computação – processamento, armazenamento, comunicação – é relativamente gratuito, escalável o quanto for necessário, opera a si mesmo e sempre funciona. Essa é a visão de computação que guia os desenvolvedores da computação em nuvem (MARKS et. al, 2010).
Dentro do conceito de nuvem, a escalabilidade, então, é uma das principais ideias. A virtualização é um conceito que, nesse contexto, permite a escalabidade. Apesar de não ser um conceito novo, é ela que permite um melhor uso de um servidor, agregando vários sistemas operacionais e aplicativos em um único computador que é compartilhado. Simplificando, a computação em nuvem é a mudança do processamento e do armazenamento de dentro para fora da empresa dentro de uma nuvem – o que permite uma melhor utilização dos recursos (IBM CLOUD COMPUTING, 2010).
E como será possível utilizar essa nuvem? O Eucalyptus é um software Open Source, baseado na arquitetura de software Linux que implementa nuvens escaláveis e eficientes, tanto privadas quando híbridas, dentro das organizações de TI (INTRODUCING EUCALYPTUS, 2010).
O presente artigo pretende abordar os conceitos de computação em nuvem através da ótica de sistemas distribuídos na próxima seção e também apresentar o software Eucalyptus, que é um sistema responsável por implementar o serviço de nuvem na seção terceira.
A computação em nuvem
Hurwitz et. al (2010) afirma que a computação em nuvem é o próximo estágio de evolução da Internet. A computação em nuvem incorpora não apenas poder de processamento, mas infraestrutura computacional, processo de negócio, colaboração pessoal e pode ser entregue como um serviço – o quanto você precisar, quando você precisar.
Mas o que exatamente é computação em nuvem? Marks et. al (2010) define computação em nuvem como sendo um modelo de computação que fornece acesso simples e sob demanda a centros altamente elásticos de recursos de computação. Esses recursos são fornecidos como um serviço em uma rede (geralmente a internet), e são possível graças a uma série de inovações em tecnologias de computação, operações e modelos de negócio. A nuvem permite que os consumidores da tecnologia pensem na mesma como um recurso ilimitado, de mínimo custo, e confiável, ao mesmo tempo em que não precisa se preocupar como ela é construída, como funciona, quem opera ou onde está localizado.
Segundo Marks et al. (2010) quando o assunto é nuvem, é possível definir sete características essenciais: Escalabilidade, capacidade de redimensionar para suportar o problema a ser processado; Elasticidade, facilidade para expandir ou comprimir automaticamente; Auto-serviço, o próprio usuário, através de uma requisição simples, consegue acesso aos recursos computacionais de que irá precisar; Acesso de qualquer lugar, todas as funcionalidades da nuvem podem ser acessadas de qualquer lugar, de qualquer dispositivo; Virtualização Completa, não importa quão grande seja a capacidade computacional da nuvem, ela será simples de operar e de manter, como se fosse apenas um servidor; Consistência, apesar da existência de diversos blocos de processamento na nuvem, que podem usar tecnologias diversas, a apresentação do serviço para o usuário final deve ser consistente; Commodity.
Segundo o IBM Cloud Computing (2010) existe um grande investimento em computação em nuvem e infraestruturas relacionadas. Esse investimento maciço indica que há uma demanda para esse tipo de serviço. Entretanto, a corrida à computação em nuvem está só começando.
Chee et. al (2010) prevê que a computação em nuvem irá ganhar mercado e, como consequência, irá adotar uma padronização. Várias serão as opções de produtos no mercado que poderão ser processados na nuvem escolhida. Esse mercado teria a vantagem de atingir um grande número de usuários, já que os seus softwares iriam operar em qualquer nuvem. O usuário final não irá comprar uma licença caríssima, mas sim um termo de licença que duraria apenas um tempo determinado. A previsão de Chee et. al (2010) é de que, com uma padronização das nuvens, o mercado de software se abra para um número maior de vendedores e que o produto final fique mais barato para os compradores. A computação será possível de qualquer lugar, através de qualquer aparelho.
O sistema Eucalyptus
O Eucalyptus é um sistema de infra-estrutura para implementação de uma nuvem híbrida do tipo IaaS.. Pode-se usar clusters ou workstation farms (CHAGANTI, 2009). Começou como um projeto da Universidade de Santa Bárbara, Califórnia, EUA, e tem sido comercializada atualmente pela Eucalyptus Systems Inc. Contudo, ainda é mantida e desenvolvida como um software livre e de código aberto (http://www.eucalyptus.com/licenses). Disponível para sistemas Linux, possui uma interface compatível com a EC2 e a S3, as interfaces SOAP e REST da Amazon. Utiliza a virtualização para sua computação em nuvem com hipervisores dos tipos KVM ou Xen (CHAGANTI, 2009). Seu framework de software é altamente modular e seus mecanismos de comunicação são agnósticos quanto às linguagens de programação (CHAGANTI, 2009).
No artigo The Eucalyptus Open-source Cloud-computing System (NURMI et. al, 2009) é apresentada sua arquitetura. Ela é composta por cinco principais componentes implementados como web services distintos. Essa abordagem traz benefícios como cada um dos WS apresentarem uma API bem definida na forma de documentos WSDL e a possibilidade de se usar web services existentes.
O Cloud Controller (CLC) é o componente controlador principal responsável em gerir o sistema todo. É o ponto principal de entrada na nuvem Eucalyptus para todos os usuários e administradores. O Cluster Controller é responsável por manter todas as instâncias virtuais da rede. O Walrus (W) é o controlador que envia mensagens de acesso aos dispositivos de armazenagem dentro da Eucalyptus. O Storage Contoller (SC) é o serviço de armazenagem dentro da Eucalyptus que implementa a interface da Amazon S3.
Uma instalação do Eucalyptus pode agregar e gerenciar recursos de um ou vários clusters (CHAGANTI, 2009). A instalação em um cluster consiste de pelo menos duas máquinas: uma rodando o CC, SC e o CLC, e a outra, rodando o NC. É recomendada para ambientes de experimentação. Uma instalação em múltiplos clusters pode colocar cada um dos componentes apresentados anteriormente em máquinas separadas. É preferido quando se tem a intenção de realizar trabalhos mais sérios.
Entre os benefícios da Eucalyptus podemos citar ele ser um ambiente de computação em nuvem bem arquitetado; ser um sistema de núcleo aberto; ter sido criada para abrigar comunicação e pesquisa para plataformas de computação em nuvem. Está disponível livre e gratuitamente na forma de código fonte, facilitando a compreensão do que está “por baixo” e a criação de extensões para a plataforma. Atualmente, seu desenvolvimento está em ritmo acelerado. Por ser compatível com a API Amazon EC2 e por causa de sua flexibilidade, pode-se migrar as aplicações de uma nuvem para a outra facilmente. Permite a criação de nuvens híbridas que usam nuvens privadas e públicas simultaneamente.
Considerações finais
A computação em nuvem já é uma realidade, uma nova maneira de oferecimento de serviços em TI, que garante a entrega de capacidade computacional que o cliente precisar, quando ele precisar. Caso esse poder computacional estivesse no data center do cliente, ele poderia ser subutilizado em diversas ocasiões, gerando gastos desnecessários. Com a computação em nuvem, o cliente paga apenas pelo que usa.
O Eucalyptus é uma alternativa para quem quer trabalhar com computação em nuvem. E tem como vantagem ser um sistema de código aberto, possuir compatibilidade com arquiteturas consolidadas (EC2, S3) e utilizar tecnologias com grande adoção, tais como Linus, Xen, SOAP, REST.
Referências
-
CHAGANTI, P. Cloud services for your virtual infrastructure, Part 1: Infrastructure-as-a-Service (IaaS) and Eucalyptus. 2009.
-
CHEE, B., FRANKLIN, C. Cloud Computing: Technologies and Strategies of the Ubiquitous Data Center. Boca Raton: CRC Press, 2010.
-
INTRODUCING EUCALYPTUS, 2010. Disponível em: <http://open.eucalyptus.com/wiki/IntroducingEucalyptus_v2.0>. Acessado em: 16/09/2010.
-
IBM CLOUD COMPUTING, 2010. Disponível em: <http://www.ibm.com/developerworks/br/library/l-cloud-computing/>. Acessado em: 16/09/2010.
-
HURWITZ, J., BLOOR, R., KAUFMAN, M., HALPER, F. Cloud Computing for Dummies, Hoboken: Wiley Publishing, 2010.
-
MARKS, E., LOZANO, B. Executive’s Guide to Cloud Computing, Hoboken: Wiley & Sons, 2010
-
NURMI, D., WOLSKI, R., GRZEGORCZYK, C., OBERTELLI, G., SOMAN, S., YOUSEFF, L., ZOGORODNOV, D. The Eucalyptus Open-source Cloud-computing System. 2009.
Deixe seu comentário