Upload
herberth-amaral
View
1.889
Download
0
Embed Size (px)
DESCRIPTION
Lightning talk que eu ministrei no primeiro encontro do HoraExtraBH
Citation preview
Arquitetura, Python e NoSQL | Herberth Amaral DeskMetrics’ CTO
Julho de 2011
DeskMetrics' CodeMonkey
Atual responsável pelo produto
About
É uma plataforma que fornece, em tempo real,
informações estratégicas sobre como um
determinado software está sendo utilizado.
A DeskMetrics
Falta de informações
sobre o uso de software
desktop
- Alcance
- Volume
Qual problema resolvemos?
Backend
Integração
Dados Anônimos e Encriptados
ONLINE
Componente
SOFTWARE CLOUD <150 KB
Segurança e Confiabilidade
Informações em Tempo Real
Linguagens Suportadas Sistemas Operacionais
• Windows
• Mac OS
• Linux
• Adobe AIR/Flex
• C/C++
• Delphi
• Java
• Objective-C
• .NET/Mono
5 máquinas no Rackspace Cloud
1 GB RAM Frontend (Website e Analytics)
1 GB RAM Webservice (incluindo workers)
2x 4GB RAM MongoDB (gargalo)
1x 256 MB RAM MySQL (dá e sobra ;)
Capacidade de processamento:
400 datapoints/segundo, com bursts de até 1000
em curtos intervalos de tempo (10 a 20s).
Infraestrutura
100% do backend
Fácilidade de escrita e leitura;
Suficientemente rápida para 95% dos casos;
Familiaridade
Python | vantagens
Para os outros 5% dos casos
CPython é lento e consome muita memória.
Avaliando PyPy e Scala ou Jython (JVM) como alternativas.
Python | desvantagens
Fácil integração com qualquer plataforma
Boa solução para realtime analytics
Vejam http://bit.ly/yA27D
Desnormalização salva nossa vida
Sem blobs.
Armazenamento de dados de relatórios.
Banco em memória = Rápido bagaraio
MongoDB | vantagens
Problemas com memória
High-memory instances no Rackspace são caras.
Dataset com 80 GB.
Sem sharding ainda.
Problemas com disco
Atualmente o maior gargalo.
MongoDB | desvantagens
Migrar para Amazon AWS;
Sharding no Mongo;
Substituir tornado por gevent;
Realizar experimentos com RabbitMQ;
Abusar um pouco mais do memcached;
Contratar gente bacana :-)
Planos Futuros
Herberth Amaral [email protected]
Twitter: @herberthamaral
DeskMetrics.com | [email protected] | +55 (31) 3318-5990
Internacional: +1 (415) 655-1990 | +1 (888) 848-2918
Rua Viçosa, n° 43, 701 - Savassi - Belo Horizonte - MG - Brasil
Obrigado!
deskmetrics.com
deskmetrics.com/blog
@DeskMetrics
@DeskMetricsBR