Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos Rodrigo Campos [email_address]
Agenda <ul><li>Motivações </li></ul><ul><li>A Internet e o Linux </li></ul><ul><li>Técnicas </li></ul><ul><ul><li>Aquisiçã...
Motivações <ul><li>Nos tempos do mainframe, cada dólar investido tinha uma relação direta com a capacidade necessária, cad...
Motivações <ul><li>Com o advento da  baixa plataforma  os parâmetros de avaliação de desempenho foram menosprezados </li><...
Motivações
Motivações
Motivações
Motivações
Motivações <ul><li>Altos custos de manutenção de infra-estrutura </li></ul><ul><li>Inviabilidade econômica e/ou física de ...
Motivações <ul><li>Guerrilla maxim 1.10: Capacity planning is not just about the future anymore. Today, there is a serious...
A Internet e o Linux <ul><li>“ I think there is a world market for maybe five computers” </li></ul><ul><li>Thomas J. Watso...
A Internet e o Linux <ul><li>Abertura comercial da internet:  circa  1988 </li></ul><ul><li>Anúncio da primeira versão do ...
A Internet e o Linux Total Sites across All Domains August 1995 – July 2009 Source:  http://news.netcraft.com/archives/web...
A Internet e o Linux Totals for Active Servers across all Domains Source:  http://news.netcraft.com/archives/web_server_su...
A Internet e o Linux Active Sites across all Domains Source:  http://news.netcraft.com/archives/2009/07/28/july_2009_web_s...
Técnicas de Aquisição <ul><li>Até pouco tempo as ferramentas de análise de desempenho da plataforma Intel foram usadas ape...
Técnicas de Aquisição <ul><li>Run queue  ou  Load Average </li></ul><ul><li>Provavelmente a informação mais importante que...
Técnicas de Aquisição <ul><li>Pacote  sysstat  ( http://bit.ly/VegQO ) inclui ferramentas para avaliação de: </li></ul><ul...
Técnicas de Aquisição <ul><li>Para a plataforma Microsoft, o Windows Performance Monitor oferece as ferramentas necessária...
Consolidação e Visualização Guerrilla maxim 2.2: Monitoring vs. Modeling The difference between performance modeling and p...
Consolidação e Visualização <ul><li>Objetivos da consolidação e visualização: </li></ul><ul><ul><li>Análise de tendência <...
Consolidação e Visualização <ul><li>Armazenamento dos dados  raw : </li></ul><ul><ul><li>Permite análise detalhada a longo...
Consolidação e Visualização <ul><li>Armazenamento dos dados consolidados: </li></ul><ul><ul><li>Limita a quantidade de inf...
Consolidação e Visualização <ul><li>O pacote  sysstat  oferece ferramentas para armazenar e exportar os dados coletados  <...
Consolidação e Visualização <ul><li>Ferramentas frequentemente usadas para visualização: </li></ul><ul><ul><li>Ganglia ( h...
Consolidação e Visualização
Consolidação e Visualização
Forecasting <ul><li>A previsão de desempenho e capacidade de um sistema pode ser feita (inclusive): </li></ul><ul><ul><li>...
Forecasting <ul><li>Trending : O Microsoft Excel ou o R ( http://www.r-project.org/ ) permite que se criem  trends  a part...
Impacto dos métodos ágeis “ O futuro não é mais como era antigamente” Renato Russo
Impacto dos métodos ágeis <ul><li>Os ciclos de desenvolvimento de software tem sido cada vez mais curtos </li></ul><ul><li...
Virtualização e  Cloud Computing <ul><li>Virtualização se tornou onipresente em sistemas distribuídos nos últimos anos </l...
Virtualização e  Cloud Computing <ul><li>Cloud Computing </li></ul><ul><ul><li>Também conhecido como: terceirizar a sua in...
Livros e Referências <ul><li>John Allspaw – The art of capacity planning </li></ul><ul><ul><li>http://bit.ly/17cAg9 </li><...
Perguntas ?
Obrigado
Próximos SlideShares
Carregando em…5
×

Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos

1.942 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos

  1. 1. Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos Rodrigo Campos [email_address]
  2. 2. Agenda <ul><li>Motivações </li></ul><ul><li>A Internet e o Linux </li></ul><ul><li>Técnicas </li></ul><ul><ul><li>Aquisição </li></ul></ul><ul><ul><li>Consolidação e Visualização </li></ul></ul><ul><ul><li>Forecasting </li></ul></ul><ul><li>Impacto dos Métodos Ágeis </li></ul><ul><li>Virtualização e Cloud Computing </li></ul>
  3. 3. Motivações <ul><li>Nos tempos do mainframe, cada dólar investido tinha uma relação direta com a capacidade necessária, cada MIP deveria ser contabilizado e justificado </li></ul><ul><li>Qualquer investimento em hardware tinha de ser minuciosamente estudado já que implicava muitas vezes em milhões de dólares </li></ul>
  4. 4. Motivações <ul><li>Com o advento da baixa plataforma os parâmetros de avaliação de desempenho foram menosprezados </li></ul><ul><li>O baixo custo de hardware e a facilidade para entrega em produção desse tipo de equipamento fez com que os parques de máquinas crescessem de forma desordenada </li></ul>
  5. 5. Motivações
  6. 6. Motivações
  7. 7. Motivações
  8. 8. Motivações
  9. 9. Motivações <ul><li>Altos custos de manutenção de infra-estrutura </li></ul><ul><li>Inviabilidade econômica e/ou física de construção de novos datacenters </li></ul><ul><li>Necessidade contínua de expansão </li></ul><ul><li>Necessidade de alinhamento pelo pico ( lead strategy ) para o mercado de internet </li></ul><ul><li>Green Data Centers </li></ul>
  10. 10. Motivações <ul><li>Guerrilla maxim 1.10: Capacity planning is not just about the future anymore. Today, there is a serious need to squeeze more </li></ul><ul><li>out of your current capital equipment. </li></ul><ul><li>Neil J. Gunther </li></ul><ul><li>More bang for the buck . </li></ul>
  11. 11. A Internet e o Linux <ul><li>“ I think there is a world market for maybe five computers” </li></ul><ul><li>Thomas J. Watson (?) </li></ul>
  12. 12. A Internet e o Linux <ul><li>Abertura comercial da internet: circa 1988 </li></ul><ul><li>Anúncio da primeira versão do kernel Linux: 1991 </li></ul><ul><li>“ I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.” </li></ul><ul><li>Linus Torvalds – 26 de Agosto de 1991 – comp.os.minix </li></ul>
  13. 13. A Internet e o Linux Total Sites across All Domains August 1995 – July 2009 Source: http://news.netcraft.com/archives/web_server_survey.html
  14. 14. A Internet e o Linux Totals for Active Servers across all Domains Source: http://news.netcraft.com/archives/web_server_survey.html
  15. 15. A Internet e o Linux Active Sites across all Domains Source: http://news.netcraft.com/archives/2009/07/28/july_2009_web_server_survey.html 0.16% 122,959 qq.com 0.21% 159,585 Sun 4.54% 3,496,153 nginx 14.10% 10,862,216 Google 23.99% 18,476,487 Microsoft 51.12% 39,371,318 Apache Percentual Julho de 2009 Web Server
  16. 16. Técnicas de Aquisição <ul><li>Até pouco tempo as ferramentas de análise de desempenho da plataforma Intel foram usadas apenas para diagnóstico de falha </li></ul><ul><li>Os contadores para CaP e diagnóstico de falha muitas vezes são idênticos </li></ul><ul><li>A diferença está em como a informação é utilizada </li></ul>
  17. 17. Técnicas de Aquisição <ul><li>Run queue ou Load Average </li></ul><ul><li>Provavelmente a informação mais importante que é ignorada com a maior frequência </li></ul><ul><li>“ The load average tries to measure the number of active processes at any time. As a measure of CPU utilization, the load average is simplistic, poorly defined, but far from useless.” </li></ul><ul><li>Tim O'Reilly – Unix Power Tools </li></ul>
  18. 18. Técnicas de Aquisição <ul><li>Pacote sysstat ( http://bit.ly/VegQO ) inclui ferramentas para avaliação de: </li></ul><ul><ul><li>Taxa de I/O global, por dispositivo, por partição e por task </li></ul></ul><ul><ul><li>Estatísticas de uso de CPU global, por CPU ou por task </li></ul></ul><ul><ul><li>Uso de memória e swap </li></ul></ul><ul><ul><li>Memória Virtual, paging, faults </li></ul></ul><ul><ul><li>Estatísticas de disparo de processos </li></ul></ul><ul><ul><li>Interrupções </li></ul></ul><ul><ul><li>Rede </li></ul></ul><ul><ul><li>Run Queue and System Load </li></ul></ul>
  19. 19. Técnicas de Aquisição <ul><li>Para a plataforma Microsoft, o Windows Performance Monitor oferece as ferramentas necessárias para a coleta de dados de praticamente todo o sistema ( http://bit.ly/1241G9 ) </li></ul>
  20. 20. Consolidação e Visualização Guerrilla maxim 2.2: Monitoring vs. Modeling The difference between performance modeling and performance monitoring is like the difference between weather prediction and simply watching a weather-vane twist in the wind.
  21. 21. Consolidação e Visualização <ul><li>Objetivos da consolidação e visualização: </li></ul><ul><ul><li>Análise de tendência </li></ul></ul><ul><ul><li>Constatação de sazonalidades </li></ul></ul><ul><ul><li>Análise do perfil de uso </li></ul></ul><ul><ul><li>Modelagem e validação do modelo </li></ul></ul>
  22. 22. Consolidação e Visualização <ul><li>Armazenamento dos dados raw : </li></ul><ul><ul><li>Permite análise detalhada a longo prazo </li></ul></ul><ul><ul><li>Maior precisão possível dentro do que foi especificado na coleta </li></ul></ul><ul><ul><li>Pode exigir alto consumo de espaço </li></ul></ul><ul><ul><li>Pode haver necessidade de pré-processamento devido ao grande volume de dados </li></ul></ul>
  23. 23. Consolidação e Visualização <ul><li>Armazenamento dos dados consolidados: </li></ul><ul><ul><li>Limita a quantidade de informação que pode ser extraída </li></ul></ul><ul><ul><li>Pode haver perda de precisão </li></ul></ul><ul><ul><li>Permite planejamento do espaço ocupado </li></ul></ul><ul><ul><li>Minimiza a necessidade de pré-processamento </li></ul></ul><ul><ul><li>Exemplo: Round-Robin Databases como as usadas no MRTG ( http://oss.oetiker.ch/mrtg/ ) </li></ul></ul>
  24. 24. Consolidação e Visualização <ul><li>O pacote sysstat oferece ferramentas para armazenar e exportar os dados coletados </li></ul><ul><ul><li>sar - http://bit.ly/sdBlo </li></ul></ul><ul><ul><li>sadf - http://bit.ly/30IjqT </li></ul></ul><ul><li>O Windows Performance Monitor também oferece a opção de armazenamento e exportação dos dados </li></ul>
  25. 25. Consolidação e Visualização <ul><li>Ferramentas frequentemente usadas para visualização: </li></ul><ul><ul><li>Ganglia ( http://ganglia.info/ ) </li></ul></ul><ul><ul><li>Cacti ( http://www.cacti.net/ ) </li></ul></ul>
  26. 26. Consolidação e Visualização
  27. 27. Consolidação e Visualização
  28. 28. Forecasting <ul><li>A previsão de desempenho e capacidade de um sistema pode ser feita (inclusive): </li></ul><ul><ul><li>Trending : usamos uma massa de dados já coletados e se extrapola </li></ul></ul><ul><ul><ul><li>O sistema tem de existir </li></ul></ul></ul><ul><ul><ul><li>Alguém lembrou de coletar os dados... </li></ul></ul></ul><ul><ul><li>Modeling : Se cria um modelo do sistema para o qual se deseja fazer a análise </li></ul></ul><ul><ul><ul><li>Maior complexidade </li></ul></ul></ul><ul><ul><ul><li>Não exige sistemas em produção </li></ul></ul></ul>
  29. 29. Forecasting <ul><li>Trending : O Microsoft Excel ou o R ( http://www.r-project.org/ ) permite que se criem trends a partir de séries com facilidade </li></ul><ul><li>Modeling : O pacote Pretty Damn Quick (PDQ) resolve diversos modelos de fila ( http://bit.ly/xOf4b ). </li></ul>
  30. 30. Impacto dos métodos ágeis “ O futuro não é mais como era antigamente” Renato Russo
  31. 31. Impacto dos métodos ágeis <ul><li>Os ciclos de desenvolvimento de software tem sido cada vez mais curtos </li></ul><ul><li>É necessário que os processos de análise e modelagem acompanhem a evolução nos processos de desenvolvimento de software </li></ul><ul><li>“ Unnecessary detail means wasted time. </li></ul><ul><li>Lacking the proper detail can be fatal” </li></ul><ul><li>John Allspaw – The art of capacity planning </li></ul>
  32. 32. Virtualização e Cloud Computing <ul><li>Virtualização se tornou onipresente em sistemas distribuídos nos últimos anos </li></ul><ul><ul><li>Os desafios para o planejamento de capacidade serão o de considerar cargas diferentes no mesmo host e otimizar o uso do host por essas cargas, além de escolher quais cargas heterogeneas farão melhor uso do equipamento </li></ul></ul>
  33. 33. Virtualização e Cloud Computing <ul><li>Cloud Computing </li></ul><ul><ul><li>Também conhecido como: terceirizar a sua infra-estrutura para alguém quem tem máquinas a vontade para você usar quando precisar. (polêmica intencional) </li></ul></ul><ul><ul><li>Variáveis novas para o planejamento de capacidade: </li></ul></ul><ul><ul><ul><li>Latência </li></ul></ul></ul><ul><ul><ul><li>Capacidade real de processamento </li></ul></ul></ul><ul><ul><ul><li>Concorrência </li></ul></ul></ul><ul><ul><li>Mesmo que seja “barato” ninguém quer alugar 1000 máquinas na nuvem quando apenas 200 fariam o trabalho </li></ul></ul>
  34. 34. Livros e Referências <ul><li>John Allspaw – The art of capacity planning </li></ul><ul><ul><li>http://bit.ly/17cAg9 </li></ul></ul><ul><li>Neil J. Gunther – Analyzing Computer System Performance with Perl::PDQ </li></ul><ul><ul><li>http://bit.ly/KVC2o </li></ul></ul><ul><li>Michael J. Crawley - The R Book </li></ul><ul><ul><li>http://bit.ly/KVC2o </li></ul></ul><ul><li>Daniel Menasce – Performance by Design </li></ul><ul><ul><li>http://bit.ly/fc7vH </li></ul></ul>
  35. 35. Perguntas ?
  36. 36. Obrigado

×