Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos

36
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos Rodrigo Campos [email protected]

description

 

Transcript of Planejamento E Gerenciamento de Capacidade Para Sistemas Distribuídos

Planejamento e Gerenciamento de Capacidade para Sistemas

DistribuídosRodrigo Campos

[email protected]

Agenda

• Motivações

• A Internet e o Linux

• Técnicas– Aquisição– Consolidação e Visualização– Forecasting

• Impacto dos Métodos Ágeis

• Virtualização e Cloud Computing

Motivações

• 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

• Qualquer investimento em hardware tinha de ser minuciosamente estudado já que implicava muitas vezes em milhões de dólares

Motivações

• Com o advento da baixa plataforma os parâmetros de avaliação de desempenho foram menosprezados

• 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

Motivações

Motivações

Motivações

Motivações

Motivações

• Altos custos de manutenção de infra-estrutura

• Inviabilidade econômica e/ou física de construção de novos datacenters

• Necessidade contínua de expansão

• Necessidade de alinhamento pelo pico (lead strategy) para o mercado de internet

• Green Data Centers

Motivações

Guerrilla maxim 1.10: Capacity planning is not just about the future anymore. Today, there is a serious need to squeeze more

out of your current capital equipment.

Neil J. Gunther

More bang for the buck.

A Internet e o Linux

“I think there is a world market for maybe five computers”

Thomas J. Watson (?)

A Internet e o Linux

• Abertura comercial da internet: circa 1988

• Anúncio da primeira versão do kernel Linux: 1991

“I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.”

Linus Torvalds – 26 de Agosto de 1991 – comp.os.minix

A Internet e o Linux

Total Sites across All Domains August 1995 – July 2009Source: http://news.netcraft.com/archives/web_server_survey.html

A Internet e o Linux

Totals for Active Servers across all DomainsSource: http://news.netcraft.com/archives/web_server_survey.html

A Internet e o LinuxWeb Server Julho de 2009 Percentual

Apache 39,371,318 51.12%

Microsoft 18,476,487 23.99%

Google 10,862,216 14.10%

nginx 3,496,153 4.54%

Sun 159,585 0.21%

qq.com 122,959 0.16%

Active Sites across all DomainsSource: http://news.netcraft.com/archives/2009/07/28/july_2009_web_server_survey.html

Técnicas de Aquisição

• Até pouco tempo as ferramentas de análise de desempenho da plataforma Intel foram usadas apenas para diagnóstico de falha

• Os contadores para CaP e diagnóstico de falha muitas vezes são idênticos

• A diferença está em como a informação é utilizada

Técnicas de Aquisição

• Run queue ou Load Average• Provavelmente a informação mais importante

que é ignorada com a maior frequência

“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.”

Tim O'Reilly – Unix Power Tools

Técnicas de Aquisição

• Pacote sysstat (http://bit.ly/VegQO) inclui ferramentas para avaliação de:– Taxa de I/O global, por dispositivo, por partição e por

task– Estatísticas de uso de CPU global, por CPU ou por

task– Uso de memória e swap– Memória Virtual, paging, faults– Estatísticas de disparo de processos– Interrupções– Rede– Run Queue and System Load

Técnicas de Aquisição

• 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)

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.

Consolidação e Visualização

• Objetivos da consolidação e visualização:– Análise de tendência– Constatação de sazonalidades– Análise do perfil de uso– Modelagem e validação do modelo

Consolidação e Visualização

• Armazenamento dos dados raw:– Permite análise detalhada a longo prazo– Maior precisão possível dentro do que foi

especificado na coleta– Pode exigir alto consumo de espaço– Pode haver necessidade de pré-

processamento devido ao grande volume de dados

Consolidação e Visualização

• Armazenamento dos dados consolidados:– Limita a quantidade de informação que pode

ser extraída– Pode haver perda de precisão– Permite planejamento do espaço ocupado– Minimiza a necessidade de pré-

processamento– Exemplo: Round-Robin Databases como as

usadas no MRTG (http://oss.oetiker.ch/mrtg/)

Consolidação e Visualização

• O pacote sysstat oferece ferramentas para armazenar e exportar os dados coletados – sar - http://bit.ly/sdBlo– sadf - http://bit.ly/30IjqT

• O Windows Performance Monitor também oferece a opção de armazenamento e exportação dos dados

Consolidação e Visualização

• Ferramentas frequentemente usadas para visualização:– Ganglia (http://ganglia.info/)– Cacti (http://www.cacti.net/)

Consolidação e Visualização

Consolidação e Visualização

Forecasting

• A previsão de desempenho e capacidade de um sistema pode ser feita (inclusive):– Trending: usamos uma massa de dados já

coletados e se extrapola• O sistema tem de existir• Alguém lembrou de coletar os dados...

– Modeling: Se cria um modelo do sistema para o qual se deseja fazer a análise

• Maior complexidade• Não exige sistemas em produção

Forecasting

• Trending: O Microsoft Excel ou o R (http://www.r-project.org/) permite que se criem trends a partir de séries com facilidade

• Modeling: O pacote Pretty Damn Quick (PDQ) resolve diversos modelos de fila (http://bit.ly/xOf4b).

Impacto dos métodos ágeis“O futuro não é mais como era antigamente”

Renato Russo

Impacto dos métodos ágeis

• Os ciclos de desenvolvimento de software tem sido cada vez mais curtos

• É necessário que os processos de análise e modelagem acompanhem a evolução nos processos de desenvolvimento de software

“Unnecessary detail means wasted time.Lacking the proper detail can be fatal”

John Allspaw – The art of capacity planning

Virtualização e Cloud Computing

• Virtualização se tornou onipresente em sistemas distribuídos nos últimos anos– 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

Virtualização e Cloud Computing

• Cloud Computing– 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)

– Variáveis novas para o planejamento de capacidade:• Latência• Capacidade real de processamento• Concorrência

– Mesmo que seja “barato” ninguém quer alugar 1000 máquinas na nuvem quando apenas 200 fariam o trabalho

Livros e Referências

• John Allspaw – The art of capacity planning– http://bit.ly/17cAg9

• Neil J. Gunther – Analyzing Computer System Performance with Perl::PDQ– http://bit.ly/KVC2o

• Michael J. Crawley - The R Book– http://bit.ly/KVC2o

• Daniel Menasce – Performance by Design– http://bit.ly/fc7vH

Perguntas ?

Obrigado