SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
PROMOVENDO A ELASTICIDADE DE
APLICAÇÕES ORGANIZADAS EM PIPELINES
Mateus Rauback Aubin
Rodrigo da Rosa Righi
ELASTIPIPE:
OVERVIEWINTRODUÇÃO
FUNDAMENTAÇÃO TEÓRICA
TRABALHOS RELACIONADOS
MODELO ELASTIPIPE
CONCLUSÃO
INTRODUÇÃO
INTRODUÇÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
PROBLEMA
o modelo de elasticidade proposto pelos
principais provedores contempla apenas
aplicações web (replicação de Máquinas
Virtuais gerenciadas por um balanceador de
carga);
delega ao usuário a tarefa de ajustar
aplicação para adaptá-la ao modelo de
elasticidade disponível;
as organizações com cargas de trabalho
complexas ficam impossibilitadas de tirar
proveito da elasticidade.
PROPOSTA
elaborar uma estratégia para a migração e o
desenvolvimento de aplicações complexas
visando obter elasticidade através de
pipelines superescalares;
cada passo do pipeline pode ser mapeado
para uma unidade de elasticidade;
possibilita a definição de regras de
elasticidade granulares e mais aderentes às
necessidades da tarefa em execução.
FUNDAMENTAÇÃO
TEÓRICA
FUNDAMENTAÇÃO TEÓRICA ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
COMPUTAÇÃO
PARALELA E
DISTRIBUÍDA
base para a
computação em
nuvem, contribuindo
através de algoritmos e
conceitos como cluster
e grid computing
COMPUTAÇÃO
EM
NUVEM
infraestrutura e
recursos
computacionais em
escala massiva e com
estrutura de custos
“pague pelo uso”
ELASTICIDADE
capacidade de
adicionar e remover
recursos
computacionais de
forma automatizada e
com um tempo de
provisionamento na
casa dos minutos ao
invés de semanas
PIPELINES
SUPERESCALARES
quebra de uma tarefa
em etapas, separando
os passos constituintes
em unidades próprias
que, quando
executados
sequencialmente,
resultarão na conclusão
da tarefa original
TRABALHOS
RELACIONADOS
TRABALHOS RELACIONADOS ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
ELASTICIDADE
✔ HORIZONTAL
✔ AUTOMÁTICA
✔ POR REPLICAÇÃO
13TRABALHOS
SELECIONADOS
INFRAESTRUTURA 6
PLATAFORMA 4
APLICAÇÃO 3
CUMPRIMENTO DE PRAZOS 2
REDUÇÃO DE CUSTOS 2
PERFORMANCE 11
NÍVELOBJETIVO
TRABALHOS RELACIONADOS ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
ELASTICSITE
Marshall, Keahey e Freeman (2010)
✔ batch-scheduler;
✔ garantir o cumprimento de prazos;
✔ movem parte da carga de trabalho para a nuvem
conforme a estimativa de conclusão do job.
EQS
Tran, Skhiri e Zimányi (2011)
✔ middleware para filas de mensagens;
✔ aproveita as capacidades de elasticidade já presentes
nos provedores;
✔ divide a aplicação em unidades que podem ganhar
tratamento elástico.
CLOUD OPERATING SYSTEM
Imai, Chestna e Varela (2012)
✔ programação orientada a atores;
✔ migração da carga de trabalho a nível de aplicação;
✔ mais eficaz por reduzir o tamanho e o custo doestado
migrado.
WEBLETS
Zhang et al. (2010)
✔ middleware para desenvolvimento em dispositivos
móveis;
✔ camada de decisão para instanciar a tarefa no dispositivo
ou na nuvem;
✔ divide as tarefas em unidades independentes que
comunicam-se por HTTP.
MODELO
ELASTIPIPE
✔ flexibilidade;
✔ ganhos de performance e
redução na complexidade do
desenvolvimento;
✔ redução de custos através do
melhor aproveitamento de recursos;
✔ aproveitamento dos mecanismos
regra-condição-ação presentes nos
principais provedores.
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
elasticidade para cargas de
trabalho baseadas em pipelines
estratégia horizontal,
automática reativa e por
replicação
modelo para a migração e o
desenvolvimento de aplicações
em ambiente de computação em
nuvem
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
overview
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
arquitetura
INGESTÃO
• recebimentodos itens;
• fila distribuída de
mensagens;
• comunicação assíncrona;
• absorve picos de demanda;
• maximiza a ocupação do
pipeline.
CONTROLE
• componentes
compartilhados;
• controle de fluxo e
dependência entre itens;
• reconhecimento do tipo
de tarefa do item;
• validação e tratamento de
erros;
• encaminha os itens para
processamentono
módulo de execução.
EXECUÇÃO
• unidades autônomas e
com o mínimo de
dependências;
• mapeiam cada etapa dos
pipelines;
• decomposição funcional
aumenta o desempenho
através da especializaçãoe
fornece melhor visibilidade
dos gargalos.
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
arquitetura
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
elasticidade isolar
diferentes
etapas do
pipeline em
unidades de
elasticidade;
ajustar de maneira
granular a alocação
de recursos
conforme os
gargalos e as
características de
cada etapa;
equilibrar a duração das etapas através
do uso de balanceadores de carga,
consequentemente reduzindo o tempo
total de execução;
elasticidade
horizontal, automática
reativa e por
replicação.
flexibilidade na
definição das
unidades e das
regras de
elasticidade;
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
elasticidade
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
protótipo
AutoScaling / CloudWatch;
Elastic Compute Cloud (EC2);
Elastic Load Balancing (ELB);
Relational Database Service (RDS);
Simple Queue Service (SQS);
Simple Storage Service (S3).
stack
Microsoft
C#;
NET Framework;
Internet Information Services (IIS);
SQL Server;
WCF.
hospedado e
fazendo uso da
plataforma AWS
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
protótipoarquitetura
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
protótipoelasticidade
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
avaliação
baseados no
processamento
de arquivos
amostra colhida
em colaboração
com uma
empresa
CENÁRIOS
3 servidores escolhidos de
acordo com os atributos,
favorecendo a
unidade de
elasticidade
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
avaliação
8
layouts de
arquivos
FLUXO DE ARQUIVOS NO PERÍODO DE
11.459
arquivos
3,5k
linhas e 1MB
em média
2
pipelines
UMA SEMANA
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
avaliação
Cenário Elasticidade VMs Regras de Elasticidade
1
sem
elasticidade
m4.large (S3Scanner, Maestro, Serviços) —
2
elasticidade
global
t2.medium (S3Scanner, Maestro) —
m4.large (Serviços) ↑ CPU > 75% ↓ CPU < 35%
3
elasticidade
funcional
t2.medium (S3Scanner, Maestro) —
c4.large (Serviços de CPU) ↑ CPU > 75% ↓ CPU < 35%
r3.large (Serviços de memória) ↑ RAM > 75% ↓ RAM < 35%
i2.xlarge (Serviços de disco) ↑ IOPS > 3k ↓ IOPS < 1k
m4.large (Serviços de rede) ↑ MBps > 40 ↓ MBps < 10
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
resultados
Cenário 3
Cenário 2
Cenário 1
0
5
10
15
20
0 2 4 6 8 10
Tempo[horas]
VMs
0
2
4
6
8
10
12
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
VMs[quantidade]
Progresso
Cenário 1 Cenário 2 Cenário 3
Cenário
TAREFAS CONSUMO DE RECURSOS
Duração
Unitária (s)
Por Minuto
Duração
Total
Média de
VMs
Observações Custo Energia
1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518
2 2,62 594,74 06:45:36 5,2 405
40*1 + 40*2 +
40*3 + 40*4 +
40*5 + 40*6 +
40*7 + 120*8=
2080
14056
3 2,13 1007,45 04:55:12 8,5 295
29*4 + 29*6 +
145*9+ 87*10 =
2465
12131
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
resultados
ELASTICIDADE GLOBAL
✔ duração de cada tarefa reduzida em 52%;
✔ ganhos de 62% no tempo total de execução;
✔ economia de energia de 24%.
Cenário
TAREFAS CONSUMO DE RECURSOS
Duração
Unitária (s)
Por Minuto
Duração
Total
Média de
VMs
Observações Custo Energia
1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518
2 2,62 594,74 06:45:36 5,2 405
40*1 + 40*2 +
40*3 + 40*4 +
40*5 + 40*6 +
40*7 + 120*8=
2080
14056
3 2,13 1007,45 04:55:12 8,5 295
29*4 + 29*6 +
145*9+ 87*10 =
2465
12131
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
resultados
ELASTICIDADE FUNCIONAL
✔ duração de cada tarefa reduzida em 61%;
✔ ganhos de 72% no tempo total de execução;
✔ economia de energia de 34%.
Cenário
TAREFAS CONSUMO DE RECURSOS
Duração
Unitária (s)
Por Minuto
Duração
Total
Média de
VMs
Observações Custo Energia
1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518
2 2,62 594,74 06:45:36 5,2 405
40*1 + 40*2 +
40*3 + 40*4 +
40*5 + 40*6 +
40*7 + 120*8=
2080
14056
3 2,13 1007,45 04:55:12 8,5 295
29*4 + 29*6 +
145*9+ 87*10 =
2465
12131
MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
MODELOELASTIPIPE
resultados
ELASTIPIPE
✔ ganhos de 69% na vazão;
✔ duração 27% menor;
✔ associatividade de custos mantém o modelo
vantajoso mesmo com custo 18% maior.
Cenário
TAREFAS CONSUMO DE RECURSOS
Duração
Unitária (s)
Por Minuto
Duração
Total
Média de
VMs
Observações Custo Energia
1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518
2 2,62 594,74 06:45:36 5,2 405
40*1 + 40*2 +
40*3 + 40*4 +
40*5 + 40*6 +
40*7 + 120*8=
2080
14056
3 2,13 1007,45 04:55:12 8,5 295
29*4 + 29*6 +
145*9+ 87*10 =
2465
12131
CONCLUSÃO
preencheu-se uma lacuna no que diz respeito à obtenção de
elasticidade em aplicações que podem ser organizadas como
pipelines;
através da avaliação de três cenários, comprovou-se o
desempenho superior da elasticidade funcional proposta
pelo modelo...
...o qual permite tratar cada etapa do pipeline de forma
independente, viabilizando ajustes finos no hardware,
performance e regras de elasticidade.
CONCLUSÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
✔
✔
✔
podemos ainda explorar técnicas de conteinerização, migração
de processos e estratégias de sombra assim como o impacto de
diferentes políticas de balanceamento de carga.
CONCLUSÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
PROMOVENDO A ELASTICIDADE DE
APLICAÇÕES ORGANIZADAS EM PIPELINES
Mateus Rauback Aubin
Rodrigo da Rosa Righi
ELASTIPIPE:

Más contenido relacionado

Destacado

Rochas vulcânicas
Rochas vulcânicasRochas vulcânicas
Rochas vulcânicasRosabella9
 
Pl 2391 15 obriga a identificação de pessoas autorizadas a ingressar nas es...
Pl 2391 15   obriga a identificação de pessoas autorizadas a ingressar nas es...Pl 2391 15   obriga a identificação de pessoas autorizadas a ingressar nas es...
Pl 2391 15 obriga a identificação de pessoas autorizadas a ingressar nas es...Claudio Figueiredo
 
Híper vínculos
Híper vínculos Híper vínculos
Híper vínculos JesusINC
 
Ciudades mas importantes de colombia
Ciudades mas importantes de colombiaCiudades mas importantes de colombia
Ciudades mas importantes de colombiamiguelucho-25
 
Las cosas de la computadora
Las  cosas de la  computadoraLas  cosas de la  computadora
Las cosas de la computadoraJuan Gonzalez
 
Presentación1 yerma
Presentación1 yermaPresentación1 yerma
Presentación1 yermammonik1903
 
Rubrica evaluar videos_tutorial_(1)
Rubrica evaluar videos_tutorial_(1)Rubrica evaluar videos_tutorial_(1)
Rubrica evaluar videos_tutorial_(1)MAAP98
 
Presentación1
Presentación1Presentación1
Presentación1yret2
 
Autores del romanticismo hispanoamericano
Autores del romanticismo hispanoamericano Autores del romanticismo hispanoamericano
Autores del romanticismo hispanoamericano JohanAmado18
 
Los videojuegos en la vida
Los videojuegos en la vidaLos videojuegos en la vida
Los videojuegos en la vidasebasbg
 
Escuela
EscuelaEscuela
EscuelaMAAP98
 

Destacado (18)

Rochas vulcânicas
Rochas vulcânicasRochas vulcânicas
Rochas vulcânicas
 
Tecnologia para Licenciamento
Tecnologia para LicenciamentoTecnologia para Licenciamento
Tecnologia para Licenciamento
 
Cameo 1
Cameo 1Cameo 1
Cameo 1
 
Pl 2391 15 obriga a identificação de pessoas autorizadas a ingressar nas es...
Pl 2391 15   obriga a identificação de pessoas autorizadas a ingressar nas es...Pl 2391 15   obriga a identificação de pessoas autorizadas a ingressar nas es...
Pl 2391 15 obriga a identificação de pessoas autorizadas a ingressar nas es...
 
PRINT_PF_10_MFNEURO
PRINT_PF_10_MFNEUROPRINT_PF_10_MFNEURO
PRINT_PF_10_MFNEURO
 
Híper vínculos
Híper vínculos Híper vínculos
Híper vínculos
 
Ciudades mas importantes de colombia
Ciudades mas importantes de colombiaCiudades mas importantes de colombia
Ciudades mas importantes de colombia
 
Presentación1
Presentación1Presentación1
Presentación1
 
Ss masc az sp
Ss masc az spSs masc az sp
Ss masc az sp
 
Innobrand Perú
Innobrand PerúInnobrand Perú
Innobrand Perú
 
Las cosas de la computadora
Las  cosas de la  computadoraLas  cosas de la  computadora
Las cosas de la computadora
 
Presentación1 yerma
Presentación1 yermaPresentación1 yerma
Presentación1 yerma
 
Toscanpatricia
ToscanpatriciaToscanpatricia
Toscanpatricia
 
Rubrica evaluar videos_tutorial_(1)
Rubrica evaluar videos_tutorial_(1)Rubrica evaluar videos_tutorial_(1)
Rubrica evaluar videos_tutorial_(1)
 
Presentación1
Presentación1Presentación1
Presentación1
 
Autores del romanticismo hispanoamericano
Autores del romanticismo hispanoamericano Autores del romanticismo hispanoamericano
Autores del romanticismo hispanoamericano
 
Los videojuegos en la vida
Los videojuegos en la vidaLos videojuegos en la vida
Los videojuegos en la vida
 
Escuela
EscuelaEscuela
Escuela
 

Similar a Elastipipe: Apresentação para Banca Avaliadora

Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSAmazon Web Services LATAM
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoCloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoMateus Aubin
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoCaio Candido
 
Artigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-FinalArtigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-Finalthiago.lenz
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Lenin Abadie
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
Avelor JUL2011
Avelor  JUL2011Avelor  JUL2011
Avelor JUL2011Avelor
 
Estratégia para adoção de Cloud Computing
Estratégia para adoção de Cloud ComputingEstratégia para adoção de Cloud Computing
Estratégia para adoção de Cloud ComputingViviam Ribeiro
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesEdgar Silva
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Renato Groff
 
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...Intelie
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOpsCaio Candido
 

Similar a Elastipipe: Apresentação para Banca Avaliadora (20)

Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWS
 
Serverless week
Serverless weekServerless week
Serverless week
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de DissertaçãoCloudModelTest — Seminário de Andamento da Proposta de Dissertação
CloudModelTest — Seminário de Andamento da Proposta de Dissertação
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
TRIO IT - Resumo
TRIO IT - ResumoTRIO IT - Resumo
TRIO IT - Resumo
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como Código
 
Artigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-FinalArtigo_Thiago_Lenz_versao2.3-Final
Artigo_Thiago_Lenz_versao2.3-Final
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Avelor JUL2011
Avelor  JUL2011Avelor  JUL2011
Avelor JUL2011
 
Estratégia para adoção de Cloud Computing
Estratégia para adoção de Cloud ComputingEstratégia para adoção de Cloud Computing
Estratégia para adoção de Cloud Computing
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
Microservices
MicroservicesMicroservices
Microservices
 
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOps
 

Elastipipe: Apresentação para Banca Avaliadora

  • 1. PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES Mateus Rauback Aubin Rodrigo da Rosa Righi ELASTIPIPE:
  • 4. INTRODUÇÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES PROBLEMA o modelo de elasticidade proposto pelos principais provedores contempla apenas aplicações web (replicação de Máquinas Virtuais gerenciadas por um balanceador de carga); delega ao usuário a tarefa de ajustar aplicação para adaptá-la ao modelo de elasticidade disponível; as organizações com cargas de trabalho complexas ficam impossibilitadas de tirar proveito da elasticidade. PROPOSTA elaborar uma estratégia para a migração e o desenvolvimento de aplicações complexas visando obter elasticidade através de pipelines superescalares; cada passo do pipeline pode ser mapeado para uma unidade de elasticidade; possibilita a definição de regras de elasticidade granulares e mais aderentes às necessidades da tarefa em execução.
  • 6. FUNDAMENTAÇÃO TEÓRICA ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES COMPUTAÇÃO PARALELA E DISTRIBUÍDA base para a computação em nuvem, contribuindo através de algoritmos e conceitos como cluster e grid computing COMPUTAÇÃO EM NUVEM infraestrutura e recursos computacionais em escala massiva e com estrutura de custos “pague pelo uso” ELASTICIDADE capacidade de adicionar e remover recursos computacionais de forma automatizada e com um tempo de provisionamento na casa dos minutos ao invés de semanas PIPELINES SUPERESCALARES quebra de uma tarefa em etapas, separando os passos constituintes em unidades próprias que, quando executados sequencialmente, resultarão na conclusão da tarefa original
  • 8. TRABALHOS RELACIONADOS ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES ELASTICIDADE ✔ HORIZONTAL ✔ AUTOMÁTICA ✔ POR REPLICAÇÃO 13TRABALHOS SELECIONADOS INFRAESTRUTURA 6 PLATAFORMA 4 APLICAÇÃO 3 CUMPRIMENTO DE PRAZOS 2 REDUÇÃO DE CUSTOS 2 PERFORMANCE 11 NÍVELOBJETIVO
  • 9. TRABALHOS RELACIONADOS ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES ELASTICSITE Marshall, Keahey e Freeman (2010) ✔ batch-scheduler; ✔ garantir o cumprimento de prazos; ✔ movem parte da carga de trabalho para a nuvem conforme a estimativa de conclusão do job. EQS Tran, Skhiri e Zimányi (2011) ✔ middleware para filas de mensagens; ✔ aproveita as capacidades de elasticidade já presentes nos provedores; ✔ divide a aplicação em unidades que podem ganhar tratamento elástico. CLOUD OPERATING SYSTEM Imai, Chestna e Varela (2012) ✔ programação orientada a atores; ✔ migração da carga de trabalho a nível de aplicação; ✔ mais eficaz por reduzir o tamanho e o custo doestado migrado. WEBLETS Zhang et al. (2010) ✔ middleware para desenvolvimento em dispositivos móveis; ✔ camada de decisão para instanciar a tarefa no dispositivo ou na nuvem; ✔ divide as tarefas em unidades independentes que comunicam-se por HTTP.
  • 11. ✔ flexibilidade; ✔ ganhos de performance e redução na complexidade do desenvolvimento; ✔ redução de custos através do melhor aproveitamento de recursos; ✔ aproveitamento dos mecanismos regra-condição-ação presentes nos principais provedores. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES elasticidade para cargas de trabalho baseadas em pipelines estratégia horizontal, automática reativa e por replicação modelo para a migração e o desenvolvimento de aplicações em ambiente de computação em nuvem
  • 12. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE overview
  • 13. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE arquitetura INGESTÃO • recebimentodos itens; • fila distribuída de mensagens; • comunicação assíncrona; • absorve picos de demanda; • maximiza a ocupação do pipeline. CONTROLE • componentes compartilhados; • controle de fluxo e dependência entre itens; • reconhecimento do tipo de tarefa do item; • validação e tratamento de erros; • encaminha os itens para processamentono módulo de execução. EXECUÇÃO • unidades autônomas e com o mínimo de dependências; • mapeiam cada etapa dos pipelines; • decomposição funcional aumenta o desempenho através da especializaçãoe fornece melhor visibilidade dos gargalos.
  • 14. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE arquitetura
  • 15. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE elasticidade isolar diferentes etapas do pipeline em unidades de elasticidade; ajustar de maneira granular a alocação de recursos conforme os gargalos e as características de cada etapa; equilibrar a duração das etapas através do uso de balanceadores de carga, consequentemente reduzindo o tempo total de execução; elasticidade horizontal, automática reativa e por replicação. flexibilidade na definição das unidades e das regras de elasticidade;
  • 16. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE elasticidade
  • 17. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE protótipo AutoScaling / CloudWatch; Elastic Compute Cloud (EC2); Elastic Load Balancing (ELB); Relational Database Service (RDS); Simple Queue Service (SQS); Simple Storage Service (S3). stack Microsoft C#; NET Framework; Internet Information Services (IIS); SQL Server; WCF. hospedado e fazendo uso da plataforma AWS
  • 18. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE protótipoarquitetura
  • 19. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE protótipoelasticidade
  • 20. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE avaliação baseados no processamento de arquivos amostra colhida em colaboração com uma empresa CENÁRIOS 3 servidores escolhidos de acordo com os atributos, favorecendo a unidade de elasticidade
  • 21. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE avaliação 8 layouts de arquivos FLUXO DE ARQUIVOS NO PERÍODO DE 11.459 arquivos 3,5k linhas e 1MB em média 2 pipelines UMA SEMANA
  • 22. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE avaliação Cenário Elasticidade VMs Regras de Elasticidade 1 sem elasticidade m4.large (S3Scanner, Maestro, Serviços) — 2 elasticidade global t2.medium (S3Scanner, Maestro) — m4.large (Serviços) ↑ CPU > 75% ↓ CPU < 35% 3 elasticidade funcional t2.medium (S3Scanner, Maestro) — c4.large (Serviços de CPU) ↑ CPU > 75% ↓ CPU < 35% r3.large (Serviços de memória) ↑ RAM > 75% ↓ RAM < 35% i2.xlarge (Serviços de disco) ↑ IOPS > 3k ↓ IOPS < 1k m4.large (Serviços de rede) ↑ MBps > 40 ↓ MBps < 10
  • 23. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE resultados Cenário 3 Cenário 2 Cenário 1 0 5 10 15 20 0 2 4 6 8 10 Tempo[horas] VMs 0 2 4 6 8 10 12 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% VMs[quantidade] Progresso Cenário 1 Cenário 2 Cenário 3 Cenário TAREFAS CONSUMO DE RECURSOS Duração Unitária (s) Por Minuto Duração Total Média de VMs Observações Custo Energia 1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518 2 2,62 594,74 06:45:36 5,2 405 40*1 + 40*2 + 40*3 + 40*4 + 40*5 + 40*6 + 40*7 + 120*8= 2080 14056 3 2,13 1007,45 04:55:12 8,5 295 29*4 + 29*6 + 145*9+ 87*10 = 2465 12131
  • 24. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE resultados ELASTICIDADE GLOBAL ✔ duração de cada tarefa reduzida em 52%; ✔ ganhos de 62% no tempo total de execução; ✔ economia de energia de 24%. Cenário TAREFAS CONSUMO DE RECURSOS Duração Unitária (s) Por Minuto Duração Total Média de VMs Observações Custo Energia 1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518 2 2,62 594,74 06:45:36 5,2 405 40*1 + 40*2 + 40*3 + 40*4 + 40*5 + 40*6 + 40*7 + 120*8= 2080 14056 3 2,13 1007,45 04:55:12 8,5 295 29*4 + 29*6 + 145*9+ 87*10 = 2465 12131
  • 25. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE resultados ELASTICIDADE FUNCIONAL ✔ duração de cada tarefa reduzida em 61%; ✔ ganhos de 72% no tempo total de execução; ✔ economia de energia de 34%. Cenário TAREFAS CONSUMO DE RECURSOS Duração Unitária (s) Por Minuto Duração Total Média de VMs Observações Custo Energia 1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518 2 2,62 594,74 06:45:36 5,2 405 40*1 + 40*2 + 40*3 + 40*4 + 40*5 + 40*6 + 40*7 + 120*8= 2080 14056 3 2,13 1007,45 04:55:12 8,5 295 29*4 + 29*6 + 145*9+ 87*10 = 2465 12131
  • 26. MODELO ELASTIPIPE ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES MODELOELASTIPIPE resultados ELASTIPIPE ✔ ganhos de 69% na vazão; ✔ duração 27% menor; ✔ associatividade de custos mantém o modelo vantajoso mesmo com custo 18% maior. Cenário TAREFAS CONSUMO DE RECURSOS Duração Unitária (s) Por Minuto Duração Total Média de VMs Observações Custo Energia 1 5,52 108,70 17:34:12 1,0 1054 1054*1= 1054 18518 2 2,62 594,74 06:45:36 5,2 405 40*1 + 40*2 + 40*3 + 40*4 + 40*5 + 40*6 + 40*7 + 120*8= 2080 14056 3 2,13 1007,45 04:55:12 8,5 295 29*4 + 29*6 + 145*9+ 87*10 = 2465 12131
  • 28. preencheu-se uma lacuna no que diz respeito à obtenção de elasticidade em aplicações que podem ser organizadas como pipelines; através da avaliação de três cenários, comprovou-se o desempenho superior da elasticidade funcional proposta pelo modelo... ...o qual permite tratar cada etapa do pipeline de forma independente, viabilizando ajustes finos no hardware, performance e regras de elasticidade. CONCLUSÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES ✔ ✔ ✔
  • 29. podemos ainda explorar técnicas de conteinerização, migração de processos e estratégias de sombra assim como o impacto de diferentes políticas de balanceamento de carga. CONCLUSÃO ELASTIPIPE: PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES
  • 30. PROMOVENDO A ELASTICIDADE DE APLICAÇÕES ORGANIZADAS EM PIPELINES Mateus Rauback Aubin Rodrigo da Rosa Righi ELASTIPIPE: