SlideShare a Scribd company logo
1 of 14
Download to read offline
Arquitetura, Python e NoSQL | Herberth Amaral
                                     DeskMetrics’ CTO




                                                        Julho de 2011
About



 DeskMetrics' CodeMonkey
 Atual responsável pelo produto
A DeskMetrics




É uma plataforma que fornece, em tempo real,
informações estratégicas sobre como um
determinado software está sendo utilizado.
Qual problema resolvemos?




 Falta de informações
  sobre o uso de software
  desktop

  - Alcance
  - Volume
Backend
Integração


                               Dados Anônimos e Encriptados

   Componente                   Segurança e Confiabilidade
<150 KB                                  ONLINE                             CLOUD
                    SOFTWARE
                                                                   Informações em Tempo Real


    Sistemas Operacionais                    Linguagens Suportadas


    •     Windows                            •    Adobe AIR/Flex
    •     Mac OS                             •    C/C++
    •     Linux                              •    Delphi
                                             •    Java
                                             •    Objective-C
                                             •    .NET/Mono
Infraestrutura


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).
Python | vantagens


100% do backend
 Fácilidade de escrita e leitura;

 Suficientemente rápida para 95% dos casos;

 Familiaridade
Python | desvantagens



Para os outros 5% dos casos
 CPython é lento e consome muita memória.

 Avaliando PyPy e Scala ou Jython (JVM) como alternativas.
MongoDB | vantagens


 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 | desvantagens


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.
Planos Futuros


 Migrar para Amazon AWS;

 Sharding no Mongo;

 Substituir tornado por gevent;

 Realizar experimentos com RabbitMQ;

 Abusar um pouco mais do memcached;

 Contratar gente bacana :-)
deskmetrics.com
        Herberth Amaral                                  deskmetrics.com/blog
        herberth@deskmetrics.com                         @DeskMetrics
        Twitter: @herberthamaral                         @DeskMetricsBR




DeskMetrics.com | contato@deskmetrics.com | +55 (31) 3318-5990
Internacional: +1 (415) 655-1990 | +1 (888) 848-2918                      Obrigado!
Rua Viçosa, n° 43, 701 - Savassi - Belo Horizonte - MG - Brasil

More Related Content

Similar to DeskMetrics - Arquitetura, Python e NoSQL

IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
Maurício Linhares
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
Maurício Linhares
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
Gustavo Malheiros
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
Ruan Carvalho
 

Similar to DeskMetrics - Arquitetura, Python e NoSQL (20)

IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à Inovação
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 
Microsoft WebMatrix
Microsoft WebMatrixMicrosoft WebMatrix
Microsoft WebMatrix
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Aula 02
Aula 02Aula 02
Aula 02
 
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
Nuvem em 2021: primeiros passos, Azure, tecnologias, carreira - UniFOA | Abri...
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
 
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
 
Tecnologias ria2
Tecnologias ria2Tecnologias ria2
Tecnologias ria2
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
Primeiros Passos Para o Desenvolvimento Web - FLISOLGO 2011
 
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos Windows
 

Recently uploaded

Recently uploaded (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

DeskMetrics - Arquitetura, Python e NoSQL

  • 1. Arquitetura, Python e NoSQL | Herberth Amaral DeskMetrics’ CTO Julho de 2011
  • 2. About  DeskMetrics' CodeMonkey  Atual responsável pelo produto
  • 3. A DeskMetrics É uma plataforma que fornece, em tempo real, informações estratégicas sobre como um determinado software está sendo utilizado.
  • 4.
  • 5. Qual problema resolvemos?  Falta de informações sobre o uso de software desktop - Alcance - Volume
  • 7. Integração Dados Anônimos e Encriptados Componente Segurança e Confiabilidade <150 KB ONLINE CLOUD SOFTWARE Informações em Tempo Real Sistemas Operacionais Linguagens Suportadas • Windows • Adobe AIR/Flex • Mac OS • C/C++ • Linux • Delphi • Java • Objective-C • .NET/Mono
  • 8. Infraestrutura 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).
  • 9. Python | vantagens 100% do backend  Fácilidade de escrita e leitura;  Suficientemente rápida para 95% dos casos;  Familiaridade
  • 10. Python | desvantagens Para os outros 5% dos casos  CPython é lento e consome muita memória.  Avaliando PyPy e Scala ou Jython (JVM) como alternativas.
  • 11. MongoDB | vantagens  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
  • 12. MongoDB | desvantagens 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.
  • 13. Planos Futuros  Migrar para Amazon AWS;  Sharding no Mongo;  Substituir tornado por gevent;  Realizar experimentos com RabbitMQ;  Abusar um pouco mais do memcached;  Contratar gente bacana :-)
  • 14. deskmetrics.com Herberth Amaral deskmetrics.com/blog herberth@deskmetrics.com @DeskMetrics Twitter: @herberthamaral @DeskMetricsBR DeskMetrics.com | contato@deskmetrics.com | +55 (31) 3318-5990 Internacional: +1 (415) 655-1990 | +1 (888) 848-2918 Obrigado! Rua Viçosa, n° 43, 701 - Savassi - Belo Horizonte - MG - Brasil