SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Um Mecanismo de Auto Elasticidade com base no Tempo
de Resposta para Ambientes de Computação em Nuvem
baseados em Containers
Marcelo Cerqueira de Abranches (CGU/UnB)
Priscila Solis (UnB)
Introdução
● Objetivos do trabalho:
○ Propor para a CGU um ambiente elástico de computação;
○ Evitar dimensionamento de recursos inadequados;
○ Escalar recursos de acordo com a demanda.
● Algoritmo de auto elasticidade (PAS):
○ Baseado em containers
○ Alocação eficiente de recursos de acordo com a demanda;
Trabalhos relacionados
● [Gong et al. 2010]:
○ Algoritmo PRESS: Predição de carga de CPU (FFT ou cadeia de Markov de estados finitos)
● [Poddar et al. 2015]
○ Haven: Algoritmo reativo a variações de CPU/Memória
● [Google 2016b]
○ HPA: Algoritmo reativo a variações de CPU
Trabalhos relacionados
● Diferenças:
○ PRESS:
■ PRESS: Predição de carga x PAS: Reação a variações no tempo de resposta de uma
aplicação;;
■ PRESS: Escalabilidade vertical (ajustes de cpu) x PAS: Horizontal (provisão de novas
instâncias)
■ PRESS: VMs x PAS: Conteiners
○ Haven
Conteiners
● Diferente de virtualização;
○ Conteiners: Instâncias de processamento isoladas gerenciados por um sistema
operacional;
○ Máquinas Virtuais: sistemas operacionais isolados gerenciados por um Hypervisor;
● Vantagens:
○ Imagens pequenas (binários dos processos, arquivos de configuraçaõ etc);
○ Rápido de instanciar;
Balanceadores de carga
● Distribui requisições entre servidores de forma transparente para o
usuário;
● Abordagem para prover:
○ Melhor desempenho, escalabilidade e alta disponibilidade;
Controladores PID
● Algoritmo de controle;
● Permite controlar o valor de uma variável;
● É estabelecido um “setpoint” para a variável;
● Em cada iteração é calculado o erro:
○ erro = setpoint - valor atual da variável
● Um atuador é alimentado e acionado de modo a tomar uma ação que leve
o erro para 0.
Solução Proposta
● Ambiente elástico de nuvem, auto escalável e com balanceamento de
carga, para hospedagem de sistemas Web.
● Cluster baseado em conteiners;
● Algoritmo de alto elasticidade (PAS):
○ Reaje a variações no tempo de resposta médio de um sistema de modo a mantê-lo dentro
de um limite;
Ferramentas utilizadas
● Haproxy
● Flume
● Spark
● Redis
● Dimensionador PAS (python)
● Kubernetes
Arquitetura da solução
● Configura-se no dimensionador PID (PAS) o tempo médio de
resposta desejado para aplicação (“setpoint”);
● Monitor de requisições alimenta o dimensionador com o tempo
médio atual das requisições;
● Dimensionador informa ao atuador (Kubernetes) o número de
containers necessário para atingir o “setpoint”.
Avaliação experimental - Ambiente
● Cluster Kubernetes v1.1.2, instalado no sistema operacional CoreOS
899.6.0, virtualizado em VMWare ESXi 5.5.0
○ 1 nó master (4 vCPUs, 6 GB de RAM);,
○ 1 nó etcd (4 vCPUs, 6 GB de RAM) ;
○ 4 nós workers (4 vCPUs, 6 GB de RAM)
● VMs Ubuntu 14.04.3 LTS, virtualizado em VMWare ESXi 5.5.0
○ 1 nó Haproxy 1.5.4 (4 vCPUs, 4G GB de RAM)
Avaliação experimental - Containers
1. Conteiners rodando cherrypy 5.1.0, configurado com um link que gera um
array aleatório de 1000 a 10000 elementos em cada requisição;
2. Conteiners limitados a 24 milicores de CPU e 18 MB de memória RAM;
Avaliação experimental - Carga de trabalho
● Gerada com a ferramenta ab (apache bench):
● Perfil de requisições gerado a partir de perfil de requisições do portal da
transparência:
○ Série autossimilar (H=0.87, caracterizada com o método Kettani-Gubner),
● Teste executado em diferentes escalas de intensidade
○ 1x (carga_1),
○ 1.5x (carga_1.5)
Avaliação experimental - Cenário 1
● O limiar de tempo de resposta no balanceador (setpoint) foi estabelecido em 50 ms;
● Aplicada carga_1 durante 1000 s
Avaliação experimental - Cenário 1
● O limiar de tempo de resposta no balanceador (setpoint) foi estabelecido em 50 ms;
● Aplicada carga_1.5 durante 1000 s;
Avaliação experimental - Cenário 2
● Compara a proposta deste trabalho (PAS) com o HPA
● Configurado HPA para escalar com 80 % de carga de CPU (HPA_80):
○ Exposto às cargas carga_1, carga_1.5 e carga_2 durante 1000 segundos.
○ Avaliado tempo médio de resposta na camada de aplicação (usuário);
○ PAS configurado para entregar tempo médios de resposta similares ao HPA para cada
carga;
○ Resultados comparados verificando a quantidade média de containers durante os testes
e os tempos de resposta obtidos na camada de aplicação dos clientes;
Avaliação experimenta - Cenário 2
● Para carga_1:
○ HPA_80: tempo médio de resposta 64 ms
■ PAS_50: setpoint configurado em 50 ms
● Para carga_1.5:
○ HPA_80: tempo médio de resposta 105 ms
■ PAS_80: setpoint configurado em 80 ms
● Para carga_2:
Avaliação experimental - Cenário 2
.
Avaliação experimental - Cenário 2
Avaliação experimental - Cenário 2
Avaliação experimental - Cenário 2
● Para tempos médios de resposta similares:
○ Carga_1: PAS_50 alocou 44.02 % do que foi alocado pelo HPA_80
○ Carga_1.5: PAS_80 alocou 36.07 % do que foi alocado pelo HPA_80
○ Carga_2.0: PAS_100 alocou 12.72 % do que foi alocado pelo HPA_80
Trabalhos Futuros
● Avaliar resultados experimentais em um maior número de cenários;
○ Cargas de trabalho reais;
○ Ambientes de produção;
Conclusão
● Resultados demonstram potencial para prover auto elasticidade a um ambiente de computação
em nuvem baseado em conteiners;
● Comparação com a ferramenta de auto escalabilidade nativa do Kubernetes, mostra uma
maior eficiência da solução proposta para alocação da quantidade de conteiners para tempos
de resposta similares na execução de requisições para aplicações Web;
● Uso de ferramentas como Spark e Flume possibilita que a arquitetura seja escalável, podendo
vir a ser utilizada por sites com servidores com grande número de acessos;
Obrigado !!!
Dúvidas???

Mais conteúdo relacionado

Mais procurados

Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso PráticoEiti Kimura
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosEiti Kimura
 
CanSat 2017 - sessão de apresentação aos alunos
CanSat 2017 - sessão de apresentação aos alunosCanSat 2017 - sessão de apresentação aos alunos
CanSat 2017 - sessão de apresentação aos alunosacarneirinho
 
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Felipe
 
ApresentaçãO Thiago Bordini Campus Party 2010
ApresentaçãO Thiago Bordini   Campus Party 2010ApresentaçãO Thiago Bordini   Campus Party 2010
ApresentaçãO Thiago Bordini Campus Party 2010Campus Party Brasil
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkFelipe
 
Alta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLAlta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLelliando dias
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroMySQL Brasil
 
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoTDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoEiti Kimura
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLJohnes Castro
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo realAmazon Web Services LATAM
 

Mais procurados (12)

Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
CanSat 2017 - sessão de apresentação aos alunos
CanSat 2017 - sessão de apresentação aos alunosCanSat 2017 - sessão de apresentação aos alunos
CanSat 2017 - sessão de apresentação aos alunos
 
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
 
ApresentaçãO Thiago Bordini Campus Party 2010
ApresentaçãO Thiago Bordini   Campus Party 2010ApresentaçãO Thiago Bordini   Campus Party 2010
ApresentaçãO Thiago Bordini Campus Party 2010
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 
Alta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLAlta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQL
 
Estudo de caso Ricardo Eletro
Estudo de caso Ricardo EletroEstudo de caso Ricardo Eletro
Estudo de caso Ricardo Eletro
 
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto DesempenhoTDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
TDC2015 - Apache Cassandra no Desenvolvimento de Sistemas de Alto Desempenho
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
Analisador de vibrações - Modo de funcionamento V
Analisador de vibrações - Modo de funcionamento VAnalisador de vibrações - Modo de funcionamento V
Analisador de vibrações - Modo de funcionamento V
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo real
 

Destaque

FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...
FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...
FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...EUBrasilCloudFORUM .
 
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...EUBrasilCloudFORUM .
 
Secure Cloud - Secure Big Data Processing in Untrusted Clouds
Secure Cloud - Secure Big Data Processing in Untrusted CloudsSecure Cloud - Secure Big Data Processing in Untrusted Clouds
Secure Cloud - Secure Big Data Processing in Untrusted CloudsEUBrasilCloudFORUM .
 
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTI
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTICooperação Brasil - União Europeia: Principais ações da SEPIN/MCTI
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTIEUBrasilCloudFORUM .
 
Proposals for a Brazilian Programme for Open Access to Research Data
Proposals for a Brazilian Programme for Open Access to Research DataProposals for a Brazilian Programme for Open Access to Research Data
Proposals for a Brazilian Programme for Open Access to Research DataEUBrasilCloudFORUM .
 

Destaque (13)

FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...
FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...
FUTEBOL - Federated Union of Telecommunications Research Facilities for an EU...
 
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...
ITC in S&T UE-Brazil Coopertion Agreement - A personal account of Brazil part...
 
Historia de celular dilan
Historia de celular dilanHistoria de celular dilan
Historia de celular dilan
 
Secure Cloud - Secure Big Data Processing in Untrusted Clouds
Secure Cloud - Secure Big Data Processing in Untrusted CloudsSecure Cloud - Secure Big Data Processing in Untrusted Clouds
Secure Cloud - Secure Big Data Processing in Untrusted Clouds
 
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTI
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTICooperação Brasil - União Europeia: Principais ações da SEPIN/MCTI
Cooperação Brasil - União Europeia: Principais ações da SEPIN/MCTI
 
EUBrazilCloudConnect Project
EUBrazilCloudConnect Project EUBrazilCloudConnect Project
EUBrazilCloudConnect Project
 
EUBraBIGSEA Project
EUBraBIGSEA Project EUBraBIGSEA Project
EUBraBIGSEA Project
 
Adblocking - Blocking more than ads
Adblocking - Blocking more than adsAdblocking - Blocking more than ads
Adblocking - Blocking more than ads
 
Proposals for a Brazilian Programme for Open Access to Research Data
Proposals for a Brazilian Programme for Open Access to Research DataProposals for a Brazilian Programme for Open Access to Research Data
Proposals for a Brazilian Programme for Open Access to Research Data
 
Challenges in the IoT
Challenges in the IoTChallenges in the IoT
Challenges in the IoT
 
Elasticidade preco da Oferta e Demanda
Elasticidade preco da Oferta e DemandaElasticidade preco da Oferta e Demanda
Elasticidade preco da Oferta e Demanda
 
Report Text
Report TextReport Text
Report Text
 
Demanda e oferta 2011_01
Demanda e oferta 2011_01Demanda e oferta 2011_01
Demanda e oferta 2011_01
 

Semelhante a Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers.

Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualRafael Reis
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...Carlos Eduardo
 
2 Ads
2 Ads2 Ads
2 Adslcbj
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresDouglas V. Pasqua
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareCarlos Eduardo
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Paralelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarParalelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarWendel Oliveira
 
KNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoKNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoRichiely Paiva
 
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...Adalgiso Nogueira de Castro Filho Adalgiso
 
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterAbrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterEvandro Grezeli
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIMatheus Espanhol
 
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Miguel Xavier
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
 

Semelhante a Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers. (20)

Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
 
2 Ads
2 Ads2 Ads
2 Ads
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedores
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de Software
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Paralelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarParalelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto Escalar
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Load Balance
Load BalanceLoad Balance
Load Balance
 
KNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoKNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizado
 
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...
Controle Inteligente De Processos TermoquíMicos Com Base Na TermodinâMica Com...
 
IMRT, sua Implementação no CAT3D
IMRT,  sua Implementação no CAT3DIMRT,  sua Implementação no CAT3D
IMRT, sua Implementação no CAT3D
 
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterAbrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
 
Arquitetura SINFO 1.1
Arquitetura SINFO 1.1Arquitetura SINFO 1.1
Arquitetura SINFO 1.1
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
 
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customiz...
 
Design Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com CtoolsDesign Patterns para Tuning Pentaho com Ctools
Design Patterns para Tuning Pentaho com Ctools
 
Apresentação cfd
Apresentação cfdApresentação cfd
Apresentação cfd
 
TP1CI_57572.pdf
TP1CI_57572.pdfTP1CI_57572.pdf
TP1CI_57572.pdf
 

Mais de EUBrasilCloudFORUM .

FUTEBOL - Concertation Meeting EUBrasilCloudFORUM
FUTEBOL - Concertation Meeting EUBrasilCloudFORUMFUTEBOL - Concertation Meeting EUBrasilCloudFORUM
FUTEBOL - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
SWAMP - Concertation Meeting EUBrasilCloudFORUM
SWAMP - Concertation Meeting EUBrasilCloudFORUMSWAMP - Concertation Meeting EUBrasilCloudFORUM
SWAMP - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
EUBrasilCloudFORUM - Concertation Meeting
EUBrasilCloudFORUM - Concertation MeetingEUBrasilCloudFORUM - Concertation Meeting
EUBrasilCloudFORUM - Concertation MeetingEUBrasilCloudFORUM .
 
NECOS - Concertation Meeting EUBrasilCloudFORUM
NECOS -  Concertation Meeting EUBrasilCloudFORUMNECOS -  Concertation Meeting EUBrasilCloudFORUM
NECOS - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
OCARIoT - Concertation Meeting EUBrasilCloudFORUM
OCARIoT - Concertation Meeting EUBrasilCloudFORUMOCARIoT - Concertation Meeting EUBrasilCloudFORUM
OCARIoT - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
FASTEN - Concertation Meeting EUBrasilCloudFORUM
FASTEN - Concertation Meeting EUBrasilCloudFORUMFASTEN - Concertation Meeting EUBrasilCloudFORUM
FASTEN - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
5G-RANGE - Concertation Meeting EUBrasilCloudFORUM
5G-RANGE - Concertation Meeting EUBrasilCloudFORUM5G-RANGE - Concertation Meeting EUBrasilCloudFORUM
5G-RANGE - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
SecureCloud - Concertation Meeting EUBrasilCloudFORUM
SecureCloud  - Concertation Meeting EUBrasilCloudFORUMSecureCloud  - Concertation Meeting EUBrasilCloudFORUM
SecureCloud - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
HPC4E - Concertation Meeting EUBrasilCloudFORUM
HPC4E - Concertation Meeting EUBrasilCloudFORUMHPC4E - Concertation Meeting EUBrasilCloudFORUM
HPC4E - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUM
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUMATMOSPHERE - Concertation Meeting EUBrasilCloudFORUM
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUMEUBrasilCloudFORUM .
 
PITCH - WisoApp at CloudscapeBrazil 2017
PITCH - WisoApp at CloudscapeBrazil 2017PITCH - WisoApp at CloudscapeBrazil 2017
PITCH - WisoApp at CloudscapeBrazil 2017EUBrasilCloudFORUM .
 
PITCH - Ustore at CloudscapeBrazil 2017
PITCH - Ustore at CloudscapeBrazil 2017PITCH - Ustore at CloudscapeBrazil 2017
PITCH - Ustore at CloudscapeBrazil 2017EUBrasilCloudFORUM .
 
PITCH - IN2 at CloudscapeBrazil 2017
PITCH - IN2 at CloudscapeBrazil 2017PITCH - IN2 at CloudscapeBrazil 2017
PITCH - IN2 at CloudscapeBrazil 2017EUBrasilCloudFORUM .
 
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...Lessons learned from the development of FUTEBOL A case of cloud and fog inter...
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...EUBrasilCloudFORUM .
 
SIG-Special Interest Group in Cloud Computing
SIG-Special Interest Group in Cloud Computing SIG-Special Interest Group in Cloud Computing
SIG-Special Interest Group in Cloud Computing EUBrasilCloudFORUM .
 
Laying the foundation for a SIG (Special Interest Group) in Cloud Computing
Laying the foundation for a SIG (Special Interest Group) in Cloud ComputingLaying the foundation for a SIG (Special Interest Group) in Cloud Computing
Laying the foundation for a SIG (Special Interest Group) in Cloud ComputingEUBrasilCloudFORUM .
 
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion sessionSession 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion sessionEUBrasilCloudFORUM .
 
Enabling Privacy and Security for Data Outsourced to the Cloud
Enabling Privacy and Security for Data Outsourced to the CloudEnabling Privacy and Security for Data Outsourced to the Cloud
Enabling Privacy and Security for Data Outsourced to the CloudEUBrasilCloudFORUM .
 

Mais de EUBrasilCloudFORUM . (20)

FUTEBOL - Concertation Meeting EUBrasilCloudFORUM
FUTEBOL - Concertation Meeting EUBrasilCloudFORUMFUTEBOL - Concertation Meeting EUBrasilCloudFORUM
FUTEBOL - Concertation Meeting EUBrasilCloudFORUM
 
SWAMP - Concertation Meeting EUBrasilCloudFORUM
SWAMP - Concertation Meeting EUBrasilCloudFORUMSWAMP - Concertation Meeting EUBrasilCloudFORUM
SWAMP - Concertation Meeting EUBrasilCloudFORUM
 
EUBrasilCloudFORUM - Concertation Meeting
EUBrasilCloudFORUM - Concertation MeetingEUBrasilCloudFORUM - Concertation Meeting
EUBrasilCloudFORUM - Concertation Meeting
 
NECOS - Concertation Meeting EUBrasilCloudFORUM
NECOS -  Concertation Meeting EUBrasilCloudFORUMNECOS -  Concertation Meeting EUBrasilCloudFORUM
NECOS - Concertation Meeting EUBrasilCloudFORUM
 
OCARIoT - Concertation Meeting EUBrasilCloudFORUM
OCARIoT - Concertation Meeting EUBrasilCloudFORUMOCARIoT - Concertation Meeting EUBrasilCloudFORUM
OCARIoT - Concertation Meeting EUBrasilCloudFORUM
 
FASTEN - Concertation Meeting EUBrasilCloudFORUM
FASTEN - Concertation Meeting EUBrasilCloudFORUMFASTEN - Concertation Meeting EUBrasilCloudFORUM
FASTEN - Concertation Meeting EUBrasilCloudFORUM
 
5G-RANGE - Concertation Meeting EUBrasilCloudFORUM
5G-RANGE - Concertation Meeting EUBrasilCloudFORUM5G-RANGE - Concertation Meeting EUBrasilCloudFORUM
5G-RANGE - Concertation Meeting EUBrasilCloudFORUM
 
SecureCloud - Concertation Meeting EUBrasilCloudFORUM
SecureCloud  - Concertation Meeting EUBrasilCloudFORUMSecureCloud  - Concertation Meeting EUBrasilCloudFORUM
SecureCloud - Concertation Meeting EUBrasilCloudFORUM
 
HPC4E - Concertation Meeting EUBrasilCloudFORUM
HPC4E - Concertation Meeting EUBrasilCloudFORUMHPC4E - Concertation Meeting EUBrasilCloudFORUM
HPC4E - Concertation Meeting EUBrasilCloudFORUM
 
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUM
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUMATMOSPHERE - Concertation Meeting EUBrasilCloudFORUM
ATMOSPHERE - Concertation Meeting EUBrasilCloudFORUM
 
PITCH - WisoApp at CloudscapeBrazil 2017
PITCH - WisoApp at CloudscapeBrazil 2017PITCH - WisoApp at CloudscapeBrazil 2017
PITCH - WisoApp at CloudscapeBrazil 2017
 
PITCH - Ustore at CloudscapeBrazil 2017
PITCH - Ustore at CloudscapeBrazil 2017PITCH - Ustore at CloudscapeBrazil 2017
PITCH - Ustore at CloudscapeBrazil 2017
 
PITCH - IN2 at CloudscapeBrazil 2017
PITCH - IN2 at CloudscapeBrazil 2017PITCH - IN2 at CloudscapeBrazil 2017
PITCH - IN2 at CloudscapeBrazil 2017
 
Melodic
Melodic Melodic
Melodic
 
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...Lessons learned from the development of FUTEBOL A case of cloud and fog inter...
Lessons learned from the development of FUTEBOL A case of cloud and fog inter...
 
SIG-Special Interest Group in Cloud Computing
SIG-Special Interest Group in Cloud Computing SIG-Special Interest Group in Cloud Computing
SIG-Special Interest Group in Cloud Computing
 
SBC Thematic Groups Organization
SBC Thematic Groups OrganizationSBC Thematic Groups Organization
SBC Thematic Groups Organization
 
Laying the foundation for a SIG (Special Interest Group) in Cloud Computing
Laying the foundation for a SIG (Special Interest Group) in Cloud ComputingLaying the foundation for a SIG (Special Interest Group) in Cloud Computing
Laying the foundation for a SIG (Special Interest Group) in Cloud Computing
 
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion sessionSession 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
 
Enabling Privacy and Security for Data Outsourced to the Cloud
Enabling Privacy and Security for Data Outsourced to the CloudEnabling Privacy and Security for Data Outsourced to the Cloud
Enabling Privacy and Security for Data Outsourced to the Cloud
 

Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers.

  • 1. Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers Marcelo Cerqueira de Abranches (CGU/UnB) Priscila Solis (UnB)
  • 2. Introdução ● Objetivos do trabalho: ○ Propor para a CGU um ambiente elástico de computação; ○ Evitar dimensionamento de recursos inadequados; ○ Escalar recursos de acordo com a demanda. ● Algoritmo de auto elasticidade (PAS): ○ Baseado em containers ○ Alocação eficiente de recursos de acordo com a demanda;
  • 3. Trabalhos relacionados ● [Gong et al. 2010]: ○ Algoritmo PRESS: Predição de carga de CPU (FFT ou cadeia de Markov de estados finitos) ● [Poddar et al. 2015] ○ Haven: Algoritmo reativo a variações de CPU/Memória ● [Google 2016b] ○ HPA: Algoritmo reativo a variações de CPU
  • 4. Trabalhos relacionados ● Diferenças: ○ PRESS: ■ PRESS: Predição de carga x PAS: Reação a variações no tempo de resposta de uma aplicação;; ■ PRESS: Escalabilidade vertical (ajustes de cpu) x PAS: Horizontal (provisão de novas instâncias) ■ PRESS: VMs x PAS: Conteiners ○ Haven
  • 5. Conteiners ● Diferente de virtualização; ○ Conteiners: Instâncias de processamento isoladas gerenciados por um sistema operacional; ○ Máquinas Virtuais: sistemas operacionais isolados gerenciados por um Hypervisor; ● Vantagens: ○ Imagens pequenas (binários dos processos, arquivos de configuraçaõ etc); ○ Rápido de instanciar;
  • 6. Balanceadores de carga ● Distribui requisições entre servidores de forma transparente para o usuário; ● Abordagem para prover: ○ Melhor desempenho, escalabilidade e alta disponibilidade;
  • 7. Controladores PID ● Algoritmo de controle; ● Permite controlar o valor de uma variável; ● É estabelecido um “setpoint” para a variável; ● Em cada iteração é calculado o erro: ○ erro = setpoint - valor atual da variável ● Um atuador é alimentado e acionado de modo a tomar uma ação que leve o erro para 0.
  • 8. Solução Proposta ● Ambiente elástico de nuvem, auto escalável e com balanceamento de carga, para hospedagem de sistemas Web. ● Cluster baseado em conteiners; ● Algoritmo de alto elasticidade (PAS): ○ Reaje a variações no tempo de resposta médio de um sistema de modo a mantê-lo dentro de um limite;
  • 9. Ferramentas utilizadas ● Haproxy ● Flume ● Spark ● Redis ● Dimensionador PAS (python) ● Kubernetes
  • 10. Arquitetura da solução ● Configura-se no dimensionador PID (PAS) o tempo médio de resposta desejado para aplicação (“setpoint”); ● Monitor de requisições alimenta o dimensionador com o tempo médio atual das requisições; ● Dimensionador informa ao atuador (Kubernetes) o número de containers necessário para atingir o “setpoint”.
  • 11. Avaliação experimental - Ambiente ● Cluster Kubernetes v1.1.2, instalado no sistema operacional CoreOS 899.6.0, virtualizado em VMWare ESXi 5.5.0 ○ 1 nó master (4 vCPUs, 6 GB de RAM);, ○ 1 nó etcd (4 vCPUs, 6 GB de RAM) ; ○ 4 nós workers (4 vCPUs, 6 GB de RAM) ● VMs Ubuntu 14.04.3 LTS, virtualizado em VMWare ESXi 5.5.0 ○ 1 nó Haproxy 1.5.4 (4 vCPUs, 4G GB de RAM)
  • 12. Avaliação experimental - Containers 1. Conteiners rodando cherrypy 5.1.0, configurado com um link que gera um array aleatório de 1000 a 10000 elementos em cada requisição; 2. Conteiners limitados a 24 milicores de CPU e 18 MB de memória RAM;
  • 13. Avaliação experimental - Carga de trabalho ● Gerada com a ferramenta ab (apache bench): ● Perfil de requisições gerado a partir de perfil de requisições do portal da transparência: ○ Série autossimilar (H=0.87, caracterizada com o método Kettani-Gubner), ● Teste executado em diferentes escalas de intensidade ○ 1x (carga_1), ○ 1.5x (carga_1.5)
  • 14. Avaliação experimental - Cenário 1 ● O limiar de tempo de resposta no balanceador (setpoint) foi estabelecido em 50 ms; ● Aplicada carga_1 durante 1000 s
  • 15. Avaliação experimental - Cenário 1 ● O limiar de tempo de resposta no balanceador (setpoint) foi estabelecido em 50 ms; ● Aplicada carga_1.5 durante 1000 s;
  • 16. Avaliação experimental - Cenário 2 ● Compara a proposta deste trabalho (PAS) com o HPA ● Configurado HPA para escalar com 80 % de carga de CPU (HPA_80): ○ Exposto às cargas carga_1, carga_1.5 e carga_2 durante 1000 segundos. ○ Avaliado tempo médio de resposta na camada de aplicação (usuário); ○ PAS configurado para entregar tempo médios de resposta similares ao HPA para cada carga; ○ Resultados comparados verificando a quantidade média de containers durante os testes e os tempos de resposta obtidos na camada de aplicação dos clientes;
  • 17. Avaliação experimenta - Cenário 2 ● Para carga_1: ○ HPA_80: tempo médio de resposta 64 ms ■ PAS_50: setpoint configurado em 50 ms ● Para carga_1.5: ○ HPA_80: tempo médio de resposta 105 ms ■ PAS_80: setpoint configurado em 80 ms ● Para carga_2:
  • 19. Avaliação experimental - Cenário 2 Avaliação experimental - Cenário 2
  • 20. Avaliação experimental - Cenário 2 ● Para tempos médios de resposta similares: ○ Carga_1: PAS_50 alocou 44.02 % do que foi alocado pelo HPA_80 ○ Carga_1.5: PAS_80 alocou 36.07 % do que foi alocado pelo HPA_80 ○ Carga_2.0: PAS_100 alocou 12.72 % do que foi alocado pelo HPA_80
  • 21. Trabalhos Futuros ● Avaliar resultados experimentais em um maior número de cenários; ○ Cargas de trabalho reais; ○ Ambientes de produção;
  • 22. Conclusão ● Resultados demonstram potencial para prover auto elasticidade a um ambiente de computação em nuvem baseado em conteiners; ● Comparação com a ferramenta de auto escalabilidade nativa do Kubernetes, mostra uma maior eficiência da solução proposta para alocação da quantidade de conteiners para tempos de resposta similares na execução de requisições para aplicações Web; ● Uso de ferramentas como Spark e Flume possibilita que a arquitetura seja escalável, podendo vir a ser utilizada por sites com servidores com grande número de acessos;