Arquitetura da Incubadora da FAPESP - IME-USPis/tidia/incubadora-sdsl/arquitetura.pdf · 1...

27
Arquitetura da Incubadora da FAPESP http://incubadora.fapesp.br Nota: Nesta apresenta¸ ao, com o termo software queremos sempre dizer Software Livre.

Transcript of Arquitetura da Incubadora da FAPESP - IME-USPis/tidia/incubadora-sdsl/arquitetura.pdf · 1...

Arquitetura da Incubadora da FAPESP

http://incubadora.fapesp.br

Nota: Nesta apresentacao, com o termo software queremos

sempre dizer Software Livre.

1 Arquitetura de Software

1.1 Consideracoes Iniciais

Como deve ser a arquitetura da Incubadora? Nas conversas

iniciais, surgiram perguntas como:

1 Arquitetura de Software

1.1 Consideracoes Iniciais

Como deve ser a arquitetura da Incubadora? Nas conversas

iniciais, surgiram perguntas como:

• Quais servicos devem ser implementados?

1 Arquitetura de Software

1.1 Consideracoes Iniciais

Como deve ser a arquitetura da Incubadora? Nas conversas

iniciais, surgiram perguntas como:

• Quais servicos devem ser implementados?

• A equipe deve desenvolver software proprio, ou utilizar

solucoes ja existentes?

1 Arquitetura de Software

1.1 Consideracoes Iniciais

Como deve ser a arquitetura da Incubadora? Nas conversas

iniciais, surgiram perguntas como:

• Quais servicos devem ser implementados?

• A equipe deve desenvolver software proprio, ou utilizar

solucoes ja existentes?

• Devemos apostar em ferramentas em voga atualmente,

como web services e application servers?

1 Arquitetura de Software

1.1 Consideracoes Iniciais

Como deve ser a arquitetura da Incubadora? Nas conversas

iniciais, surgiram perguntas como:

• Quais servicos devem ser implementados?

• A equipe deve desenvolver software proprio, ou utilizar

solucoes ja existentes?

• Devemos apostar em ferramentas em voga atualmente,

como web services e application servers?

• Seria aceitavel ficarmos presos a uma determinada

solucao? Podemos ter varios sistemas operando em

conjunto?

1.2 Requisitos

Examinando as perguntas anteriores, pensamos em algumas

ideias que seriam interessantes para o projeto:

1.2 Requisitos

Examinando as perguntas anteriores, pensamos em algumas

ideias que seriam interessantes para o projeto:

• Em princıpio, nao vamos iniciar novos projetos de

software. Preferivelmente utilizaremos os que ja

existem, colaborando com seu desenvolvimento.

1.2 Requisitos

Examinando as perguntas anteriores, pensamos em algumas

ideias que seriam interessantes para o projeto:

• Em princıpio, nao vamos iniciar novos projetos de

software. Preferivelmente utilizaremos os que ja

existem, colaborando com seu desenvolvimento.

• A direcao do projeto podera mudar rapidamente,

conforme feedback da comunidade. Ou seja, ele deve

evoluir segundo as necessidades de seus usuarios.

1.2 Requisitos

Examinando as perguntas anteriores, pensamos em algumas

ideias que seriam interessantes para o projeto:

• Em princıpio, nao vamos iniciar novos projetos de

software. Preferivelmente utilizaremos os que ja

existem, colaborando com seu desenvolvimento.

• A direcao do projeto podera mudar rapidamente,

conforme feedback da comunidade. Ou seja, ele deve

evoluir segundo as necessidades de seus usuarios.

• Poderemos ter diversos sistemas operando em paralelo,

adequados a diferentes tipos de conteudo digital.

1.3 Integracao dos Servicos via LDAP

Os sistemas que farao parte da Incubadora podem ser

escritos em diversas linguagens e para diferentes

plataformas. Como integra-los?

Atraves da centralizacao dos dados comuns a todos os

projetos em um unico repositorio, que possa ser acessado

pela maioria das linguagens, sistemas e plataformas

existentes.

Nossa solucao: uso do servico de diretorios LDAP

(Lightweight Directory Access Protocol), amplamente

utilizado e padronizado, para armazenar dados sobre

usuarios e projetos da Incubadora.

1.3 Integracao dos Servicos via LDAP

Os sistemas que farao parte da Incubadora podem ser

escritos em diversas linguagens e para diferentes

plataformas. Como integra-los?

Atraves da centralizacao dos dados comuns a todos os

projetos em um unico repositorio, que possa ser acessado

pela maioria das linguagens, sistemas e plataformas

existentes.

Nossa solucao: uso do servico de diretorios LDAP

(Lightweight Directory Access Protocol), amplamente

utilizado e padronizado, para armazenar dados sobre

usuarios e projetos da Incubadora.

1.3 Integracao dos Servicos via LDAP

Os sistemas que farao parte da Incubadora podem ser

escritos em diversas linguagens e para diferentes

plataformas. Como integra-los?

Atraves da centralizacao dos dados comuns a todos os

projetos em um unico repositorio, que possa ser acessado

pela maioria das linguagens, sistemas e plataformas

existentes.

Nossa solucao: uso do servico de diretorios LDAP

(Lightweight Directory Access Protocol), amplamente

utilizado e padronizado, para armazenar dados sobre

usuarios e projetos da Incubadora.

1.3 Integracao dos Servicos via LDAP

Os sistemas que farao parte da Incubadora podem ser

escritos em diversas linguagens e para diferentes

plataformas. Como integra-los?

Atraves da centralizacao dos dados comuns a todos os

projetos em um unico repositorio, que possa ser acessado

pela maioria das linguagens, sistemas e plataformas

existentes.

Nossa solucao: uso do servico de diretorios LDAP

(Lightweight Directory Access Protocol), amplamente

utilizado e padronizado, para armazenar dados sobre

usuarios e projetos da Incubadora.

Vantagens do LDAP:

Vantagens do LDAP:

• Padrao IETF [1].

Vantagens do LDAP:

• Padrao IETF [1].

• Ampla disponibilidade de bibliotecas para diversas

linguagens e plataformas.

Vantagens do LDAP:

• Padrao IETF [1].

• Ampla disponibilidade de bibliotecas para diversas

linguagens e plataformas.

• Seguranca: SASL e TLS/SSL.

Vantagens do LDAP:

• Padrao IETF [1].

• Ampla disponibilidade de bibliotecas para diversas

linguagens e plataformas.

• Seguranca: SASL e TLS/SSL.

• Disponibilidade: mecanismo de replicacao incluıdo.

Vantagens do LDAP:

• Padrao IETF [1].

• Ampla disponibilidade de bibliotecas para diversas

linguagens e plataformas.

• Seguranca: SASL e TLS/SSL.

• Disponibilidade: mecanismo de replicacao incluıdo.

• Schemas default: as aplicacoes normalmente concordam

em relacao ao valor semantico de objetos e atributos.

Desvantagens do LDAP:

Desvantagens do LDAP:

• Bagagem e complexidade resultante das suas origens,

DAP (X500) e OSI.

Desvantagens do LDAP:

• Bagagem e complexidade resultante das suas origens,

DAP (X500) e OSI.

• Implementacoes apresentam baixa performance para

escrita (aka “otimizadas para leitura”).

Desvantagens do LDAP:

• Bagagem e complexidade resultante das suas origens,

DAP (X500) e OSI.

• Implementacoes apresentam baixa performance para

escrita (aka “otimizadas para leitura”).

• Um unico projeto sendo desenvolvido ativamente,

OpenLDAP [2] (embora uma alternativa interessante, o

tinyldap [3], tenha sido iniciada).

2 Arquitetura de Rede & Hardware

A arquitetura ainda esta sendo definida. Estamos

fundamentalmente preocupados com:

Seguranca dos dados Uso de tecnicas e procedimentos

como RAID1/RAID5, sincronizacao via rsync [4],

backups diarios.

Seguranca do sistema Filtros de pacote, redes separadas

para servidores de maior risco (eg shell).

Topologia

Referencias

[1] The Internet Engineering Task Force.

http://www.ietf.org

[2] Projeto OpenLDAP.

http://www.openldap.org.

[3] tinyldap, Felix von Leitner.

http://www.fefe.de/tinyldap/

[4] Projeto rsync.

http://samba.anu.edu.au/rsync/

Back