Archive for the ‘Infraestrutura’ Category

Fisl 2010 em julho

Wednesday, April 14th, 2010

Foram divulgadas pelos organizadores as datas para a 11ª edição do Fórum Internacional de Software Livre (FISL).

“A 11ª edição do Fórum Internacional Software Livre (fisl11) vai acontecer entre os dias 21 e 24 de julho de 2010, no Centro de Eventos da Pontifícia Universidade Católica do Rio Grande do Sul (PUC-RS).”

As datas para envio dos trabalhos, palestras, inscrições, valores e outras informações não foram ainda divulgadas.

Facebook abre o código do Tornado

Friday, September 11th, 2009

Tornado é um webserver escrito em python e projetado pelo Facebook para sites com grande tráfego e acesso simultâneo.  O Facebook abriu seu código sob licença Apache e utiliza a solução no recurso FriendFeed do site. O webserver se diferencia dos outros por ser “non-blocking”, utilizando epoll do kernel Linux para lidar com grande quantidade de file descriptors.  Possui módulos interessantes como o auth utilizado para autenticação e autorização em sistemas de terceiros ( Google OpenID, Yahoo BBAuth, Twitter OAuth ) ou o s3server que é uma interface para Amazon simple storage server.

Para ambiente de produção, a recomendação deles para performance é o uso do Tornado no esquema 4 single-threaded em uma máquina com 4 cores ( 1 thread para cada core ), tendo o nginx como reverse proxy.  O benchmark feito por eles chama a atenção pelo bom resultado, comparando populares web frameworks em python.

Web Server Request Comparation

Nagios aditivado .. run run

Thursday, July 30th, 2009

Faltam detalhes para colocar uma instalação distribuída de Nagios em ambiente de produção para monitorar a rede e infra-estrutura na Globo.com.  Um destes detalhes está sendo atacado neste momento com bastante critério e paciência: performance.  Uma instalação básica com configurações de “fábrica” do Nagios podem servir bem para ambientes de pequeno e médio porte com 100-200 servidores.  Só que o cenário aqui é bem diferente.  Em ambiente de produção espero ter 1200 servidores sob os “olhares” do Nagios, e desta forma é preciso seguir algumas recomendações que explico em tópicos abaixo:

  • configurar os diretórios dos arquivos de check result (check_result_path) e de status (status_file) como filesystem tmpfs.  No primeiro ocorre intensa operação de escrita/leitura e o arquivo de status é lido pela camada CGI do Nagios.  Armazenar estas informações em ramdisk evita interrupções e I/O de disco.
  • optar por plugins compilados ( C/C++) para executar os checks reduz significativamente o load nos seus servidores Nagios.
  • ao utilizar plugins em perl (muitos deles disponíveis nesta linguagem) compilar o Nagios para utilizar o seu interpretador perl embedded.  A opção para o script de configure é –enable-embedded-perl.
  • otimizar os checks nos hosts utilizando o plugin check_fping ao invés do plugin padrão check_ping.
  • utilizar precache dos objetos de configuração para acelerar a inicialização do sistema com a opção -u do binário nagios.
  • programar checks regulares para hosts é desnecessário, uma vez que o mesmo possuirá serviços relacionados e a falha do check de um dos serviços força um host check sob demanda.  Para isso atribuir o valor 0 na diretiva check_interval no arquivo de definição de hosts.
  • em instalações distribuidas, incrementar o check de external commands na instalação do Nagios central.  Isso faz com que o Nagios verifique comandos externos assim que possível.  A diretiva command_check_interval deve ter o valor -1.
  • verificar sempre a latência nos checks de hosts e services para estabelecer o melhor valor para a concorrência de checks.  Desta forma você poderá controlar o load que o Nagios impõe aos seus hosts monitorados com a diretiva max_concurrent_checks.
  • cuidado ao utilizar módulos (broker module) para exportar dados do Nagios para softwares de terceiros, pois a dependência de operações externas pode ser blocante para a execução de checks no Nagios.
  • o setup de seu hardware influenciará diretamente na performance do sistema de monitoração.  CPU e memória com tecnologia atuais favorecem o sistema, porém o Nagios por natureza de sua arquitetura é I/O intensive.  Evitar sistemas de arquivos lentos ( discos IDE antigos e NFS), optando por discos UltraSCSI ou FastIDE para armazenar plugins, arquivo de status log, etc.

Antes mesmo de aplicar novas configurações é muito importante não abrir mão de backup dos seus arquivos de configuração e também utilizar as métricas que o Nagios oferece para plotar gráficos onde você poderá comparar como o sistema se comporta ao alterar estas configurações.

Para criar os gráficos o Nagios oferece o utilitário nagiostats que oferece um output compatível com o mrtg para contadores importantes do sistema como número de service checks executados em determinada janela de tempo, latência, tempo de execução de service checks, entre outros.

# /usr/bin/nagiostats –mrtg –data=AVGPSVHSTLAT,AVGPSVSVCLAT,PROGRUNTIME,NAGIOSVERPID
950
554
0d 3h 33m 21s
Nagios 3.0.6 (pid=1861)

Globo.com no FISL 10

Tuesday, July 7th, 2009

A Globo.com esteve presente como um dos patrocinadores da edição especial do FISL (Fórum Internacional de Software Livre) em Porto Alegre entre os dias 24 e 27 de Junho de 2009.

Com um dos estandes mais movimentados do evento, onde o público pode assistir mini-palestras sobre cases de projetos, receber brindes e ter contato direto com os profissionais para troca de informações, a Globo.com consolidou sua participação no evento anual com a maturidade em mostrar os avanços conseguidos ao utilizar ativamente software livre no seu negócio e também em ouvir e aprender com a experiência de outros usuários de software livre.

No estande apresentei detalhes do projeto que visa reestruturar a forma de realizar monitoração de nossa rede e infra-estrutura utilizando o Nagios como ferramenta.  Em um bate papo de aproximadamente 1 hora mostrei quais os objetivos a serem alcançados, a estrutura do sistema, integração com o sistema de correlação de eventos (monitoração inteligente), representação gráfica dos elementos da rede, administração via web, a arquitetura proposta e também das barreiras encontradas ao longo do projeto.

Abaixo os slides de algumas das várias palestras apresentadas pela Globo.com no FISL 10

Monitoração com Nagios
Monitoração inteligente
Globo.com & Varnish
MySQL na Globo.com

YouTube HD e Google CDN

Tuesday, December 16th, 2008

No início do ano, para ser mais específico em março de 2008, fiz um post sobre os primeiros testes no YouTube com vídeos no formato HD. Na semana passada, 9 meses depois, um número bem maior de vídeos começaram a ser disponibilizados para o usuário.  O delivery de milhões de vídeos com tamanho bem maiores que o original só foi possível graças ao projeto de CDN do Google, e o desafio para os fornecedores Akamai e Limelight Network em manter a capacidade da rede com um tráfego bem maior entre os CDNs.