SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Semelhante a 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
 
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
Leonardo Braga
 
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
Clayton de Almeida Souza
 
Microsoft WebMatrix
Microsoft WebMatrixMicrosoft WebMatrix
Microsoft WebMatrix
Denis Felix
 
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
Charles Fortes
 
Aula 02
Aula 02Aula 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...
Renato Groffe
 
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
 
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...
Renato Groffe
 
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á...
Mario Guedes
 
Tecnologias ria2
Tecnologias ria2Tecnologias ria2
Tecnologias ria2
Adilmar Dantas
 
SonarQube
SonarQubeSonarQube
SonarQube
CDS
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
Ruan Carvalho
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
Ruan Carvalho
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
jamersonlima
 
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
Alessandro Almeida
 
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
Eduardo Souza
 
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...
Victor Cavalcante
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos Windows
Robson Santos
 

Semelhante a 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
 

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