O objetivo do projeto Cloudwalker é prospectar e integrar soluções para processamento distribuído, e prover um conjunto de ferramentas que seja disponibilizado em um ambiente de desenvolvimento (que pode ser em nuvem), para gerar aplicações que façam proveito dos recursos da infraestrutura de nuvem, e que inclusive tornem-se serviços disponíveis pela nuvem.
3. Curriculum
Flávio Gomes da Silva Lisboa
Bacharel em Ciência da Computação com pós-graduação em Aplicações
Corporativas usando Orientação a Objetos e Tecnologia Java pela Universidade
Tecnológica Federal do Paraná. Já atuou como programador em empresas
privadas de informática e foi funcionário de carreira do Banco do Brasil, onde
chegou a analista na diretoria internacional. Atualmente é consultor tecnológico da
Coordenação Estratégica de Tecnologia do Serviço Federal de Processamento de
Dados (Serpro). Foi professor na pós-graduação da UNICID e é instrutor de cursos
técnicos na Tempo Real Eventos e conteudista da TreinaWeb. Foi membro do time
oficial de tradução do Zend Framework e é autor dos livros: Zend Framework
Desenvolvendo em PHP 5 Orientado a Objetos com MVC, Zend Framework
Componentes Poderosos para PHP e Criando Aplicações PHP com Zend e Dojo. É
Zend Framework Certified Engineer e contribuidor oficial do projeto Tine 2.0, suíte
livre de comunicação em PHP. Tem experiência na área de Ciência da
Computação, com ênfase em Software Livre, atuando principalmente nos seguintes
temas: Java, PHP, Python, padrões, frameworks, MVC, DCI e objetos.
Cloudwalker processamento distribuído em nuvem
5. Cenário
Projeto Nuvem Livre do Serpro
A operação do SERPRO hoje comporta uma grande variedade de hardware de
servidores, storage, sistemas operacionais e tecnologia de virtualização. A gestão
de cada parte destes componentes é feita manualmente ou de forma
semiautomática, na melhor das hipóteses. Da instalação de sistema operacional
das máquinas, instalação de serviços nesses sistemas, criação de máquinas
virtuais, gestão dos recursos computacionais até a instalação de servidores web,
servidores de portais, banco de dados, a maioria precisa de um grande esforço
manual, passível de erros e vinculado à capacidade de pessoal de cada área.
Esse tipo de estrutura não escala facilmente: um técnico que faz a monitoração e
gestão de 30 servidores com 10 serviços sendo executadas nessas máquinas não
necessariamente tem tempo para gerir 1000 servidores.
A proposta é fornecer serviço de gestão de nuvem, seja para IaaS
(Infrastructure as a Service) como também toda a pilha de um PaaS (Plataform as
a Service) ou SaaS (Software as a Service)
Cloudwalker processamento distribuído em nuvem
6. Cenário
Objetivos do projeto Nuvem Livre
1.Criar a maior nuvem dentro do Governo
Federal com uma solução livre.
2. Criar um núcleo de desenvolvimento
(devops) com especialização no atendimento
das demandas dos serviços de nuvem
3. Criar uma comunidade junto ao portal de
software público criando um modelo de
infraestrutura de nuvem para o Governo
Cloudwalker processamento distribuído em nuvem
8. Entendimento da necessidade
Hoje o Serpro investe em tecnologias de computação
em nuvem, para otimizar o uso dos seus recursos
computacionais e prover elasticidade à demanda
dos usuários e clientes. Essa elasticidade é provida
pelo compartilhamento de memória, processadores e
capacidade de armazenamento.
Cloudwalker processamento distribuído em nuvem
9. Entendimento da necessidade
A questão que se coloca é a seguinte: as aplicações
farão uso dos recursos providos pelo ambiente
de nuvem? Hoje temos computadores pessoais com
processadores de múltiplos núcleos, ou unidades de
processamento. Mas a maximização do uso dos
recursos providos por eles requer ajustes tanto dos
sistemas operacionais quanto das aplicações.
Cloudwalker processamento distribuído em nuvem
10. Entendimento da necessidade
Uma aplicação que não foi desenvolvida para
fazer uso de processamento distribuído não irá
usufruir plenamente da capacidade
computacional do ambiente de nuvem. O Serpro
até utiliza tecnologias que tem suporte a
processamento distribuído, mas essa característica
não é explorada de modo pleno.
Cloudwalker processamento distribuído em nuvem
12. O projeto
O objetivo do projeto Cloudwalker é prospectar e
integrar soluções para processamento
distribuído, e prover um conjunto de ferramentas
que seja disponibilizado em um ambiente de
desenvolvimento (que pode ser em nuvem), para
gerar aplicações que façam proveito dos recursos da
infraestrutura de nuvem, e que inclusive tornem-se
serviços disponíveis pela nuvem.
Cloudwalker processamento distribuído em nuvem
13. O projeto
Profº. Marins
Cloudwalker processamento distribuído em nuvem
14. O projeto
O escopo do projeto envolve o estudo e integração
das soluções Cassandra, MongoDB, VoltDB, Hadoop,
Hive, Gearman e Openstack. Toda a pilha de
softwares contempla soluções livres, já mantidas em
comunidade. A ideia é aderir às comunidades e
uni-las em torno dos objetivos comuns,
reduzindo o custo de manutenção do Serpro e de
outros parceiros e colaboradores.
Cloudwalker processamento distribuído em nuvem
16. Objetivos gerais
Criar, adaptar e integrar ferramentas de
processamento distribuído para ambiente de nuvem,
de modo que as aplicações tirem o máximo proveito
da capacidade computacional disponível.
Cloudwalker processamento distribuído em nuvem
17. Objetivos específicos (versão 1.0)
Criar uma camada de abstração do Expresso 3 para o
MongoDB.
Criar um adaptador MongoDB para o Tine 2.0
Criar um paper sobre o suporte MongoDB ao Tine 2.0
Criar um modelo tecnológico para o MongoDB no
Expresso 3
Cloudwalker processamento distribuído em nuvem
19. Premissas
O projeto será desenvolvido de forma aberta: todo
código-fonte estará disponível desde o início para
download.
Cloudwalker processamento distribuído em nuvem
20. Premissas
O projeto aceitará desde o início colaborações
externas, que podem ser propostas de melhoria,
de novas funcionalidades, identificação ou
correção de bugs.
Cloudwalker processamento distribuído em nuvem
21. Premissas
De acordo com o critério da meritocracia, onde quem
contribui mais e tem responsabilidade conquista mais
direitos, será concedida permissão de gravação no
repositório do projeto para aqueles que submeterem
contribuições que agreguem valor ao projeto e se
responsabilizarem por elas.
Cloudwalker processamento distribuído em nuvem
22. Premissas
O projeto fará reuso de soluções existentes.
Cloudwalker processamento distribuído em nuvem
23. Premissas
O projeto será integrado com as comunidades de
software livre: modificações das soluções utilizadas
serão devolvidas como contribuições.
Cloudwalker processamento distribuído em nuvem
24. Premissas
Será utilizado o Git para o controle de versão do
projeto.
Para gestão e armazenamento do código-fonte do
projeto será usado o Github (github.com). O endereço
do projeto é
http://sourceforge.net/projects/cloudwalker.
Cloudwalker processamento distribuído em nuvem
25. Estudo de caso: Expresso 3
Versão 2
Cloudwalker processamento distribuído em nuvem
26. Estudo de caso: Expresso 3
+ 500.000 usuários
Versão 2
Cloudwalker processamento distribuído em nuvem
27. Estudo de caso: Expresso 3
Versão 2
Cloudwalker processamento distribuído em nuvem
28. Estudo de caso: Expresso 3
Expresso 2 eGroupWare
Expresso 1
Versão 2
eGroupWare
Cloudwalker processamento distribuído em nuvem
29. Estudo de caso: Expresso 3
Cloudwalker processamento distribuído em nuvem
30. Estudo de caso: Expresso 3
3
Cloudwalker processamento distribuído em nuvem
31. Estudo de caso: Expresso 3
3
Cloudwalker processamento distribuído em nuvem
32. Estudo de caso: Expresso 3
Cliente
Servidor
Postfix SMTP
IMAP PostgreSQL
Cloudwalker processamento distribuído em nuvem
33. Estudo de caso: Expresso 3
Cloudwalker processamento distribuído em nuvem
34. Estudo de caso: Expresso 3
Application/Backend/
Application/Controller/
Application/css/
Application/Frontend/
Application/js/
Application/Model/
Application/Setup/
Application/translations/
Cloudwalker processamento distribuído em nuvem
35. Estudo de caso: Expresso 3
Expresso 3
Tine 2.0
Versão 2
Cloudwalker processamento distribuído em nuvem
36. Estudo de caso: Expresso 3
Cloudwalker processamento distribuído em nuvem