Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação
Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação em Nuvem)... 3 Introdução ao estado da arte... 3 Vantagens... 4 Desvantagens... 4 Modelos de implementação... 5 Trabalho a desenvolver... 5 Recursos necessários... 6 Planeamento... 6 Bibliografia... 6 1
Introdução A elaboração deste relatório de progresso, no âmbito da disciplina Preparação para a Dissertação do curso Mestrado Integrado em Engenharia Electrotécnica e de Computadores, tem como objectivo a apresentação, descrição e evolução do tema a desenvolver, para colocar em prática, no segundo semestre, na dissertação. Com efeito, o tema da minha dissertação é "IPBrick cloud environment" orientado pelo professor João Manuel Couto das Neves. Este tema de dissertação encontra-se inserido num dos projectos da empresa iportalmais. O tema consiste em desenvolver uma plataforma para simplificar a instalação, gestão e recuperação de um sistema private cloud computing para servidores IPBrick. A private cloud será composta por dois ou mais servidores físicos. A ferramenta projectada deverá ser capaz, através de um ambiente gráfico simples, de criar vários servidores virtuais em qualquer servidor físico disponível e permitir a gestão da política de falhas, ou seja, definir as operações a efectuar em caso de falha. Um dos objectivos, é a recuperação dessas máquinas virtuais caso o servidor físico falhe, logo, em caso de falha, outro servidor físico deverá ser capaz de assumir todas as máquinas que se encontravam a funcionar no servidor onde ocorreu a falha. A plataforma de virtualização usada deverá ser capaz de importar, exportar e clonar configurações e deve permitir um sistema escalável. O ficheiro de configuração das máquinas (filesystem) residirá num dispositivo externo (storage) e deverá se encontrar sempre disponível. Motivação Hoje em dia, vivemos numa sociedade em constante evolução tecnológica juntamente com o aumento da produção e partilha de informação. Com vista a permitir a preservação e a partilha dessa mesma informação, as empresas recorrem à tecnologia como equipamentos de suporte. Os recursos físicos que as empresas adquirem para solucionar os seus problemas significam grandes custos tanto a nível de investimento, como de manutenção e preservação, e muitas das vezes as empresas deixam de ter capacidade, no que toca à infra-estrutura, para alocar um número elevado de equipamentos. Devido a esta realidade, surge a necessidade de encontrar um recurso virtual que substitua os equipamentos físicos. Daqui nasce o sistema de Cloud Computing que funciona como uma forma de partilha de informação num suporte virtual. 2
Cloud Computing (Computação em Nuvem) Introdução ao estado da arte O termo Cloud surge devido à utilização da imagem de uma nuvem para representar redes, como a internet. Hoje em dia, o termo Cloud já não é utilizado para representar um grande conjunto de ligações, routers, switchs e servidores, mas sim para representar serviços. Figura 1 Cloud Computing "The cloud is a virtualization of resources that maintains and manages itself" - Kevin Hartig, Sun Microsystems. 1 Cloud Computing baseia-se na ideia de poder usar variadas ferramentas através da internet, evitando assim a instalação destas no nosso computador, logo o software deixa de estar presente nas máquinas locais e passa a estar em servidores localizados remotamente. O acesso a estes recursos poderá ser feito em qualquer lugar e em qualquer plataforma. A ideia de ter tudo instalado e armazenado no nosso computador, torna-se diferente num ambiente corporativo, pois é mais fácil o uso de aplicações disponíveis em servidores remotos e que possam ser utilizadas por qualquer terminal com permissões para tal. 3
Um dos grandes problemas para as corporações é o alto custo com Tecnologia da Informação (TI). As organizações de TI gastam hoje 80% de seu tempo com a manutenção de sistemas e não é seu objectivo de negócio manter dados e aplicativos em operação. É dinheiro jogado fora, o que é inaceitável nos dias de hoje - Clifton Ashley, director do Google para a América Latina. 2 A evolução das tecnologias, no âmbito da computação e da comunicação, fornece as condições perfeitas para a utilização do Cloud Computing, pois, hoje em dia, é possível obter uma ligação rápida à internet com um baixo custo associado. Vantagens ser possível, grande parte das vezes, a utilização dos recursos em off-line, ou seja, não é necessária a ligação à internet nem à rede, tornando-se os dados criados restritos a essa máquina utilizada, sendo possível mais tarde a partilha pela rede; a possibilidade do utilizador deste sistema só necessitar de saber como aceder e como o utilizar, pois todas as tarefas relacionadas com desenvolvimento, armazenamento, manutenção, actualização, backup e escalonamento fica ao encargo do fornecedor do serviço; redução dos custos para o utilizador, pois o controlo total das aplicações tem um preço. O software tem de estar instalado, configurado e depois actualizado com os últimos lançamentos para se usufruir ao máximo dele; o utilizador tem acesso a variadas aplicações independentemente do seu sistema operativo ou hardware disponível; grande flexibilidade, pois no caso de ser preciso mais capacidade de processamento, basta efectuar um upgrade, sem ser necessário a troca de componentes ou até equipamentos inteiros para isso; o uso deste conceito é mais viável do que o uso de máquinas físicas, pois se um servidor parar de funcionar, outros servidores pertencentes à estrutura do serviço continuarão a fornecer o serviço. Desvantagens segurança e confiabilidade; disponibilidade de serviços, pois como se trata de internet, existem riscos como atrasos e falhas no sistema. 4
Modelos de implementação Software as a Service (SaaS) Paralelamente ao Cloud Computing existe um conceito relacionado com o mesmo, conceito este que se designa por Software as a Service (Software como Serviço). Trata-se de um sistema onde o software é oferecido como um serviço. No modelo de software, vende-se um produto e a receita é proveniente, ou da sua venda, ou da sua concepção, enquanto que no modelo de serviços, a solução é desenvolvida sem qualquer custo para o cliente e depois disponibilizada na internet para que vários clientes possam utilizar esse serviço, obtendo lucro através da taxação ao cliente de um certo valor dependendo da quantidade de tempo ou quantidade de utilização do serviço. Platform as a Service (PaaS) Este sistema facilita a implementação de aplicações sem o custo e a complexidade de gerir o hardware associado, fornecendo todas as facilidades necessárias para suportar o desenvolvimento, o suporte e a entrega de aplicações web e serviços disponíveis na internet, sem a necessidade de efectuar downloads ou instalações do software. Infrastructure as a Service (IaaS) Este sistema fornece uma infra-estrutura informática, geralmente através de virtualização, como um serviço. Trabalho a desenvolver Estudo sobre o estado da arte das plataformas disponíveis (VirtualBox, VMware, Xen e KVM); Escolher a melhor plataforma para desenvolver o sistema pretendido; Desenvolver um sistema para garantir que o sistema se encontra sempre disponível (high availability); Desenvolver uma interface gráfica simples que permita a criação, gestão e recuperação deste sistema. 5
Recursos necessários Todos os recursos necessários para efectuar a minha dissertação serão disponibilizados pela empresa iportalmais. Planeamento Continuar com o estudo sobre o estado da arte das plataformas disponíveis; Realizar vários testes com plataformas diferentes para ajudar na escolha da melhor plataforma; Começar a desenvolver a página WEB da dissertação. Bibliografia http://www.infowester.com/cloudcomputing.php Consultada em 23 Novembro 2 http://pt.wikipedia.org/wiki/ Consultada em 25 Novembro http://www.nerdsnavan.com/?p=105 Consultada em 25 Novembro HAYES,Brian. Junho de 2008. News Tecnology /Cloud Computing - Communications of the ACM. Vol.53 No. 7 BADGER, Lee. 8 Junho de. Cloud Computing: Some Implications for Key Management - National Institute of Standards and Technology 1 ABREU, Paulo. CASTRO, Vitor. 31 de Janeiro de. Servidor de mail elástico em Cloud Computing - Universidade do Minho 6