Proposta de Trabalho de Formatura

 

O documento

Apresentação do trabalho desenvolvido na GVI (outubro/1999 a abril/2000). O projeto se tratava de um sistema de hospedagem de sites denominado 'servidores virtuais', onde eu fui o responsável pelo seu planejamento, desenvolvimento e implantação.

 

Sobre a empresa

A Global View Internet Services é um pequeno provedor de acesso à internet que começou suas atividades no meio de 1999. Com uma cartela de clientes restrita, seu foco foi obter crescimento através de um nicho de mercado expressivo: a de hospedagem de sites.

O crescimento da empresa estaria muito limitado se fosse depender de pessoas para fazerem a manutenção dos domínios; além disso, os usuários gostariam de que as configurações fossem feitas na hora pedida, o que também era um problema. Com esses fatores em mente, Felipe Gustavo Almeida e eu fomos contratados para desenvolver um sistema automatizado, como os já existentes nos EUA.

 

Objetivos

Desenvolvimento de um sistema de hospedagem de sites totalmente automatizado, isto é, via web o usuário pode executar todas as tarefas necessárias à manutenção de seus domínios, assim como de seus respectivos usuários. Nenhuma especificação do projeto nos foi fornecida; simplesmente foi passado que deveria ser um sistema semelhante aos existentes, que desse poder ao usuário de administrar tudo o que precisasse via web.

Devido à esta falta de objetivos pré-definidos, primeiramente nós pesquisamos o que já existia; em seguida, pesquisamos como poderíamos dar mais funcionalidade a esses serviços. Aí pesquisamos como a possibilidade de minimizar custos no projeto (basicamente máquinas). Com todas estas informações, pudemos definir o que deveríamos fazer: utlizando-se linux como plataforma, criar subsistemas dentro dele, de modo que este pudesse executar todas (ou quase) todas as funções do servidor original. Além disso, deveria ser possível a criação de um administrador via web para cada um deles, de maneira automatizada.

 

Estrutura Geral do Trabalho

O quadro de funcionários da empresa era muito reduzido, contando somente com nós dois na área de desenvolvimento. Não tínhamos nenhum superior na área, reportávamos diretamente com o proprietário da empresa.

De agosto/99 a fevereiro/00, o trabalho era feito da seguinte maneira: sentávamos eu e o Gustavo um do lado do outro, estabelecaíamos o que iríamos desenvolver, e dividíamos a tarefa. Cada um ia fazendo uma parte, mas ao mesmo tempo perguntando a opinião do outro em relação às soluções adotadas.

A partir de fevereiro, o Gustavo saiu, e o Jeferson Mariano passou a fazer parte da equipe. Como ele não tinha uma experiência em desenvolvimento de sistemas para internet, primeiramente eu delegava algumas tarefas que precisavam ser feitas a ele (programação perl), e outras de cunho didático. Mais tarde, tentei inteirá-lo com o sistema; devido a uma falha do projeto (falta de documentação), foi muito difícil seu entendimento completo do sistema. Esta era a situação quando deixei a empresa.

Posso dizer que após a partida do Gustavo, fui o único responsável pelo projeto. Mesmo assim as coisas não eram como eu queria: o dono da empresa queria resultados rápidos e não pensava longe. Por isso, tive que abandonar o desenvolvimento muitas vezes para consertar problemas causados por afobamento (ex: servidor que entrou no ar antes de estar completo, sistemas paralelos que precisaram ser desenvolvidos e dedicaram uma atenção especial). Esse foi um dos motivos da minha saída da empresa.

 

Atividades Realizadas

O sistema está pronto e em funcionamento. Descreverei neste item o que foi feito, e o que estava para fazer (melhorias, novos serviços), além de explorar melhor o significado do sistema.

Mas o que são servidores virtuais??

Uma noção de serviços virtuais pode ser encontrada neste howto. Baseados neste documento, começamos a definir como seria o sistema. Definimos que cada máquina deveria se comportar como várias, e que cada usuário teria a impressão de que possui um servidor só para ele. Essa é a idéia do que é um servidor virtual: um sistema que se porta como um servidor, mas que na verdade é um subsistema dentro de um. Por exemplo, é possível dar telnet no sistema, ver a árvore de diretórios e dizer que é um servidor.

O que foi feito

Como o projeto já está feito, simplesmente enumerarei os principais tópicos dos itens desenvolvidos.

O que estava para ser feito
Citarei aqui alguns tópicos de serviços que faltavam ser incorporados/desenvolvidos/implantados, assim como de problemas que não estavam solucionados.

 


nalvesp@linux.ime.usp.br
Last modified: Wed Jul 5 10:09:18 BRT 2000