segunda-feira, 4 de julho de 2011

#FISL 12: SQL, NoSQL, NewSQL



Uma das palestras mais legais deste ano foi, sem dúvida, a do Alexandre Porcelli (@porcelli) sobre SQL, NoSQL e NewSQL.
Numa apresentação muito bem feita (visualmente), e com uma didática muito boa, ele explicou as principais características dos bancos NoSQL.
  • Armazenar dados pensando em facilitar a leitura e não em economizar espaço (desnormalização);
  • Armazenamento chave-valor;
  • Modelos
    • Família de colunas - Big Table da Google (hashmaps aninhados, garante maior escalabilidade);
    • Orientado a documento (JSON - sem esquema pré-definido, mais flexível) - finalmente aprendi o que é o tal de json!
    • Grafos - nós e relacionamentos, muito usado em redes sociais;
  • Consistêncai eventual - significa que o banco vai estar consistente em algum momento, e não que o mesmo fica inconsistente indefinidamente! A "janela de inconsistência", segundo ele, é geralmente em torno de 500 ms;
  • ACID x BASE - brincadeira com as garantias dos bancos tradicionais;
  • Dados em constante modificação - idéia de fluxo;
  • Armazenamento de dados em memória ao invés de disco
    • Garante a velocidade necessária no acesso para determinadas aplicações;
    • Replicação + distribuição para evitar SPOF e garantir durabilidade dos dados (ACID);
  • Fusão entre apps e dados - hoje há uma linha tênue, segundo ele, separando as aplicações dos dados que acessam;
    • Este cenário implica na mudança de perfil dos desenvolvedores - surge o devops (mistura de desenvolvedor e DBA);
  • ORM - mapeamento objeto-relacional (overhead) é um problema para grandes aplicações;

Como se pode observar a partir da comparação das duas imagens acima, o NewSQL é o resultado do aproveitamento do que há de melhor no mundo SQL e NoSQL. Seria esse o caminho que o MySQL estaria trilhando ? Vamos aguardar os acontecimentos.

Uma curiosidade que ele mencionou foi o fato de que o Twitter não previa uso de hashtags, e foi necessária uma mudança grande na aplicação para viabilizar seu uso, requerendo bastante flexibilidade e velocidade no acesso aos dados.

Outro ponto interessante foi a menção ao Drizzle, um fork do MySQL que o "transforma" num banco NoSQL.

Leitura recomendada (fonte de diversas informações da palestra): "The End of an Architectural Era" - Michael Stonebraker.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: libvirt, o canivete suiço da #virtualização

 

Em mais uma palestra interessantíssima deste ano, o Sérgio (http://cioban.cc/site/) mostrou a utilidade da libvirt, uma biblioteca de virtualização que pode facilitar muito a vida de quem gerencia ambientes virtualizados, especialmente de fornecedores distintos.

Ele começou a palestra falando sobre virtualização, conceitos básicos, classificação, onde destaco os exemplos de containers de virtualização, como FreeBSD Jails, User Mode Linux, OpenVZ e Virtuozzo.

Depois explicou o que é a libvirt, uma biblioteca em C que pode ser usada através do daemon libvirtd, com suporte a diversas linguagens e que suporta os principais hypervisors/containers do mercado (Xen, KVM, VMware, VirtualBox, QEmu, etc). Assim, esta biblioteca pode ser considerada uma camada de abstração para as diversas tecnologias e soluções de virtualização.

Citou então diversas ferramentas que fazem uso da libvirt: oVirt, virsh, virt-manager, abiCloud, Virt-P2V, Virttool.

 

E finalizou mostrando exemplos de código e indicando referências para começar a usar a biblioteca.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: gestão de conexões seguras com ssh

O pessoal da F13 (@f13tecnologia) fez uma apresentação interessante sobre a ferramenta F13-CN, desenvolvida para resolver um problema que eles tiveram, e que é comum a muitas empresas que fornecem suporte a ambientes Linux via ssh a diversos clientes.

A solução que permite acesso a máquinas remotas via proxy sem necessidade de conhecimento das senhas no destino, e é usada para controlar acesso de funcionários a máquinas de clientes.

A idéia é, através de um proxy ssh, intermediar as conexões aos servidores dos clientes, de forma que não haja acesso direto aos servidores destino, e eliminando a necessidade de conhecimento das senhas pelos técnicos que fazem o acesso. Desta forma, quando um funcionário é desligado, não é necessário "se desesperar" e correr para trocar as senhas de todos os clientes, especialmente se este funcionário estiver muito insatisfeito :)

A solução apresenta uma série de desafios, e há alguns problemas ainda não resolvidos, como a transferência de arquivos, que tem sido a maior queixa dos usuários do sistema. Ainda assim, a solução cumpre bem seu objetivo, segundo o pessoal da F13, de permitir um maoir controle sobre as conexões dos técnicos às máquinas dos clientes e permitir auditoria.

Tecnicamente, a solução é baseada no uso do comando screen, que permite estabelecer, desconectar e reconectar a sessões ssh remotas sem interromper o andamento das operações. Em torno do uso do screen, foi desenvolvida toda uma camada de gerenciamento e controle que viabiliza, entre outros recursos, acompanhamento em tempo real do que um técnico está fazendo num cliente, armazenamento de logs das ações para auditoria e definição de ACLs para determinar que técnicos têm acesso a que servidores.

Mais informações podem ser obtidas no site da F13.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: o estado atual do #samba

 
A palestra sobre o Samba, com o Jeremy Allison, da Google, foi muito esclarecedora.

Ele explicou que a versão 3.6.0 sai em 6 de julho, e que o Samba é uma implementação de SMB/CIFS (incluindo o SMB2, introduzido com o Windows Vista - mais eficiente e simples, contém 19 chamadas contra 100 da versão anterior), que inclui domínios AD, NT, impressão, registry, contadores de performance, extensões UNIX e outros recursos que a maioria das implementações não se preocupa.

Destacou que o código é antigo e extenso, e por isso precisa de "refatoração" contínua. Disse também que a implementação mais nova traz uma série de ganhos de desempenho, mas que a maior parte deles é crédito da Microsoft, que otimizou a parte cliente no Windows, implementando inclusive melhorias que já haviam sido feitas no Samba. Apesar disso, detalhou que diversas melhorias foram feitas no código, usando mais programação assíncrona, separando "daemons" e reescrevendo todo o subsistema de impressão.

Destacou também que há uma série de tecnologias desenvolvidas para atender necessidades do projeto Samba que podem ser usadas por outros projetos, como TDB (Trivial Database), CTDB (Clustered TDB), TALLOC (alocação hierárquica de memória), TEVENT (eventos assíncronos) e LDB (biblioteca LDAP). O Samba 4, por exemplo, não usará LDAP externo, mas base interna (TDB/CTDB).

O Jeremy explicou que, por conta do caso "antitrust" a Microsoft foi obrigada a documentar seus protocolos, e isso fez com que o desenvolvimento do Samba passasse a contar inclusive com a colaboração de engenheiros da empresa, deixando de ser um trabalho de engenharia reversa para ser a implementação de protocolos bem documentados.

Para justificar o atraso do Samba 4, comentou sobre a quase divisão do time de desenvolvimento, já que uns queriam avançar com o Samba 3  e outros queriam investir no Samba 4, e informou que são cerca de 9 desenvolvedores, e que toda ajuda é bem vinda.

Falou também sobre a implementação de "Read-only domains" com AD no Samba 4, que já funciona, está em teste em muitos locais (não precisou quantos) e é uma funcionalidade estratégica, pois viabiliza a adoção por quem já usa o AD em ambiente corporativo, já que não causa impacto, e portanto seria muito útil para empresas com estruturas de domínios distribuídos geograficamente, gerando economia significativa com licenças.

Apesar disso, a versão final só deve chegar em 2012 (junto com o fim do mundo :).

O Jeremy falou ainda da utilização das tecnologias desenvolvidas para o projeto, destacando a possibilidade de criar um NAS com alta disponibilidade e escalável, e do futuro do projeto, quando disse que vê o Samba como uma "ponte" entre a nuvem e o armazenamento local de dados, pois entende que os usuários sempre terão seus dados locais, e vê a possibilidade de uso do Samba até em TVs.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: #Ubuntu in the #cloud

A apresentação sobre o Ubuntu Enterprise Cloud feita pelo David Duffey, e mostrou alguns dados que me surpreenderam.

  • O Ubuntu já está empatado (em 1º lugar) com o Red Hat em número de servidores web;
  • O Ubuntu já é o 2º S.O. mais usado por desenvolvedores Eclipse, com 32% (só perde para o Windows, com 58%);

A Canonical deixou claro que está investindo para tornar o Ubuntu a plataforma preferida pelos desenvolvedores, o que acredito seja uma estratégia interessante, pois automaticamente haverá uma influência nos ambientes de produção e, de repente, até no ambiente do usuário final.

Outro ponto de destaque da palestra foi a apresentação do Ubuntu Advantage, o pacote de serviços de suporte oferecido pela Canonical e que pode ser interessante para ambiente corporativo, englobando:

  • Consultoria;
  • Acesso a engenheiros de suporte;
  • Ferramenta de gerenciamento do parque (Landscape);
  • Versões Essential, Standard e Enterprise - a primeira não oferece suporte a cloud;

Vale ainda destacar a demonstração do Byobu, o emulador de terminal desenvolvido pela Canonical e que inclui diversas estatísticas. É possível saber até quanto custa o uso de uma instância da Amazon em tempo real. Faça um "apt-get install byobu" e confira!

O David destacou ainda a visão da Canonical de cloud como um modelo econômico baseado em serviços e disponibilizado através de software livre, e informou que hoje o UEC está baseado na solução da Amazon por ser este um padrão "de fato" no mercado, e que está investindo na portabilidade através de soluções como OpenStack, Eucalyptus, Amazon e Rackspace.

Foi demonstrado ainda o ensemble, objeto de análise aqui no blog.

Finalmente, foram destacadas as funcionalidades relacionadas à nuvem previstas para as próximas versões do Ubuntu, que incluem o suporte às versões mais novas do Eucalyptus e OpenStack, além de pacotes otimizados para Hadoop e bancos NoSQL, suporte à plataforma ARM e facilidades para a criação de "personal clouds".

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: OpenLeaks

A palestra do Daniel Domscheidt-berg sobre OpenLeaks foi outro destaque do FISL 12. É um daqueles momentos onde nos sentimos parde da história.

Ele explicou que o OpenLeaks é um fork do Wikileaks com um foco diferente. Não há um fundador, todos são "co-creators".

Destacou que atualmente transparência é exceção, e não regra. Mas que a privacidade é importante, e nem tudo deve ser público. O problema é que sigilo e complexidade são usados para ocultar condutas não éticas e corrupção. Os cidadãos devem exigir acesso à informação, no que ele chamou de movimento "bottom-up".

Disse ainda que o Wikileak era um protótipo para testar o potencial do "digital whistleblowing", que nunca passou da "versão beta", mas demonstrou potencial tremendo, criando um debate sobre transparência e acesso à informações.

Alguns objetivos do OpenLeaks:

  • Prover tecnologia para que entidades possam receber informação de forma segura;
  • Prioridade é proteger anonimato;
  • Levar informação aonde ela possa fazer a diferença (permitindo, por exemplo, que outros posso criar seus próprios *Leaks...);
  • Facilitar o envio das informações para entidades pertinentes (escândalos ambientais para o Green Peace, etc);
  • Pretendem trabalhar com organizações que atuam no interesse de levar informações ao público (ONGs, mídia, ativistas, etc);
  • Alpha privado em andamento, deve se tornar público em agosto;
  • Parceiros serão selecionados parcialmente por votação pública;
  • Futuro
    • Tornar-se algo efetivo, "oficial" e não "underground";
    • Diversificar os "leaking sites", facilitando o envio de informações e denúncias;
    • Criar comunidades investigativas;
    • Melhorar a legislação, especialmente para os "whistleblowers" (as fontes), que são os menos protegidos.

É o tipo da palestra que faz a gente pensar que podemos fazer a diferença.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!

#FISL 12: #segurança e software livre

Baseada na afirmação de August Kerckoffs de que "A segurança de qualquer sistema criptográfico não está no segredo, ele deve ser capaz de cair nas mãos do inimigo sem inconveniência" (tradução livre), a palestra do David Mirza, da Subgraph (@subgraph), mostrou os pontos positivos da segurança baseada em software livre, e explicou que diversas coisas não teriam evoluído se não fosse o fato de que a segurança é baseada em padrões abertos.

Segundo o David, mais do que "condenar" a segurança pela obscuridade, o princípio/postulado/axioma/<sua palavra preferida> de Kerckhoff aponta na direção de padrões abertos para a segurança. É a partir desta premissa que ele desenvolve sua palestra, mostrando que a segurança feita a partir de padrões e soluções abertas é mais efetiva que as baseadas em soluções e padrões fechados e proprietários.

Ele cita como exemplo a comunidade de segurança, extremamente ativa, apaixonada e colaborativa, cujos resultados são reconhecidos mundialmente: Phrack Magazine, Bugtraq, Defcon, Blackhat, Recon, etc. E citou ainda uma série de ferramentas: nmap, BackTrack, Helix, snort, Metasploit, etc.

O David seguiu mostrando como a lista bugtraq foi revolucionária, obrigando os fornecedores a disponibilizarem soluções para bugs mais rapidamente e fornecendo um canal de informações abertos para os usuários, que tinham agora uma fonte de informações aberta sobre falhas de segurança. Isto culminou com as iniciativas de "bug bounty" da Mozilla e Google, que incentivam a pesquisa de falhas em seus softwares para aprimorar a segurança de seus produtos.

Ele citou ainda exemplos de soluções de anti-exploitation que começaram no software livre e depois foram inclusive adotadas por softwares comerciais, e deu o exemplo do non-exec stack patch para o Solaris, de 1997, que foi o precursor de soluções como o NX (No-execute), implementado via hardware, e posteriormente suportado por outros sistemas, como Windows e MAC OS X.

O David contou ainda a história do SSH, desenvolvido como freeware em 1995, fechado em 1999 e redesenvolvido pelo pessoal do OpenBSD como software livre, o OpenSSH, um projeto de extremo sucesso e que fez com que serviços como telnet, rsh e rlogin fossem abandonados por sua falta de segurança frente ao OpenSSH.

E continuou defendendo que segurança baseada em código aberto é melhor porque permite a inspeção do código, sem a dependência de um fornecedor, entre outras vantagens, e questionou porque as pessoas não demandam soluções de seguranças baseadas em sofware livre.

Depois ele abordou as soluções de segurança para web, mais especificamente, apontando uma série de problemas nas soluções livres atuais, como falta de integração, interfaces ruins, instalações complicadas, abandono, entre outros, e indicando algumas soluções comerciais interessantes, como NetSparker e BurpSuite, embora pontuando alguns problemas aqui também, como preço e falta de acesso ao código.

Finalmente, o David apresentou a visão da Subgraph, a empresa de segurança dele, sobre as ferramentas de segurança para web, e indicou a solução deles, VEGA, que é baseada em software livre (mas tem uma versão pro, paga) e que resolve os problemas apontados (claro!), possuindo integração com diversas ferramentas de modo a compor um framework de testes de segurança para aplicações web.

Feita em Java, a ferramenta pode funcionar como scanner de falhas em aplicações web ou como proxy, podendo ser utilizada inclusive em testes de penetração. Tudo isso com uma interface bonita (segundo ele) e suporte a testes de SQL e XML Injection, path traversal, command injection, ataques de força bruta e até verificação de configurações incorretas.

Eu já baixei! Agora é ver se o software é bom mesmo.

Siga-nos no Twitter! ou Buzz
Receba os textos via e-mail ou RSS!
Confira outros textos sobre o tema!