Planejamento de Capacidade Dirigido a
Negócios para Aplicações SaaS de
Comércio Eletrônico
Aluno: David Candeia
Orientadora: Raquel Lopes
12/07/2012
Universidade Federal de Campina Grande
Programa de Pós-Graduação em Ciência da Computação
PLANEJAMENTO DE CAPACIDADE
DIRIGIDO A NEGÓCIOS PARA
APLICAÇÕES SAAS DE COMÉRCIO
ELETRÔNICO
12/07/2012 2
Motivação
12/07/2012 3
Principais serviços?
SaaS
PaaS
IaaS 12/07/2012 4
O mundo das aplicações …
12/07/2012 5
Algumas características
• Pay-per-use
• Facilidade de acesso
• Terceirização
12/07/2012 6
12/07/2012 7
PLANEJAMENTO DE CAPACIDADE
DIRIGIDO A NEGÓCIOS PARA
APLICAÇÕES SAAS DE COMÉRCIO
ELETRÔNICO
O que é planejamento de capacidade?
• Algumas perguntas
– Quando comprar?
– Quanto comprar?
– De quem comprar?
12/07/2012
Provedor de
aplicação
Provedor
de
recursos
Provedor
de
recursos 8
O que é planejamento de capacidade?
• Antes de Computação na Nuvem
– Precisava-se estar preparado para futuras
variações na carga porque adicionar
servidores na hora de pico era complicado!
• Vários servidores eram adquiridos para montar a
infraestrutura de forma antecipada
• Superprovisão Desperdício
12/07/2012 9
O que é planejamento de capacidade?
• O que temos com Computação na Nuvem
...
12/07/2012
Provedor de
SaaS
Provedor
de IaaS
Provedor
de IaaS
10
O que é planejamento de capacidade?
• Com Computação na Nuvem
– Diferentes mercados oferecidos por
provedores de IaaS
• Sob demanda
• Reserva
• Leilão
– Facilidade de adição de novos recursos
– “Quando comprar”, “quanto comprar” e “de
quem comprar” são perguntas válidas!
12/07/2012 11
Nosso ambiente
• É mais interessante utilizar um provedor!
– TAK, B. et al. To move or not to move: The
economics of cloud computing.
– LI, A. CloudCmp: comparing public cloud
providers.
12/07/2012 12
Provedor de
SaaS
Provedor
de IaaS
Nosso ambiente
• Reservar ou não reservar? (quando)
• Quantos recursos devem ser reservados?
12/07/2012 13
Provedor de
SaaS
Provedor
de IaaS
Goal, Question, Metric ...
12/07/2012
Analisar o planejamento de capacidade
com a intenção de proposição e avaliação de
heurísticas de planejamento
com respeito a seu retorno para o negócio
do ponto de vista do gerente de infraestrutura
no contexto de execução de aplicações SaaS de comércio eletrônico
14
12/07/2012
Metodologia ...
15
Macro etapas…
Caracterização da aplicação
Modelo de utilidade
Heurísticas de planejamento
Avaliação
12/07/2012 16
Caracterização da aplicação
• Aplicações avaliadas
– Aplicação Web tradicional
• URGAONKAR, B et al. An Analytical Model for Multi-tier
Internet Services and Its Applications
• IYENGAR, A et al. Analysis and characterization of large-
scale Web server access patterns and performance
– Youtube
• ABHARI, A. et al. Workload generation for YouTube
• GILL, P. YouTube Workload Characterization
• GILL, P. et al. Characterizing User Sessions on YouTube
12/07/2012 17
Caracterização da aplicação
• Aplicações avaliadas
– Redes Sociais
• BENEVENUTO, F. Characterizing User Behavior in Online
Social Networks
– Comércio Eletrônico
• ARLITT, M. et al. Characterizing the Scalability of a Large Web-
based Shopping System
• MENASCÉ, D. A Hierarchical and Multiscale Approach to
Analyze E-Business Workloads
• MENASCÉ, D. et al. A Methodology for Workload
Characterization of E-commerce Sites
• KANT, K. et al. Geist: A Generator for E-Commerce & Internet
Server Traffic
12/07/2012 18
Caracterização da aplicação
• Dados do negócio!
– BigCommerce
12/07/2012 19
12/07/2012 20
Caracterização da aplicação
Modelo de utilidade
Heurísticas de planejamento
Avaliação
Macro etapas…
Modelo de utilidade: O que considerar?
• Aspectos de negócio
– Penalidades?
– Receita?
– Custo?
– Lucro?
12/07/2012 21
Modelo de utilidade
• O lucro do provedor de SaaS envolve
– Receitas obtidas pelo provedor de SaaS
12/07/2012
)()()( DDD
22
Modelo de utilidade
• O lucro do provedor de SaaS envolve
– Custos gerados com infraestrutura
12/07/2012
)()()( DDD
23
Modelo de utilidade
• Receita do provedor de SaaS
12/07/2012
e
b
k
jmj kmj
n
nnUu
Rr
mjmj
mmjjQdt
mj
k
b
k
eld
nini
D
, '',
,,
',',,
',' 0,max
)()(
)(
24
Modelo de utilidade
• Receita do provedor de SaaS
12/07/2012
e
b
k
jmj kmj
n
nnUu
Rr
mjmj
mmjjQdt
mj
k
b
k
eld
nini
D
, '',
,,
',',,
',' 0,max
)()(
)(
25
e
b
n
nn
npncvncaD )()()()(
Modelo de utilidade
• Custo do provedor de SaaS
12/07/2012 26
Modelo de utilidade
• Custo do provedor de SaaS
12/07/2012
e
b
n
nn
npncvncaD )()()()(
27
Modelo de utilidade
• Custo do provedor de SaaS
12/07/2012
e
b
n
nn
npncvncaD )()()()(
28
12/07/2012 29
Caracterização da aplicação
Modelo de utilidade
Heurísticas de planejamento
Avaliação
Macro etapas…
Heurísticas de Planejamento
12/07/2012 30
Heurísticas de Planejamento
• Duas heurísticas propostas
– Heurística baseada em rede de filas – RF
– Heurística baseada em taxas de utilização -
UT
• Duas estratégias para comparação
– Estratégia de superprovisionamento –
SUPER
– Estratégia que não realiza reserva - ON
12/07/2012 31
Heurística RF
• Utiliza estimativas de valores médios de taxa de
chegada de requisições, tempo de serviço, think
time, número de usuários para carga de
trabalho estimada
– Considera a vazão de cada recurso e aloca
requisições para serem atendidas nos mesmos!
• Trabalha com 75% de utilização para os
recursos reservados
12/07/2012 32
Heurística UT
• Simula execução da carga de trabalho
estimada
– Recursos sob demanda
• Trabalha com 47,2% de utilização para os
recursos reservados
12/07/2012 33
Estratégia SUPER
• Elabora um plano de execução de requisições
para avaliar o maior número de recursos em
paralelo necessário para processar a carga de
trabalho
– Reserva 20% deste total de recursos tipo large
• ARMBRUST, A. et al. Above the clouds: A Berkeley View
of Cloud Computing
12/07/2012 34
Estratégia ON
• Aversa ao uso do mercado de reservas!
– Utiliza apenas o mercado sob demanda
12/07/2012 35
12/07/2012 36
Caracterização da aplicação
Modelo de utilidade
Heurísticas de planejamento
Avaliação
Macro etapas…
Objetivos da Avaliação
• Demonstrar a viabilidade do planejamento
de capacidade ao utilizar as heurísticas
propostas
• Estimar a utilidade e o ganho obtidos pelo
provedor de SaaS
• Demonstrar qual heurística obtém as
melhores utilidades
– Estabelecer relações entre as heurísticas
12/07/2012 37
Métricas
• Métricas consideradas
– Utilidade do provedor de SaaS
– Ganho
12/07/2012
)(
)()(100)(),(
D
DDDDganho
B
BABA
38
Modelo de Simulação
• Duas etapas principais
12/07/2012 39
Modelo de Simulação
• Funcionamento da aplicação
12/07/2012 40
Modelo de Simulação
• Funcionamento da aplicação
12/07/2012 41
Cenários
• Provedor de IaaS: Amazon
• Provedor de SaaS: BigCommerce
– Planos Bronze, Gold e Diamond
• Período de uso (τ): 1 mês
• Período simulado: 1 ano
• Sistema de provisão dinâmica: DPS Oráculo
• Estratégia de escalonamento no balanceador de
carga: Round-Robin
12/07/2012 42
Apresentação e análise dos resultados ... 12/07/2012 43
Viabilidade do planejamento
• Vale a pena planejar?
12/07/2012 44
)()()()( DDDD RFUTONSUPER
Viabilidade do planejamento
• Vale a pena planejar?
12/07/2012 45
)()( DD UTON
)()( DD RFON
)()( DD SUPERON
Viabilidade do planejamento
• Vale a pena planejar?
12/07/2012 46
)()( DD ONUT
)()( DD ONRF
)()( DD ONSUPER
Importância prática
• Quão melhor/pior?
– Intervalos com 95% de confiança
– Erros de predição da carga de trabalho
• +40%
• -40%
12/07/2012 47
Importância prática – Melhorias
em relação a ON ($)
12/07/2012 48
Clientes Erro -40%
SUPER UT RF
10 [-3.700,27 : -3.089,35] [1.203,34 : 1.316,38] [259,21 : 292,36]
50 [-6.690,48 : -6.125,59] [2.086,31 : 2.197,87] [543,55 : 609,74]
100 [-10.426,02 : -9.838,21] [3.023,22 : 3.161,13] [1.120,71 :
1.218,84]
Clientes Erro +40%
SUPER UT RF
10 [-12.851,03 : -11.730,06] [60,87 : 178,29] [887,982 :
1.000,77]
50 [-32.110,84 : -30.396,30] [905,34 : 995,37] [3.285,72 :
3.398,62]
100 [-53.935,84 : -51.908,66] [1.545,83 : 1.649,35] [4.818,71 :
4.959,68]
Importância prática – Ganho (%)
12/07/2012 49
Clientes Erro -40%
SUPER UT RF
10 [-966,44 : -424,87] [173,25 : 407,69] [37,05 : 86,03]
50 [-14,18 : -13,41] [4,55 : 4,72] [1,19 : 1,28]
100 [-10,03 : -9,57] [2,95 : 3,03] [1,09 : 1,15]
Clientes Erro +40%
SUPER UT RF
10 [-4.269,9 : -1.786,8] [6,7 : 27,9] [135 : 329]
50 [-69,26 : -66,2] [1,98 : 2,09] [7,17 : 7,31]
100 [-51,9 : -50,5] [1,51 : 1,59] [4,69 : 4,77]
Análise de sensibilidade: Erro de
predição
12/07/2012 50
Análise de Sensibilidade
• Descobertas ...
– Para superestimativas da carga de trabalho:
– Para subestimativas da carga de trabalho:
12/07/2012 51
)()( DD UTRF
)()( DD RFUT
Análise das heurísticas
• Por que SUPER é tão ruim?
– Quantidade de núcleos reservados é superior
às quantidades reservadas por RF e UT
12/07/2012 52
Análise das heurísticas
• Por que SUPER é tão ruim?
– Tipo large contribui muito negativamente!
12/07/2012 53
Análise das heurísticas
• RF e UT?
12/07/2012 54
Análise das heurísticas
• Por que RF reserva menos que UT?
– RF faz suas análises focando em 75% de
utilização dos recursos reservados
– UT faz suas análises focando em 47,2% de
utilização dos recursos reservados
12/07/2012 55
Análise das heurísticas
• RF e UT?
12/07/2012 56
Análise das heurísticas
• RF e UT?
12/07/2012 57
CONCLUSÕES E TRABALHOS FUTUROS ...
12/07/2012 58
Conclusões
• O que foi feito?
– Estudo do Planejamento de Capacidade para
Aplicação SaaS de comércio eletrônico
• Duas heurísticas foram propostas
• Proposição de modelo de utilidade para provedor
de SaaS
– Avaliação das heurísticas propostas
• Heurística RF com ganho médio de 3,7702%
• Heurística UT com ganho médio de 3,1983%
12/07/2012 59
Trabalhos Futuros
• Avaliação e escolha de um DPS mais
realístico
– Reavaliação de utilidades e ganhos
– Avaliação do risco de negação de serviço no
mercado sob demanda
• Aperfeiçoamento das heurísticas UT e RF
12/07/2012 60
Trabalhos Futuros
• Outras avaliações de negócio
– Payback
– Valor Presente Líquido
– ...
• Expansão da avaliação para outras aplicações
SaaS
– Redes sociais
– Streaming
– ...
12/07/2012 61
Obrigado!
12/07/2012 62