ESTÁGIO CURRICULAR I e II PLANEJAMENTO E IMPLANTAÇÃO DE AMBIENTE DE DESENVOLVIMENTO E INFRAESTRUTURA DE SERVIDORES - PDF
ESTÁGIO CURRICULAR I e II PLANEJAMENTO E IMPLANTAÇÃO DE AMBIENTE DE DESENVOLVIMENTO E INFRAESTRUTURA DE SERVIDORES
Download "ESTÁGIO CURRICULAR I e II PLANEJAMENTO E IMPLANTAÇÃO DE AMBIENTE DE DESENVOLVIMENTO E INFRAESTRUTURA DE SERVIDORES"
Luiz Guilherme Assunção de Carvalho
1 JÚLIO SANTOS MONTEIRO ESTÁGIO CURRICULAR I e II PLANEJAMENTO E IMPLANTAÇÃO DE AMBIENTE DE DESENVOLVIMENTO E INFRAESTRUTURA DE SERVIDORES EMPRESA: Awegen Desenvolvimento e Consultoria em TI Ltda. SETOR: Desenvolvimento SUPERVISOR: Juventina M. Dalri Santos ORIENTADOR: Rafael Rodrigues Obelheiro CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC JOINVILLE SANTA CATARINA - BRASIL NOVEMBRO, 2010
2 APROVADO EM.../.../2010 Profº Rafael R. Obelheiro Doutor em Engenharia Elétrica Professor Orientador Profº Mauricio Aronne Pillon Doutor em Ciência da Computação Profº Harry Moissa Mestre em Ciência da Computação Juventina M. Dalri Santos Supervisor da CONCEDENTE Carimbo da Empresa
3 UNIDADE CONCEDENTE Razão Social: Awegen Desenvolvimento e Consultoria em Tecnologia da Informação Ltda. M.E. CGC/MF: / Endereço: Rua Doutor João Colin, Loja 03 Bairro: America CEP: Cidade: Joinville UF: SC Fone: - Atividade Principal: Arquiteto de Software Supervisor: Juventina M. Dalri Santos Cargo: Sócia Proprietária ESTAGIÁRIO Nome: Júlio Santos Monteiro Matrícula: Endereço: Rua República da China, 100 Bairro: Floresta CEP: Cidade: Joinville UF: SC Fone: (47) Endereço (local do estágio): Rua Doutor João Colin, 1285 Loja 03 Bairro: America CEP: Cidade: Joinville UF: SC Fone: - Regularmente matriculado no semestre: 7 Curso: BCC Formatura (prevista) Semestre/Ano: 2011/1 Título do Estágio: Planejamento e Implantação de Ambiente de Desenvolvimento Período: 17/08/2010 a 12/11/2010 Carga horária: 360 horas AVALIAÇÃO FINAL DO ESTÁGIO PELO CENTRO DE CIÊNCIAS TECNOLÓGICAS Representada pelo Professor Orientador: Carlos N. Vetorazzi Jr. CONCEITO FINAL DO ESTÁGIO NOTA ETG I (Média do Processo) NOTA ETG II (Média do Processo) Rubrica do Professor da Disciplina Excelente (9,1 a 10) Muito Bom (8,1 a 9,0) Bom (7,1 a 8,0) Regular (5,0 a 7,0) Reprovado (0,0 a 4,9) / / 2010
4 Nome do Estagiário: Júlio Santos Monteiro QUADRO I AVALIAÇÃO NOS ASPECTOS PROFISSIONAIS QUALIDADE DO TRABALHO: Considerando o possível. ENGENHOSIDADE: Capacidade de sugerir, projetar, executar modificações ou inovações. CONHECIMENTO: Demonstrado no desenvolvimento das atividades programadas. CUMPRIMENTO DAS TAREFAS: Considerar o volume de atividades dentro do padrão razoável. ESPÍRITO INQUISITIVO: Disposição demonstrada para aprender. INICIATIVA: No desenvolvimento das atividades. SOMA Pontos QUADRO II AVALIAÇÃO DOS ASPECTOS HUMANOS ASSIDUIDADE: Cumprimento do horário e ausência de faltas. DISCIPLINA: Observância das normas internas da Empresa. SOCIABILIDADE: Facilidade de se integrar com os outros no ambiente de trabalho. COOPERAÇÃO: Disposição para cooperar com os demais para atender as atividades. SENSO DE RESPONSABILIDADE: Zelo pelo material, equipamentos e bens da empresa. SOMA Pontos PONTUAÇÃO PARA O QUADRO I E II Sofrível - 1 ponto, Regular - 2 pontos, Bom - 3 pontos, Muito Bom - 4 pontos, Excelente - 5 pontos LIMITES PARA CONCEITUAÇÃO AVALIAÇÃO FINAL Pontos De 57 a SOFRÍVEL SOMA do Quadro I multiplicada por 7 De 102 a REGULAR SOMA do Quadro II multiplicada por 3 De 148 a BOM SOMA TOTAL De 195 a MUITO BOM De 241 a EXCELENTE Nome da Empresa: Awegen Desenvolvimento e Consultoria em TI Ltda. Representada pelo Supervisor: Juventina M. Dalri Santos CONCEITO CONFORME SOMA TOTAL Rubrica do Supervisor da Empresa Local: Data : Carimbo da Empresa
5 UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT PLANO DE ESTÁGIO I e II CURRICULAR OBRIGATÓRIO ESTAGIÁRIO Nome: Júlio Santos Monteiro Matrícula: Endereço: Rua República da China, 100 Bairro: Floresta CEP: Cidade: Joinville UF: SC Fone: (47) Endereço (local do estágio): Rua Doutor João Colin, 1285 Loja 03 Bairro: America CEP: Cidade: Joinville UF: SC Fone: - Regularmente matriculado no semestre: 7 Curso: BCC Formatura (prevista) Semestre/Ano: 2011/1 UNIDADE CONCEDENTE Razão Social: Awegen Desenvolvimento e Consultoria em Tecnologia da Informação Ltda. M.E. CGC/MF: / Endereço: Rua Doutor João Colin, Loja 03 Bairro: America CEP: Cidade: Joinville UF: SC Fone: - Atividade Principal: Arquiteto de Software Supervisor: Juventina M. Dalri Santos Cargo: Sócia Proprietária DADOS DO ESTÁGIO Área de atuação: Desenvolvimento de Software Departamento de atuação: Desenvolvimento Fone: - Horário do Estágio: 08:00 até 12:00, e 13:00 até 15:00 Total de horas do Estágio: 360 horas Período do Estágio: 17/08/2010 até 12/11/2010 Total de horas semanais do Estágio: 30 horas Nome do Professor Orientador: Rafael Rodrigues Obelheiro Departamento: DCC Disciplina(s) simultânea(s) com o estágio Quantas: 3 Quais: TCC-I TOCI-01 TOCI-14
6 OBJETIVO GERAL Planejar, implantar e prestar manutenção de ambiente de desenvolvimento e produção para software criado pela empresa. ATIVIDADES OBJETIVO ESPECÍFICO HORAS Planejamento do ambiente de Planejar ambiente de desenvolvimento, 42 desenvolvimento bem como ferramentas. horas Implantação do ambiente de desenvolvimento Implantação de repositório para armazenar o código fonte Implantação de ambiente de CI Planejamento da infraestrutura de servidores Implantação da infraestrutura de balanceamento de carga Implantação da infraestrutura de servidores Web Implantação da infraestrutura de servidores de BD Backup e restauração de servidores Implantar ambiente de desenvolvimento nas estações de trabalho Implantar repositório de código fonte para realizar controle de versão Implantar ambiente de integração contínua (CI) Planejar infraestrutura dos servidores Implantar infraestrutura de balanceamento de carga Implantar infraestrutura de servidores Web Implantar infraestrutura de servidores de Banco de dados Implantar medidas de backup e recuperação em todos servidores implantados 42 horas 30 horas 60 horas 42 horas 30 horas 42 horas 30 horas 42 horas Rubrica do Professor Orientador Aprovação do Membro do Comitê de Estágio Rubrica do Coordenador de Estágio Rubrica do Supervisor da Empresa Data: Data: Data: Prof Malutta César Data: Carimbo da Empresa
7 CRONOGRAMA FÍSICO E REAL ATIVIDADES PERÍODO (30 horas) Planejamento do ambiente de desenvolvimento Implantação do ambiente de desenvolvimento Implantação de repositório para armazenar o código fonte Implantação de ambiente de CI Planejamento da infraestrutura de servidores Implantação da infraestrutura de balanceamento de carga Implantação da infraestrutura de servidores Web Implantação da infraestrutura de servidores de BD Backup e restauração de servidores P R P R P R P R P R P R P R P R P R P R As colunas acima representam semanas de trabalho.
8 TERMO DE COMPROMISSO DE ESTÁGIO CURRICULAR OBRIGATÓRIO Este Termo de Compromisso tem por objetivo a realização do estágio curricular obrigatório dos acadêmicos da UDESC, não gerando vínculo empregatício, nos termos da Lei nº /2008. ESTAGIÁRIO: Nome: Júlio Santos Monteiro CPF: Data Nasc.: 25/03/1988 Endereço: Rua República da China, 100 CEP: Telefone: (47) Curso: Bacharelado em Ciência da Computação Fase: 7ª Ano/Semestre: 2010/2 Matrícula: O estagiário acima qualificado está segurado pela apólice nº da Companhia Azul Seguros. INSTITUIÇÃO DE ENSINO: FUNDAÇÃO UNIVERSIDADE DO ESTADO DE SANTA CATARINA, fundação pública instituída e mantida pelo Estado de Santa Catarina, com base no artigo 39, do Ato das Disposições Constitucionais Transitórias da Constituição Estadual de 1989, e, na Lei nº , de 01 de Outubro de 1990, inscrita no CNPJ sob o nº / , com sede e foro na cidade de Florianópolis, e jurisdição em todo o território catarinense, situada à Avenida Madre Benvenuta, 2007, Itacorubi, neste ato representada pelo Coordenador de Estágio do Centro de Ciências Tecnológicas, Professor Nilson Campos, RG nº , , doravante denominada UDESC. CONCEDENTE: Concedente: Awegen Desenvolvimento e Consultoria em TI Ltda Endereço: Rua Dr. João Colin, 1285 Loja 03 Cidade: Joinville CNPJ/CPF: / Representada por: Juventina M. Dalri Santos Cargo: Sócia Proprietária Local de Estágio: Desenvolvimento de Software Supervisor/Responsável: Juventina M. Dalri Santos Cargo: Sócia Proprietária Cláusula 1ª DO OBJETO DO TERMO DE COMPROMISSO Este termo de compromisso tem por objetivo estabelecer e regulamentar a admissão de alunos da UDESC, através da concessão de estágios curriculares obrigatórios, (remunerados ou não), nos termos da Lei nº Cláusula 2ª DA VIGÊNCIA O vínculo de estágio, objeto do presente Termo de Compromisso de Estágio, terá início da data de sua assinatura, até 12/11/2010, e desde que mantido o vínculo do estagiário com a Instituição de Ensino, nos termos do artigo 11, da Lei nº /2008. Cláusula 3ª DA DESCRIÇÃO DAS ATIVIDADES A SEREM EXECUTADAS PELO ESTAGIÁRIO
9 As atividades a serem exercidas pelo estagiário compreendem as tarefas oriundas do plano de estágio e elaborado em consonância com o projeto pedagógico do curso. Parágrafo único A carga horária total do estágio curricular obrigatório é estabelecida no projeto pedagógico de cada curso, observada a cláusula quarta. Cláusula 4ª DO HORÁRIO DE JORNADA A jornada do estagiário será de até 6 (seis) horas diárias e 30 (trinta) horas semanais, garantida a compatibilidade com as atividades escolares. Parágrafo 1º - O estágio relativo a cursos que alternam teoria e prática, nos períodos em que não estão programadas aulas presenciais, poderá ter jornada de até 40 (quarenta) horas semanais, desde que isso esteja previsto no projeto pedagógico do curso e da instituição de ensino. Parágrafo 2º - Se a instituição de ensino adotar verificações de aprendizagem periódicas ou finais, nos períodos de avaliação, o estagiário terá direito a reduzir pelo menos à metade sua carga horária, para garantir o bom desempenho do estudante. Cláusula 5ª - DO DIREITO AO RECESSO É assegurado ao estagiário, sempre que o estágio tenha duração igual ou superior a 1 (um) ano, período de recesso remunerado, quando for o caso, de 30 (trinta) dias, a ser gozado preferencialmente durante suas férias escolares, de acordo com o disposto na Lei nº /2008, artigo 13. Parágrafo 1º Os dias de recesso previstos neste artigo serão concedidos de maneira proporcional, nos casos de o estágio ter duração inferior a 1 (um) ano; Parágrafo 2º Não há direito ao adicional de 1/3 previsto na Constituição Federal, salvo disposição legislativa em contrário; Parágrafo 3º Compete a entidade concedente estipular o dia de concessão do recesso, que será preferencialmente durante as férias escolares. Cláusula 6ª DOS DEVERES DAS PARTES Além de outros previstos neste termo e no plano de atividades do estagiário, são os seguintes os deveres das partes: Parágrafo 1º- Da Instituição de Ensino: I - avaliar as instalações da parte concedente do estágio e sua adequação à formação cultural e profissional do acadêmico; II - indicar professor orientador, da área a ser desenvolvida no estágio, como responsável pelo acompanhamento e avaliação das atividades do estagiário; III - exigir do acadêmico a apresentação periódica, em prazo não superior a 6 (seis) meses, de relatório das atividades; IV - zelar pelo cumprimento do termo de compromisso, reorientando o estagiário para outro local em caso de descumprimento de suas normas; V - elaborar normas complementares e instrumentos de avaliação dos estágios e de seus acadêmicos;
10 VI - comunicar à parte concedente do estágio, no início do período letivo, as datas de realização das avaliações; Parágrafo 2º - Da Entidade Concedente I ofertar instalações que tenham condições de proporcionar ao acadêmico atividades de aprendizagem relacionadas ao seu curso de formação; II indicar funcionário de seu quadro de pessoal, com formação ou experiência profissional na área de conhecimento desenvolvida no curso do estagiário, para orientar e supervisionar, sendo este supervisor responsável por no máximo 10 (dez) estagiários simultaneamente; III por ocasião do desligamento do estagiário, entregar termo de realização do estágio com indicação resumida das atividades desenvolvidas, dos períodos e da avaliação de desempenho; IV manter à disposição da fiscalização documentos que comprovem a relação de estágio; V enviar à instituição de ensino, com periodicidade mínima de 6 (seis) meses, relatório de atividades, com vista obrigatória ao estagiário; VI zelar pela aprendizagem do estagiário, em conformidade com o currículo de seu curso de formação; VII - pagar pontualmente a bolsa auxílio e benefícios diretamente ao estagiário ou realizar pontualmente o repasse, quando assim acordado; VIII - fornecer à instituição de ensino todas as informações necessárias à avaliação e acompanhamento do estágio quando solicitada. IX - sinalizar à Instituição os casos de descumprimento ao estabelecido neste termo. Parágrafo 3º - Do estagiário I cumprir com zelo e responsabilidade as tarefas que lhe forem submetidas; II cumprir integralmente as horas previstas para o seu estágio, conforme especificado em cláusula própria; III manter regularmente preenchido o relatório de atividades exercidas, a ser devidamente conferido pelo supervisor indicado pela entidade concedente, e, após visto de ambos, em período não superior à seis meses, providenciar a entrega do relatório ao professor orientador indicado pela instituição de ensino; IV no mesmo prazo descrito no item anterior, ou seja, seis meses, deverá o estagiário trazer declaração atualizada da instituição de ensino atestando a sua matrícula e regular freqüência; V acatar as normas internas da Concedente, bem como orientações e recomendações efetuadas por seu supervisor. VI - responder, durante a execução do estágio, por quaisquer faltas ou danos ocasionados, dolosa ou culposamente, ao patrimônio da Concedente e seus clientes e manter sigilo em relação a informações e dados aos quais tiver acesso em razão da realização do estágio. VII - assinar, ao término do estágio, o Termo de Desligamento do Estágio, a ser fornecido pela Concedente. Cláusula 7ª - DO PAGAMENTO DO SEGURO CONTRA ACIDENTES PESSOAIS Nos estágios curriculares obrigatórios não remunerados dos cursos de graduação da UDESC, a responsabilidade pelo pagamento do seguro contra acidentes pessoais em favor do estudante de estágio poderá ficar a cargo tanto da UDESC quanto da entidade
11 concedente da oportunidade do estágio, de acordo com a Resolução nº 200/2006 CONSUNI. Cláusula 8ª DA BOLSA AUXÍLIO No caso do estagiário receber da Concedente bolsa, o seu valor será de R$ (sem bolsa auxílio) mensal. Cláusula 9ª DA RESCISÃO Este estágio poderá ser rescindido nos seguintes casos: a) Não cumprimento dos termos de compromisso. b) Conclusão, trancamento, desligamento e abandono do curso. c) Pedido de qualquer uma das partes, a qualquer tempo. d) Automaticamente, ao término do estágio. e) Após decorrida a terça parte do tempo previsto para a duração do estágio, se comprovada a insuficiência na avaliação de desempenho na concedente ou na instituição de ensino. f) Pelo não comparecimento, sem motivo justificado, por mais de cinco dias, consecutivos ou não, no período de um mês, ou por trinta dias durante o período de estágio. E por estarem de inteiro acordo com a forma deste instrumento, as partes assinam o presente termo de compromisso em 03 vias de igual teor e forma. Joinville(SC), 17 de Agosto de 2010 Coordenador de Estágio da Udesc Unidade Concedente com carimbo Estagiário Testemunhas:
12 Aos meus pais Maria Olávia Santos Monteiro e Mauricio Monteiro
13 AGRADECIMENTOS Agradeço a todos que me auxiliaram na construção de meu conhecimento, o apoio que me foi dado por toda a Awegen e Euax, principalmente a Roberto Espinha, diretor de desenvolvimento da Euax. Agradeço pela oportunidade e pela confiança que me depositou. Agradeço a todos os professores da UDESC, especialmente ao professor Rafel Obelheiro e ao professor Mauricio Pillon, por terem sempre me feito buscar mais. Finalmente, agradeço aos meus familiares por sempre estarem ao lado quando precisei.
14 SUMÁRIO 1. Introdução Objetivos Geral Específicos Justificativa Organização do Estudo A Empresa Histórico Principais Serviços Principais Clientes Considerações Gerais Desenvolvimento Cliente a ser atendido Planejamento do ambiente de desenvolvimento Implantação do ambiente de desenvolvimento Implantação do repositório de código fonte Implantação do ambiente de CI Planejamento da infraestrutura de servidores Implantação da infraestrutura de balanceamento de carga Implantação de servidores Web Implantação da infraestrutura de servidores de banco de dados Backup e restauração de servidores Resultados Considerações Finais Glossário Referências Bibliográficas... 36
15 LISTA DE FIGURAS Figura 1. Painel de administração do servidor na Linode Figura 2. Situação da integração contínua, exibida em um monitor Figura 3. Monitor com a situação da integração contínua Figura 4. Relatório no Hudson do projeto master Figura 5. Painel de servidores da Euax na Rackspace Figura 6. Nova equipe de desenvolvimento de software na empresa Euax... 32
16 RESUMO O estágio realizado na empresa Awegen consistiu em realizar as atividades contratadas pela empresa Euax para a criação de um ambiente de desenvolvimento e infraestrutura de servidores para a execução de um software desenvolvido pelo cliente. Durante o período, foram desenvolvidas atividades relacionadas a planejamento de ambiente de desenvolvimento, planejamento de infraestrutura de servidores, implantação dos ambientes planejados e instauração de política de backup sobre a infraestrutura de servidores recém-construída. Ao final, a empresa cliente Euax teve seu ambiente de desenvolvimento montado, não tendo sofrido nenhuma alteração até o final do presente trabalho, demonstrando que os procedimentos foram bem planejados. Adicionalmente, a empresa cliente teve também seu ambiente de servidores instalado e executando, simulando acessos de usuários a fim de ter a plataforma pronta para o momento que decidir lançar seu software.
17 17 INTRODUÇÃO Esse trabalho descreve o desenvolvimento das atividades realizadas durante o período de estágio na empresa Awegen, de acordo com o plano de estágio definido no início das atividades da disciplina de Estágio Curricular Obrigatório OBJETIVOS Geral Planejar, implantar e prestar manutenção de ambiente de desenvolvimento e produção para software criados pela empresa Euax Específicos Planejar ambiente de desenvolvimento, bem como ferramentas. Implantar ambiente de desenvolvimento nas estações de trabalho. Implantar repositório de código fonte para realizar controle de versão. Implantar ambiente de integração contínua (CI). Planejar infraestrutura dos servidores. Implantar infraestrutura de balanceamento de carga. Implantar infraestrutura de servidores Web. Implantar infraestrutura de servidores de Banco de Dados. Implantar medidas de backup e recuperação nos servidores Justificativa A empresa Euax, cliente da empresa Awegen, necessita criar um departamento de desenvolvimento de software. Para tal, contratou a empresa Awegen, que atribuiu ao
18 18 estagiário Júlio Santos Monteiro a atividade de planejamento e instalação do ambiente de desenvolvimento e planejamento e instalação da infraestrutura dos servidores ORGANIZAÇÃO DO ESTUDO Esse trabalho é dividido basicamente em quatro partes. A primeira delas contém os elementos pré-textuais, contendo resumo e uma introdução com os objetivos gerais e específicos. No capítulo 2 é apresentado um histórico da empresa onde foi realizado o estágio, mostrando suas áreas de atuação e descrevendo suas soluções. No terceiro capítulo são descritas as atividades realizadas durante o período de estágio na empresa. Finalmente são apresentadas as dificuldades encontradas bem como a influência e contribuição do estágio para a carreira profissional e para a empresa.
19 19 2. A EMPRESA A seguir são apresentadas as principais informações referentes à empresa HISTÓRICO Awegen é uma empresa que trabalha com desenvolvimento de software Web, surgindo em 2008 quando a então equipe de desenvolvimento da tecnologia Ruby on Rails (FERNANDEZ, 2007) necessitou alterar seu vínculo empregatício com a empresa A2C, passando a prestar serviço para esta empresa. A empresa Awegen surgiu como uma prestadora de serviços, e mantém-se até hoje realizando o desenvolvimento de software Web, utilizando na maioria das situações o framework de desenvolvimento Web Ruby on Rails, que faz uso da linguagem de programação Ruby (OLSEN, 2007). A Awegen, logo após sua criação para servir a uma empresa joinvilense, iniciou um projeto em paralelo para atender ao mercado norte-americano, uma vez que foi detectado que este mercado possuía necessidade de mão-de-obra para o desenvolvimento de software Web. O primeiro cliente norte-americano da empresa foi a CityFreshFoods, de Boston, MA, na costa leste dos Estados Unidos. Após a confecção do primeiro software personalizado para uma empresa norteamericana, a Awegen passou a atender diferentes empresas deste país, principalmente baseadas em Boston, MA, e em San Francisco, CA, na costa oeste dos Estados Unidos. Em 2009, passou também a atender a empresa de consultoria em gestão de projetos Euax de Joinville, SC. Esta empresa teve um projeto aprovado para subvenção a fundo perdido pelo programa FINEP (Financiadora de Estudos e Projetos), e viu-se na necessidade de criar um departamento para desenvolvimento de software. A Awegen foi então contratada para montar tanto o ambiente de desenvolvimento de software quanto o time de desenvolvedores, assim como capacitar a equipe para trabalhar na tecnologia escolhida. Em 2010, a empresa passou a atender mais duas empresas norte americanas: a produtora de software Triares, de Boston, MA, a produtora de software SmartLab, de San Francisco, CA, e a produtora de software de contratação de recursos humanos JobScore, também de San Francisco, CA.
20 20 Atualmente, a empresa atende a JobScore, a Euax e a A2C, realizando desenvolvimento de software sob encomenda e consultoria em criação de equipes de desenvolvimento, infraestrutura de execução de software e treinamento PRINCIPAIS SERVIÇOS A Awegen oferece outsource e offshore de desenvolvimento de software utilizando a tecnologia Ruby on Rails, além de consultoria em desenvolvimento de software, administração de infraestruturas de servidores e treinamentos de desenvolvimento de software PRINCIPAIS CLIENTES Em território nacional, os principais clientes da empresa Awegen são a agência de Internet A2C e a consultoria em gestão de projetos Euax, ambas de Joinville, SC. No exterior, os principais clientes da empresa são a produtora de software Triares e a cozinha industrial CityFreshFoods, ambas de Boston, MA; e a produtora de software de contratação de recursos humanos JobScore, de San Francisco, CA CONSIDERAÇÕES GERAIS Atualmente a empresa conta com profissionais de alto grau de conhecimento técnico e com vasta experiência em desenvolvimento de software com foco em usabilidade. A empresa, embora conte com uma equipe pequena de quatro colaboradores, tem um crescimento anual significativo e reconhecimento nacional no uso da tecnologia que mais defende, o framework Ruby on Rails (FERNANDEZ, 2007).
21 21 3. DESENVOLVIMENTO Esta seção descreve as atividades realizadas durante o estágio. A maior parte delas foi desenvolvida no setor de infraestrutura, trabalhando com planejamento do ambiente de desenvolvimento e instalação dos software selecionados CLIENTE A SER ATENDIDO O estagiário Júlio Santos Monteiro foi escolhido para prestar serviços a empresa de consultoria em gestão de projetos Euax, que teve um projeto aprovado para subvenção econômica a fundo perdido pelo FINEP (Financiadora de Estudos e Projetos), do governo federal. O projeto aprovado foi o projeto "Solução para Gerenciamento de Projetos e Serviços remotos utilizando tecnologia móvel, no modelo SaaS (Software as a Service)". O valor da subvenção foi de aproximadamente R$ ,00, para o período de execução de dois anos. Embora o projeto tenha sido aprovado em 2008, a empresa Euax somente recebeu a subvenção ao final de 2009, atrasando o projeto em cerca de quatorze meses. A empresa Euax possui vasto conhecimento em gestão de projetos, atuando na área desde Esta empresa surgiu dentro da então empresa Datasul (hoje empresa Totvs), com o nome de XPM, que teve seu nome alterado para Euax um ano depois. Embora muito dos diretores da empresa Euax possuam conhecimento em desenvolvimento de software, visto que já trabalharam na área há cerca de uma década, a empresa decidiu por contratar a empresa Awegen para montar o ambiente de desenvolvimento, a equipe de desenvolvedores e o ambiente de execução do software. O estagiário Júlio Santos Monteiro foi escolhido para realizar o planejamento do ambiente de desenvolvimento e do ambiente de execução, visto que já possui experiência na área e que possuía interesse em adquirir mais conhecimentos relacionados a construção de ambiente de desenvolvimento e execução de servidores.
22 PLANEJAMENTO DO AMBIENTE DE DESENVOLVIMENTO A primeira atividade executada durante o estágio consistiu em realizar o planejamento do ambiente de desenvolvimento para a equipe de desenvolvedores, bem como a escolha das ferramentas e dos métodos utilizados. A atividade consistiu em realizar pesquisas bibliográfica e com outros desenvolvedores a fim de selecionar o melhor ambiente de desenvolvimento para a equipe. Como princípio, foi escolhida a linguagem de programação Ruby (OLSEN, 2007), bem como o framework para desenvolvimento Web Ruby on Rails (FERNANDEZ, 2007). Esta escolha foi feita pelo conhecimento que a empresa Awegen já possui com este ambiente, podendo assim auxiliar melhor a empresa Euax. O sistema operacional escolhido para os desenvolvedores foi o Ubuntu Linux. Foram avaliados os sistemas operacionais Microsoft Windows 7, Mac OS X 10.6 e Ubuntu Linux. O Microsoft Windows 7 foi descartado tendo em vista que o framework utilizado, Ruby on Rails, não oferece bom suporte para este sistema operacional, uma vez que seu desenvolvimento é focado em plataformas POSIX. O Mac OS X 10.6 demonstrou-se bastante interessante e o melhor ambiente para ser utilizado com o Ruby on Rails, mas devido a sua necessidade de hardware específico e estações de trabalho 30% mais caras, foi também descartado. Por final, foi escolhido o Ubuntu Linux tendo em vista que este é suportado pelo framework Ruby on Rails e pode ser utilizado em uma vasta gama de estações de trabalho, possibilitando que as estações de trabalho fossem adquiridas na Dell, com a qual o cliente Euax possui contrato e descontos, conseguindo um preço mais competitivo. A ferramenta de editor de texto escolhida foi o gedit (VON HAGEN, 2010), editor gratuito embutido no Ubuntu Linux, que ofereceu bom suporte ao framework Ruby on Rails em testes realizados na empresa. Foi escolhido também o software RVM (Ruby Version Manager) (FERNANDEZ, 2007), um aplicativo gratuito de código aberto que oferece um controle de versões instaladas da linguagem Ruby. O framework Ruby on Rails necessita de um servidor de aplicação a fim de ser executado sobre um servidor Web. Nesta situação, a escolha é aplicada tanto às
23 23 estações de trabalho quanto aos servidores de execução. A escolha foi a utilização do servidor Web Apache HTTPD (VON HAGEN, 2010) e do servidor de aplicação Phusion Passenger (FERNANDEZ, 2007), que oferecem benchmarks com melhores resultados quando comparados a seus competidores, além de oferecerem facilidades para manutenção e utilização no dia-a-dia. Como banco de dados, a empresa Awegen sugeriu o uso do banco de dados MongoDB (CHODOROW, 2010)), visto que este banco de dados não-relacional, orientado a documentos, oferece desempenho bastante interessante e flexibilidade que o cliente Euax requisitou. A requisição realizada pelo cliente foi de que fosse possível realizar a personalização de determinados objetos no banco de dados, criando campos personalizados. A empresa Euax requisitou que fosse criado um ambiente de integração contínua (CI, Continuous Integration) a fim de assegurar a qualidade do software desenvolvido. Um ambiente de integração contínua tem como objetivo realizar testes sobre o software desenvolvido toda vez que algum desenvolvedor enviar código fonte ao sistema de controle de versões. Desta maneira, se algum desenvolvedor realizar alguma alteração que acabe por reabrir algum bug que já tenha sido previamente corrigido, este será notificado. A ferramenta escolhida foi o Hudson (VON HAGEN, 2010), um software em Java reconhecido e bastante personalizável que oferece, entre outras funcionalidades, integração contínua e controle de liberação de software. Por final, o sistema de controle de código fonte escolhido foi o Git (CHACON, 2010), que oferece um ambiente distribuído para versionamento. O Git é utilizado, entre outros, para o controle do código fonte dos projetos Linux, Ruby on Rails e Android (CHACON, 2010) IMPLANTAÇÃO DO AMBIENTE DE DESENVOLVIMENTO A segunda atividade realizada no estágio foi uma atividade de teor prático, com o objetivo de realizar a instalação do ambiente de desenvolvimento planejado na atividade anterior em todas as estações de trabalho. As estações de trabalho consistiam em estações Dell OptiPlex 380, com processador Intel Core2 Duo E7500 (2.93 GHz, 3 MB L2 cache, 1066 MHz FSB), com