Posts com Tag ‘CASES’

FISL10: CASE MySQL na Globo.com

Sexta-Feira, 26 Junho 2009

Inicialmente foi dado um aparado geral sobre a nova versão do MySQL Server 5.4, ainda em versão beta, por Henrique Leandro. Não vou me prender muito a isso, mas algumas novidades são a provável mudança na forma de designar a versão do produto (a próxima seria o MySQL 2010). Entre as novidades estão a possibilidade de usar computadores x86 com até 16 núcleos, otimização de subconsultas, melhorias no backup on-line, entre outros.

Após essa parte introdutória, Camila Dias da Globo.com, deu um aparado geral da evolução do uso do MySQL dentro da organização, bem como mudanças de paradigmas.

Algumas curiosidades:

- A Globo.com usa Software Livre (principalmente LAMP) desde 2002 em sistemas internos;

- Em 2007 houve um revolução dentro da empresa, onde foram adotados novos rumos: agilidade no desenvolvimento, com o uso de SCRUM, liberdade criativa, incremento significativo em participação em eventos nacionais e internacionais (inclusive o FISL);

- Graças a participação em vários eventos de tecnologia, houve uma mudança de mentalidade dentro da empresa, em relação ao uso do MySQL, pois tiveram contatos com outras grandes empresas com CASES de sucesso;

- De 2007 para 2009, o MySQL cresceu em cerca de 60% de uso dentro da Globo.com, ultrapassando outras soluções de SGDBs.

A Camila citou 2 casos de sucessos, onde foram empregados soluções em Software Livre, com destaque para o uso do MySQL:

Globo Amazônia

É uma solução mashup, composta de um portal com conteúdo relacionado + dados INPE + Orkut + Google Maps + Twitter

Lançado em setembro de 2008, em 1 mês superou as espectativas que se tinha de alcançar resultados em um prazo maior. Ela deve isso a junção da mídia convencional da TV, com a interatividade da Internet. Exemplo, se a média de acessos eram 1000 simultâneos, cada vez que o “Pedro Bial” dizia “votem no endereço tal”, pulava em poucos segundos para 20mil acessos.

Essa solução, apesar do alto volume de acessos, usa APENAS 2 servidores MySQL com replicação master-master, com uso agressivo de web cache para o conteúdo estático e eles implementaram um sistema de fila para a gravação dos dados no banco.

Projeto WordPress

Mais de 1000 blogs editoriais utilizando WordPress e uma série de plugins de cache e uso de MySQL “slave” para consultas. Essa solução também usa 2 servidores com replicação master-master, mas tem mais uma série de servidores slaves que são usados nas consultas, ou seja, os servidores masters são usados apenas para insert e update;

Eles tem um farm exclusivo para o Big Brother Brasil, dada a quantidade de acessos e comentários em um único post.

Algumas lições que eles tiveram durante o desenvolvimento com o uso do MySQL (observação: são deles, algumas coisas se contradizem a palestra de ontem sobre segurança de aplicativos com MySQL):

- Comece o projeto de maneira simples;

- Use uma versão realmente estável e bem testada do MySQL, a menos que realmente precise de algo novo que não tenha sido implementada na versão estável (eles usam a versão 5.0.7 nesses projetos citados);

- Use uma distribuição Linux compilada para 64bits. Isso é muito importante. Eles tiveram perda de desempenho significativa, quando as chaves de índices começaram a ficar muito grande em 32bits (agora eles só usam 64bits no sistema operacional e no banco de dados). Por curiosidade, nesses 2 projetos eles estão usando CentOS 5.2;

- Use InnoDB como engine padrão do MySQL, a menos que você realmente precise de algum recurso que só tenha em outro engine;

- Use transações curtas com o banco de dados;

- Use comandos simples. Evite de usar, por exemplo, consultas complexas. Eles tiveram uma experiência desagradável com uma consulta complexa com insert em ambiente de produção, na replicação dos dados;

- Use índices em memória;

- Coloque as regras de negócio na aplicação (!);

- Abuse do cache em memória.

Para o futuro do desenvolvimento na Globo.com, já foi definido:

- Que o MySQL será a plataforma oficial de SGDB;

- Novos sites já são produzidos com MySQL;

- Vão buscar uma evolução da arquitetura.

Para finalizar gostaria de dizer que não concordo com tudo que foi apresentado na palestra mais vale com um CASE e conhecer melhor como o software livre vem sendo implementado em empresas privadas (já citei exemplos de casos em empresas públicas).

Qualquer hora destas eu creio que vou também apresentar um CASE e apontar as minhas considerações sobre o uso do MySQL e PostgreSQL em soluções de sistemas web.   :-)

Para quem se interessar, eles estão com vagas na empresa para novos talentos. Quem quiser é só procurar a Camila no estande da Globo.com amanhã, dia 27/06.

FISL10: PostgreSQL na CEF

Sexta-Feira, 26 Junho 2009

A melhor palestra de hoje foi apresentada por Jair Silva e Flávio Gurgel, e foi sobre o CASE de uso do PostgreSQL na CEF, o que comprova que o PostgreSQL é sim uma solução viável de SGDB em ambientes críticos e de necessidade de alta-performance.

Eles estão usando uma solução com o PostgreSQL em caixas de auto-atendimento, em mais de 20mil terminais, com uma estimativa de 85 milhões de transações financeiras por mês, com uma movimentação de mais de 1 bilhão de reais mensais.

É uma aplicação multicanal em J2EE, que implementa uma certa independência de sistema operacional, banco de dados, etc.

Segundo Jair, essa palestra foi apresentada no ano passado, como sendo uma solução que seria implementada na CEF, mas que agora já é um CASE real, sendo que já está em pleno funcionamento.

Antes de implementar essa solução usando Debian + JBOSS em máquinas x86 (O SGDB roda em 2 HP Proliant Xeon dual-core com 32GB de RAM), eles fizeram benchmark com 3 possibilidades, sendo que 1 solução com máquinas SPARC e Solaris não passou nos requisitos de quantidade mínima de transações financeiras por segundo (750 TPS), ficando para decidir entre essa solução adotada, e outra com Mainframe da IBM usando DB como servidor de banco de dados. Devido ao custo de implementação usando Linux + PostgreSQL ser menos de 1% da solução com o Mainframe, ela foi adotada.

Algo interessante que Flávio Gurgel mencionou é que a Caixa Federal obrigou, em edital, as empresas concorrentes terem desenvolvedores ativos no projeto do PostgreSQL, com contribuição na árvore de desenvolvimento. Acabou vencendo a 4Linux, que foi parceira nessa solução.

Outro fato relevante para mim na palestra, foi em relação ao uso de um sistema de custerização/replicação de dados no PostgreSQL, já que estou para implementar algo similar em um projeto que estou trabalhando.

Eles fizeram teste com 2 soluções:

- PgPool II, obtendo 170TPS;

- Sequoia, atingindo 50TPS (vale lembrar, que a solução standalone conseguiu 750TPS).

Devido a esse baixo rendimento, eles acabaram optando por uma solução virtual de disco. Algo como 2 datacenters (1 em servidor em cada datacenter, a distância aproximada de 7 quadras de Brasília um do outro) interligados com fibra-ótica, com replicação de dados a nível de filesystem (Hitachi Storage em Raid5, virtualizada, síncrona e multipath). Como requisito para essa implementação, a Hitachi exigiu que eles usassem LVM com stripes para melhorar o gerenciamento e performance do disco. Como tipo de filesystem, eles optaram pelo XFS devido a se enquadrar melhor nas necessidades do PostgreSQL.

Como recomendação de tunning para o PostgreSQL, eles citaram o uso agressivo de memória e evitar o uso excessivo de I/O de disco, sendo que os maiores problemas que eles encontraram foi com quebra de performance com o autovaccum.  Contudo, recomendaram dedicar algum tempo em ajustar valores do SGDB para encontrar um bom balanceamento, do que deixar desligado o autovaccum e fazê-lo manualmente (que compromete muito mais a performance).

A título de curiosidade, esses 750TPS representam algo em torno de: 4,8 milhões de inserts, 3,2 milhões de updates e 2 milhões de selects, alcançados durante o ano passado, em um “pico” de uso. Vale lembrar que ninguém quer esperar para “receber” seu dinheiro na frente da ATM, por isso é importante ter um tempo de resposta muito rápida. A base de dados deles, chegou a atingir cerca de 500GB.

Eles já estão com planos de expandir a quantidade de terminais e para isso vão criar outro centro com a mesma infraestrutura para atender os novos terminais, provavelmente em outra cidade.

Durante esse tempo todo de uso, eles ressaltaram que o PostgreSQL nunca “falhou” com eles. Todos os problemas que eles tiveram em ambiente de produção, foram causados por falha humana ou de hardware, sendo que nunca teve perda de dados.

Afirmaram que estão contribuíndo muito com a comunidade, sendo que os próximos objetivos é melhorar o PgAdmin, produzir uma ferramenta web similar  (pois acham o phpPgAdmin muito inferior) e estão contribuíndo para tunning do banco de dados “a quente” via SQL (sem precisar reiniciar o SGDB).

FISL10: Dataprev

Quinta-feira, 25 Junho 2009

Uma palestra que eu não tinha muita expectativa era sobre o uso de software livre na Dataprev, de Rodrigo Ortiz Assumpção. Fui mais de curiosidade, para ver o que estava acontecendo nessa “tal de Dataprev” que “anda aparecendo” muito no Jornal Nacional (eu achava que a Dataprev era só da Previdência Social).

No fim, foi uma surpresa agradável, pois além do ótimo palestrante, deu para perceber que as coisas andam progredindo na nossa Previdência Social, graças a uma boa equipe e o uso maciço de software livre na área de servidores e desenvolvimento.

Não vou ficar fazendo muita propaganda do Governo Federal, mas algumas curiosidades que anotei da palestra:

- Eles estão migrando a base de dados para PostgreSQL;

- Usam o Expresso ao  invés de Lotus Notes ou Microsoft Exchanger;

- Tem 1650 servidores distribuídos entre Redhat e Debian;

- 40 mil desktops com OpenOffice;

- Possuem células de desenvolvimento de software livre no Espírito Santo, Mato Grosso do Sul, Pernambuco, Paraná e Rio Grande do Sul, sendo que a principal linguagem de desenvolvimento é o Java.

Eles citaram como motivadores para adotar o software livre:

- Redução de custo em software;

- Desenvolvimento colaborativo;

- Descentralização;

- Incorporação de metodologias, padrões e processos.

Na verdade, nem toda a Dataprev usa ou desenvolve em Software Livre ou de Código Aberto, mas é objetivo “contaminar” as demais áreas de desenvolvimento da empresa pela filosofia do Software Livre.

Uma coisa interessante é que a Dataprev não pretende “libertar” o desktop, mas o objetivo deles é investir em Software Livre na parte mais crítica do negócio deles.

Algo interessante que o Rodrigo disse foi que eles estão trocando a “propaganda” ou o “eu apoio” por linhas de código, ou seja, estão realmente se envolvendo com a comunidade. Entre alguns exemplos de contribuições, eles citaram:

- CACIC: um software de inventário de Hardware e Software, que quase foi extinto, mas foi “ressuscitado” graças a abertura do seu código;

- SGA: sistema de gerenciamento do atendimento, que terá seu código disponível em breve: http://www.dataprev.gov.br/noticias/SGA.htm

- COCAR: para gerenciamento de rede;

- EXPRESSO: um grupoware (com e-mail, agenda, etc);

- MOODLE (ferramenta de e-learning): criando a “Escola da Previdência”.

Em relação ao futuro, eles estão trabalhando junto com o Ginga, solução para a TV Digital, a fim de disponibilizar acesso a serviços públicos a classes mais baixas.

Durante a sessão de perguntas, surgiu uma questão interessante sobre o futuro da Dataprev, caso seja eleito um novo partido. O Rodrigo acredita que isso não vai mudar os avanços da atual administração, pois não importa muito para os “figurões” o que está sendo usado e sim as soluções apresentadas, bem como a qualidade dos serviços e a competência. Ele acredita que até pode haver algum retrocesso no ambiente desktop, mas esse não é o foco da atual administração. Outra questão interessante é que está mudando o atual paradigma da comercialização de software, do padrão de licenciamento para o padrão de prestação de serviços.

Mas será mesmo? Nos primeiros fóruns a PROCERGS estava muito envolvida com Software Livre, inclusive disponibilizando o DIRETO, e hoje em dia, eles “abandonaram” esse apoio à comunidade (se bem que a PROCEMPA poderia ser considerada um bom exemplo, mas infelizmente não pude acompanhar a palestra deles – era no mesmo horário desta – para saber como está o apoio ao Software Livre na atual prefeitura).

Outro fato relevante é que Software Livre não é o “salvador do mundo”. Ele disse que só ter “um pinguim” na máquina não resolve tudo, pois corrupção e “falcatrua” também podem ser feitos com Software Livre. Interessante essa colocação, nunca tinha pensando nisso, mas creio que é uma verdade.