SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Um Middleware para Coreografias
de Servic¸os Web Escal´aveis em Ambientes
de Computac¸˜ao em Nuvem
Thiago Furtado de Mendonc¸a
Orientador:
Prof. Dr. Fabio Kon – Universidade de S˜ao Paulo
Julho 2015
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Introduc¸˜ao
Contexto
Projeto CHOReOS
A Internet do Futuro: grande n´umero de usu´arios, dispositivos
e servic¸os interconectados
O Projeto CHOReOS foi criado para investigar Coreografias de
Grande Escala
Grupo de sistemas respons´avel pela criac¸˜ao do middleware
Coreografias s˜ao naturalmente consideradas mais adequadas
para a Internet do Futuro, oferecendo maior escalabilidade e
tolerˆancia a falhas
Em coreografias todos os servic¸os s˜ao respons´aveis por coordenar
a interac¸˜ao entre eles [PvdH07]
1/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Introduc¸˜ao
Enactment Engine
Parte deste trabalho envolveu o Enactment Engine, um
middleware para automatizar:
Gest˜ao de alocac¸˜ao de recursos em ambientes virtuais
O processo de implantac¸˜ao de servic¸os
A gest˜ao de dependˆencias em tempo de execuc¸˜ao entre os
servic¸os
A adaptac¸˜ao dinˆamica para manutenc¸˜ao de QoS
Nessa pesquisa, focamos nos mecanismos de adaptac¸˜ao
implementados no Enactment Engine
2/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Introduc¸˜ao
Objetivos
Como estabelecer elasticidade em coreografias implantadas em
nuvem?
Ambientes de computac¸˜ao em nuvem j´a provˆem elasticidade na
camada de recursos
Criac¸˜ao de um middleware para composic¸˜oes escal´aveis
Coreografias como modelo de servic¸os
Lac¸os de Monitoramento, An´alise, Planejamento e Execuc¸˜ao
(MAPE)
Processamento de Eventos Complexos (CEP) implementando
MAPE
3/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Introduc¸˜ao
Trabalhos relacionados
V´arios trabalhos definem modelos e taxonomias QoS
Abordagem de selec¸˜ao de servic¸os pra manutenc¸˜ao de QoS ´e
mais encontrada
Reconfigurac¸˜ao (Calinescu [CGK + 11]), detecc¸˜ao de perfil de
uso de recursos [JPC10], e sistemas autˆonomos (Andre
[ADG10])
4/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Conte´udo
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
4/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
4/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Qualidade de Servic¸o
Modelo de Qualidade de Servic¸o (QoS)
Como definir Qualidade de Servic¸o?
QoS mede a qualidade de acordo com propriedades n˜ao
funcionais
´E necess´ario modelar servic¸os e atributos
5/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Composic¸˜oes de Servic¸o
Modelos Composic¸˜oes de servic¸o
Servic¸os: componentes atˆomicos
ou compostos acess´ıveis por um
enderec¸os (IP) [PTDL07]
Formas b´asicas de servic¸os
compostos
a) Sequˆencia
b) Alternˆancia
c) Lac¸o
d) Paralelo
Serviço 1 Serviço 2
Serviço
N
...
Entrada Saída
Entrada
Serviço 1
Serviço 2
Serviço 2
Serviço 3
Saída
Entrada
Serviço 1
Serviço 3
Serviço 2
Serviço 2
Saída
Entrada
Serviço 1
Serviço 3
Saída
Serviço 2
(a)
(b)
(c)
(d)
6/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Composic¸˜oes de Servic¸o
Coreografias
Agregac¸˜ao arquitetural de servic¸os baseado em Pap´eis
[PvdH07]
Servi¸cos s˜ao entidades abstratas que podem realizar um papel
Servic¸os implantados que correspondem aos servic¸os s˜ao
Instˆancias de Servi¸cos
M´aquinas virtuais s˜ao criadas sob-demanda para hospedar as
Instˆancias
Exemplo
Papel realizado: servic¸o de autenticac¸˜ao
Servic¸o: Implementac¸˜ao de servic¸o espec´ıfico de HTTP Basic
Auth
7/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Atributos e M´etricas de QoS
Propriedades/Atributos de QoS
Atributos indicam a qualidade de um servic¸o de acordo com
propriedades n˜ao funcionais
M´etricas definem uma maneira de medir um atributo
M´etricas e valores limite s˜ao definidos para cada servic¸o
A definic¸˜ao de propriedades e m´etricas ´e flex´ıvel
O middleware permite que o usu´ario configure outras de acordo
com a necessidade
SLAs descrevendo as propriedades relevantes s˜ao inclu´ıdos na
especificac¸˜ao da coreografia
8/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Service Level Agreements
Service Level Agreements
Formalizac¸˜ao de contrato para QoS esperada [ADC10]
Ambientes de compartilhamento de recursos
Restric¸˜oes s˜ao modeladas atribuindo valores limites aos
atributos de QoS
A violac¸˜ao dessas restric¸˜oes causa penalidade (financeira)
9/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Qualidade De Servic¸o
Monitoramento de m´etricas
Monitoramento de m´etricas
Abordagem baseada em eventos criados a partir da coleta de
dados de monitoramento
Eventos locais capturados atrav´es de uma m´etrica
Eventos globais sintetizados com eventos que remetem ao
estado do sistema como um todo
10/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Sistemas autˆonomos
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
10/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Sistemas autˆonomos
MAPE
Monitoramento Análise
Execução Planejamento
Base de
Conhecimento
11/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Sistemas autˆonomos
CEP
Processamento de Eventos Complexos
Abordagem de monitoramento com vantagens para sistemas
distribu´ıdos
Caracter´ıstica de monitoramento de fontes m´ultiplas
Evento: Uma mudanc¸a de estado que pode ser detectada
Fato: Um estado adquirido que tem significado duradouro
Evento Complexo: Correlac¸˜ao com significado l´ogico resultado
da junc¸˜ao de dois ou mais eventos
CEP: An´alise de eventos para conclus˜ao de estados relevantes
(ex.: causas raiz)
Janelas deslizantes de monitoramento
Conclus˜ao pode levar a ativac¸˜ao de gatilhos
12/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Sistemas autˆonomos
CEP - Operadores
Operac¸˜oes logicas aplicadas a um intervalo de tempo
Operador Tempo Operador Tempo
a Before b
a
b
a After b
b
a
a Includes b
a
b a During b
a
b
a Finishes b
a
b a Finished by b
a
b
a Meets b
a
b
a Met by b
a
b
a Overlaps b
a
b
a Overlaped by b
a
b
a Starts b
a
b a Started by b
a
b
a Coincides b
a
b
13/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
13/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Arquitetura Geral
Componentes
Resource Manager
Aggregator (CEP
usado para an´alise
e planejamento)
Mant´em c´opia do
estado atual das
coreografias
Deployment
Manager (executa
as alterac¸˜oes nas
coreografias)
Node 1 Node N
Resource Manager
Aggregator
Rule Engine
Complex Event
Processing
Choreography
Deployer
Deployment
Monitor
Deployment
Manager
Deployment&
Reconfiguration
EventFeed
Reactive Reconfiguration Planning
Node N
Service Replicas
Monitoring
Probe
Enactment Engine
14/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Fases do MAPE
Monitoramento
Para ser capaz de
reconfigurar os recursos
virtuais, precisamos
monitorar servic¸os e
recursos de baixo n´ıvel
Monitoramento de
recursos virtuais com
Ganglia
Baixa intrusividade
M´etricas de QoS
medidas com v´alvulas
do Tomcat
Cloud Node
RMA
Tomcat
Service Replica 11
Platform Monitoring
Ganglia
15/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Fases do MAPE
An´alise
Correlac¸˜ao de medidas com Processamento de Eventos
Complexos (CEP)
Fatos de SLA e Eventos de QoS sinalizam a necessidade de
mudanc¸as nas coreografias (ex: adic¸˜ao e remoc¸˜ao de r´eplicas)
Novos eventos (complexos) consolidando informac¸˜oes e
diferentes fontes
16/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Fases do MAPE
Planejamento
Captura de eventos complexos notifica consumidores em
execuc¸˜ao
Escolha da ac¸˜ao a ser notificada leva em conta a pol´ıtica de
escalabilidade
Separac¸˜ao s´olida em dois grupos de regras fica vis´ıvel
17/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Fases do MAPE
Como as regras funcionam
Desenvolvedores escrevem as regras de an´alise e planejamento
Blocos When-Then s˜ao usado para verificar a ocorrˆencia de
certas condic¸˜oes
when
...
# [1] An´alise de eventos do monitoramento
# [2] Captura de eventos complexos
# Fatos s˜ao usados para definir contexto de coreografias e servic¸os
then
...
# [1] Gerac¸˜ao de eventos complexos por correlac¸˜ao de eventos
# [2] Notificac¸˜ao de plano de reconfigurac¸˜ao
end
18/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Middleware
Fases do MAPE
Execuc¸˜ao
Deployment
Manager consome
a fila de notificac¸˜ao
Aplica as mudanc¸as
necess´arias
Node 1 Node N
Resource Manager
Aggregator
Rule Engine
Complex Event
Processing
Choreography
Deployer
Deployment
Monitor
Deployment
Manager
Deployment&
Reconfiguration
EventFeed
Reactive Reconfiguration Planning
Node N
Service Replicas
Monitoring
Probe
Enactment Engine
19/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Avaliac¸˜ao Experimental
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
19/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Avaliac¸˜ao Experimental
Composic¸˜ao pequena: dois servic¸os onde um deles foi
instrumentado para consumir CPU conforme a quantidade de
requisic¸˜oes.
Padr˜ao de acesso baseado na Wikipedia: 24 horas de acesso
Objetivo: manter o tempo de resposta abaixo de 1
segundo e o uso de CPU entre 60% e 90%
Evitar sobrecarga levando em conta recursos subutilizados
0
1000
2000
3000
4000
5000
6000
7000
8000
00:00
01:00
02:00
03:00
04:00
05:00
06:00
07:00
08:00
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
21:00
22:00
23:00
NumberofRequests
Time of Day
20/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Avaliac¸˜ao Experimental
Resultados
Escalabilidade Horizontal
100
1000
10000
0
0.5
1
1.5
2
2.5
3AverageResponseTime(ms)
Requestspersecond
Avg. Response Time
Requests per second
0
20
40
60
80
100
0 1000 2000 3000 4000 5000 6000 7000
CPUUsage(%)
Time (s)
Replica 1 Replica 2 Replica 3
21/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Avaliac¸˜ao Experimental
Resultados
Escalabilidade Vertical
100
1000
10000
0
0.5
1
1.5
2
2.5
3AverageResponseTime(ms)
Requestspersecond
Avg. Response Time
Requests per second
0
20
40
60
80
100
0 1000 2000 3000 4000 5000 6000 7000
CPUUsage(%)
Time (s)
Small Medium Small Medium Large
22/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Avaliac¸˜ao Experimental
Considerac¸˜oes
Durante a alterac¸˜ao de comportamento, o middleware reagiu
aos eventos, permitindo a manutenc¸˜ao correta de QoS
Desconsiderando o tempo inicial, houve 7% e 1,5% de violac¸˜ao
para escalabilidade horizontal e vertical, respectivamente
N´umero sobe para 22% e 3,5%
100
1000
10000
0
0.5
1
1.5
2
2.5
3
AverageResponseTime(ms)
Requestspersecond
Avg. Response Time
Requests per second
0
20
40
60
80
100
0 1000 2000 3000 4000 5000 6000 7000
CPUUsage(%)
Time (s)
Replica 1 Replica 2 Replica 3
100
1000
10000
0
0.5
1
1.5
2
2.5
3
AverageResponseTime(ms)
Requestspersecond
Avg. Response Time
Requests per second
0
20
40
60
80
100
0 1000 2000 3000 4000 5000 6000 7000
CPUUsage(%)
Time (s)
Small Medium Small Medium Large
23/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Conclus˜oes
1 Qualidade De Servic¸o
2 Sistemas autˆonomos
3 Middleware
4 Avaliac¸˜ao Experimental
5 Conclus˜oes
23/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Conclus˜oes
Conclus˜oes
Conclus˜oes
O middleware foi capaz de manter n´ıveis esperados de QoS
durante variac¸˜oes de carga
CEP permite a criac¸˜ao de regras arbitrariamente complexas
A pr´e-definic¸˜ao de regras reduz o trabalho de configurac¸˜ao do
provedor da composic¸˜ao
24/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Conclus˜oes
Conclus˜oes
OrChor 2014
Towards an Enactment Engine for Dynamically Reconfigurable and
Scalable Choreographies
Proceedings of IEEE First International Workshop on Service Orchestration and
Choreography for the Future Internet (OrChor 2014)
Thiago Furtado, Em´ılio Francesquini, Nelson Lago e Fabio Kon
IEEE 10th World Congress on Services (SERVICES 2014), Anchorage, Alaska, USA
ARM 2014
A Middleware for Reflective Web Service Choreographies on the
Cloud
The 13th Workshop on Adaptive and Reflective Middleware (ARM 2014)
Thiago Furtado, Em´ılio Francesquini, Nelson Lago e Fabio Kon
ACM/IFIP/USENIX ACM International Middleware Conference 2014, Bordeaux,
France, December 8-12
25/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Conclus˜oes
Trabalhos Futuros
Trabalhos Futuros
Testes com grandes quantidades de servic¸os
Integrac¸˜ao de CEP com implantac¸˜ao
Detecc¸˜ao de perfil dos servic¸os
Inclus˜ao de padr˜oes de monitoramento de servic¸os
Validac¸˜ao de QoS durante manutenc¸˜oes
Fam´ılia de regras reutiliz´aveis
Regras robustas
Estudo de padr˜oes para service binding
Regras dinˆamicas a partir de conhecimento (predic¸˜ao)
26/27
Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem
Acknowledgments
Obrigado
Thiago Furtado
tfurtado@ime.usp.br
http://ccsl.ime.usp.br/baile
http://www.choreos.eu/bin/view/Documentation/enactment_engine_doc
27/27

Mais conteúdo relacionado

Semelhante a presentation

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
 
Rio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
Opções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemOpções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemFabio Hara
 
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...Osvaldo Daibert
 
Ações de melhoria para a Previdência Social 2007-2008
Ações de melhoria para a Previdência Social 2007-2008Ações de melhoria para a Previdência Social 2007-2008
Ações de melhoria para a Previdência Social 2007-2008Paulo Emerson Pereira
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática Demis Gomes
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações emgsroma
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 
TDC 2013 - Testes - Cloud Load Test - Daniel Semedo
TDC 2013 - Testes - Cloud Load Test - Daniel SemedoTDC 2013 - Testes - Cloud Load Test - Daniel Semedo
TDC 2013 - Testes - Cloud Load Test - Daniel SemedoDaniel Semedo
 
Por que computação em nuvem?
Por que computação em nuvem?Por que computação em nuvem?
Por que computação em nuvem?Dervanil Junior
 
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetPanorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetElvis Fusco
 
Data center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfData center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfssuser1198af
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambMicrosoft Brasil
 

Semelhante a presentation (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
 
Rio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo BordiniRio Info 2009 Reducao de Custos - Danilo Bordini
Rio Info 2009 Reducao de Custos - Danilo Bordini
 
S1 - Analise de Redes.pdf
S1 - Analise de Redes.pdfS1 - Analise de Redes.pdf
S1 - Analise de Redes.pdf
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
Opções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemOpções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvem
 
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...Nuvens híbridas:Conectando aplicações locais com a nuvem na plataforma Windo...
Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windo...
 
Ações de melhoria para a Previdência Social 2007-2008
Ações de melhoria para a Previdência Social 2007-2008Ações de melhoria para a Previdência Social 2007-2008
Ações de melhoria para a Previdência Social 2007-2008
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações em
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
TDC 2013 - Testes - Cloud Load Test - Daniel Semedo
TDC 2013 - Testes - Cloud Load Test - Daniel SemedoTDC 2013 - Testes - Cloud Load Test - Daniel Semedo
TDC 2013 - Testes - Cloud Load Test - Daniel Semedo
 
Por que computação em nuvem?
Por que computação em nuvem?Por que computação em nuvem?
Por que computação em nuvem?
 
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetPanorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
 
Data center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfData center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdf
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcamb
 

presentation

  • 1. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Thiago Furtado de Mendonc¸a Orientador: Prof. Dr. Fabio Kon – Universidade de S˜ao Paulo Julho 2015
  • 2. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Introduc¸˜ao Contexto Projeto CHOReOS A Internet do Futuro: grande n´umero de usu´arios, dispositivos e servic¸os interconectados O Projeto CHOReOS foi criado para investigar Coreografias de Grande Escala Grupo de sistemas respons´avel pela criac¸˜ao do middleware Coreografias s˜ao naturalmente consideradas mais adequadas para a Internet do Futuro, oferecendo maior escalabilidade e tolerˆancia a falhas Em coreografias todos os servic¸os s˜ao respons´aveis por coordenar a interac¸˜ao entre eles [PvdH07] 1/27
  • 3. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Introduc¸˜ao Enactment Engine Parte deste trabalho envolveu o Enactment Engine, um middleware para automatizar: Gest˜ao de alocac¸˜ao de recursos em ambientes virtuais O processo de implantac¸˜ao de servic¸os A gest˜ao de dependˆencias em tempo de execuc¸˜ao entre os servic¸os A adaptac¸˜ao dinˆamica para manutenc¸˜ao de QoS Nessa pesquisa, focamos nos mecanismos de adaptac¸˜ao implementados no Enactment Engine 2/27
  • 4. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Introduc¸˜ao Objetivos Como estabelecer elasticidade em coreografias implantadas em nuvem? Ambientes de computac¸˜ao em nuvem j´a provˆem elasticidade na camada de recursos Criac¸˜ao de um middleware para composic¸˜oes escal´aveis Coreografias como modelo de servic¸os Lac¸os de Monitoramento, An´alise, Planejamento e Execuc¸˜ao (MAPE) Processamento de Eventos Complexos (CEP) implementando MAPE 3/27
  • 5. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Introduc¸˜ao Trabalhos relacionados V´arios trabalhos definem modelos e taxonomias QoS Abordagem de selec¸˜ao de servic¸os pra manutenc¸˜ao de QoS ´e mais encontrada Reconfigurac¸˜ao (Calinescu [CGK + 11]), detecc¸˜ao de perfil de uso de recursos [JPC10], e sistemas autˆonomos (Andre [ADG10]) 4/27
  • 6. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Conte´udo 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 4/27
  • 7. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 4/27
  • 8. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Qualidade de Servic¸o Modelo de Qualidade de Servic¸o (QoS) Como definir Qualidade de Servic¸o? QoS mede a qualidade de acordo com propriedades n˜ao funcionais ´E necess´ario modelar servic¸os e atributos 5/27
  • 9. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Composic¸˜oes de Servic¸o Modelos Composic¸˜oes de servic¸o Servic¸os: componentes atˆomicos ou compostos acess´ıveis por um enderec¸os (IP) [PTDL07] Formas b´asicas de servic¸os compostos a) Sequˆencia b) Alternˆancia c) Lac¸o d) Paralelo Serviço 1 Serviço 2 Serviço N ... Entrada Saída Entrada Serviço 1 Serviço 2 Serviço 2 Serviço 3 Saída Entrada Serviço 1 Serviço 3 Serviço 2 Serviço 2 Saída Entrada Serviço 1 Serviço 3 Saída Serviço 2 (a) (b) (c) (d) 6/27
  • 10. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Composic¸˜oes de Servic¸o Coreografias Agregac¸˜ao arquitetural de servic¸os baseado em Pap´eis [PvdH07] Servi¸cos s˜ao entidades abstratas que podem realizar um papel Servic¸os implantados que correspondem aos servic¸os s˜ao Instˆancias de Servi¸cos M´aquinas virtuais s˜ao criadas sob-demanda para hospedar as Instˆancias Exemplo Papel realizado: servic¸o de autenticac¸˜ao Servic¸o: Implementac¸˜ao de servic¸o espec´ıfico de HTTP Basic Auth 7/27
  • 11. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Atributos e M´etricas de QoS Propriedades/Atributos de QoS Atributos indicam a qualidade de um servic¸o de acordo com propriedades n˜ao funcionais M´etricas definem uma maneira de medir um atributo M´etricas e valores limite s˜ao definidos para cada servic¸o A definic¸˜ao de propriedades e m´etricas ´e flex´ıvel O middleware permite que o usu´ario configure outras de acordo com a necessidade SLAs descrevendo as propriedades relevantes s˜ao inclu´ıdos na especificac¸˜ao da coreografia 8/27
  • 12. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Service Level Agreements Service Level Agreements Formalizac¸˜ao de contrato para QoS esperada [ADC10] Ambientes de compartilhamento de recursos Restric¸˜oes s˜ao modeladas atribuindo valores limites aos atributos de QoS A violac¸˜ao dessas restric¸˜oes causa penalidade (financeira) 9/27
  • 13. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Qualidade De Servic¸o Monitoramento de m´etricas Monitoramento de m´etricas Abordagem baseada em eventos criados a partir da coleta de dados de monitoramento Eventos locais capturados atrav´es de uma m´etrica Eventos globais sintetizados com eventos que remetem ao estado do sistema como um todo 10/27
  • 14. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Sistemas autˆonomos 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 10/27
  • 15. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Sistemas autˆonomos MAPE Monitoramento Análise Execução Planejamento Base de Conhecimento 11/27
  • 16. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Sistemas autˆonomos CEP Processamento de Eventos Complexos Abordagem de monitoramento com vantagens para sistemas distribu´ıdos Caracter´ıstica de monitoramento de fontes m´ultiplas Evento: Uma mudanc¸a de estado que pode ser detectada Fato: Um estado adquirido que tem significado duradouro Evento Complexo: Correlac¸˜ao com significado l´ogico resultado da junc¸˜ao de dois ou mais eventos CEP: An´alise de eventos para conclus˜ao de estados relevantes (ex.: causas raiz) Janelas deslizantes de monitoramento Conclus˜ao pode levar a ativac¸˜ao de gatilhos 12/27
  • 17. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Sistemas autˆonomos CEP - Operadores Operac¸˜oes logicas aplicadas a um intervalo de tempo Operador Tempo Operador Tempo a Before b a b a After b b a a Includes b a b a During b a b a Finishes b a b a Finished by b a b a Meets b a b a Met by b a b a Overlaps b a b a Overlaped by b a b a Starts b a b a Started by b a b a Coincides b a b 13/27
  • 18. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 13/27
  • 19. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Arquitetura Geral Componentes Resource Manager Aggregator (CEP usado para an´alise e planejamento) Mant´em c´opia do estado atual das coreografias Deployment Manager (executa as alterac¸˜oes nas coreografias) Node 1 Node N Resource Manager Aggregator Rule Engine Complex Event Processing Choreography Deployer Deployment Monitor Deployment Manager Deployment& Reconfiguration EventFeed Reactive Reconfiguration Planning Node N Service Replicas Monitoring Probe Enactment Engine 14/27
  • 20. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Fases do MAPE Monitoramento Para ser capaz de reconfigurar os recursos virtuais, precisamos monitorar servic¸os e recursos de baixo n´ıvel Monitoramento de recursos virtuais com Ganglia Baixa intrusividade M´etricas de QoS medidas com v´alvulas do Tomcat Cloud Node RMA Tomcat Service Replica 11 Platform Monitoring Ganglia 15/27
  • 21. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Fases do MAPE An´alise Correlac¸˜ao de medidas com Processamento de Eventos Complexos (CEP) Fatos de SLA e Eventos de QoS sinalizam a necessidade de mudanc¸as nas coreografias (ex: adic¸˜ao e remoc¸˜ao de r´eplicas) Novos eventos (complexos) consolidando informac¸˜oes e diferentes fontes 16/27
  • 22. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Fases do MAPE Planejamento Captura de eventos complexos notifica consumidores em execuc¸˜ao Escolha da ac¸˜ao a ser notificada leva em conta a pol´ıtica de escalabilidade Separac¸˜ao s´olida em dois grupos de regras fica vis´ıvel 17/27
  • 23. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Fases do MAPE Como as regras funcionam Desenvolvedores escrevem as regras de an´alise e planejamento Blocos When-Then s˜ao usado para verificar a ocorrˆencia de certas condic¸˜oes when ... # [1] An´alise de eventos do monitoramento # [2] Captura de eventos complexos # Fatos s˜ao usados para definir contexto de coreografias e servic¸os then ... # [1] Gerac¸˜ao de eventos complexos por correlac¸˜ao de eventos # [2] Notificac¸˜ao de plano de reconfigurac¸˜ao end 18/27
  • 24. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Middleware Fases do MAPE Execuc¸˜ao Deployment Manager consome a fila de notificac¸˜ao Aplica as mudanc¸as necess´arias Node 1 Node N Resource Manager Aggregator Rule Engine Complex Event Processing Choreography Deployer Deployment Monitor Deployment Manager Deployment& Reconfiguration EventFeed Reactive Reconfiguration Planning Node N Service Replicas Monitoring Probe Enactment Engine 19/27
  • 25. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Avaliac¸˜ao Experimental 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 19/27
  • 26. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Avaliac¸˜ao Experimental Composic¸˜ao pequena: dois servic¸os onde um deles foi instrumentado para consumir CPU conforme a quantidade de requisic¸˜oes. Padr˜ao de acesso baseado na Wikipedia: 24 horas de acesso Objetivo: manter o tempo de resposta abaixo de 1 segundo e o uso de CPU entre 60% e 90% Evitar sobrecarga levando em conta recursos subutilizados 0 1000 2000 3000 4000 5000 6000 7000 8000 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 NumberofRequests Time of Day 20/27
  • 27. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Avaliac¸˜ao Experimental Resultados Escalabilidade Horizontal 100 1000 10000 0 0.5 1 1.5 2 2.5 3AverageResponseTime(ms) Requestspersecond Avg. Response Time Requests per second 0 20 40 60 80 100 0 1000 2000 3000 4000 5000 6000 7000 CPUUsage(%) Time (s) Replica 1 Replica 2 Replica 3 21/27
  • 28. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Avaliac¸˜ao Experimental Resultados Escalabilidade Vertical 100 1000 10000 0 0.5 1 1.5 2 2.5 3AverageResponseTime(ms) Requestspersecond Avg. Response Time Requests per second 0 20 40 60 80 100 0 1000 2000 3000 4000 5000 6000 7000 CPUUsage(%) Time (s) Small Medium Small Medium Large 22/27
  • 29. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Avaliac¸˜ao Experimental Considerac¸˜oes Durante a alterac¸˜ao de comportamento, o middleware reagiu aos eventos, permitindo a manutenc¸˜ao correta de QoS Desconsiderando o tempo inicial, houve 7% e 1,5% de violac¸˜ao para escalabilidade horizontal e vertical, respectivamente N´umero sobe para 22% e 3,5% 100 1000 10000 0 0.5 1 1.5 2 2.5 3 AverageResponseTime(ms) Requestspersecond Avg. Response Time Requests per second 0 20 40 60 80 100 0 1000 2000 3000 4000 5000 6000 7000 CPUUsage(%) Time (s) Replica 1 Replica 2 Replica 3 100 1000 10000 0 0.5 1 1.5 2 2.5 3 AverageResponseTime(ms) Requestspersecond Avg. Response Time Requests per second 0 20 40 60 80 100 0 1000 2000 3000 4000 5000 6000 7000 CPUUsage(%) Time (s) Small Medium Small Medium Large 23/27
  • 30. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Conclus˜oes 1 Qualidade De Servic¸o 2 Sistemas autˆonomos 3 Middleware 4 Avaliac¸˜ao Experimental 5 Conclus˜oes 23/27
  • 31. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Conclus˜oes Conclus˜oes Conclus˜oes O middleware foi capaz de manter n´ıveis esperados de QoS durante variac¸˜oes de carga CEP permite a criac¸˜ao de regras arbitrariamente complexas A pr´e-definic¸˜ao de regras reduz o trabalho de configurac¸˜ao do provedor da composic¸˜ao 24/27
  • 32. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Conclus˜oes Conclus˜oes OrChor 2014 Towards an Enactment Engine for Dynamically Reconfigurable and Scalable Choreographies Proceedings of IEEE First International Workshop on Service Orchestration and Choreography for the Future Internet (OrChor 2014) Thiago Furtado, Em´ılio Francesquini, Nelson Lago e Fabio Kon IEEE 10th World Congress on Services (SERVICES 2014), Anchorage, Alaska, USA ARM 2014 A Middleware for Reflective Web Service Choreographies on the Cloud The 13th Workshop on Adaptive and Reflective Middleware (ARM 2014) Thiago Furtado, Em´ılio Francesquini, Nelson Lago e Fabio Kon ACM/IFIP/USENIX ACM International Middleware Conference 2014, Bordeaux, France, December 8-12 25/27
  • 33. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Conclus˜oes Trabalhos Futuros Trabalhos Futuros Testes com grandes quantidades de servic¸os Integrac¸˜ao de CEP com implantac¸˜ao Detecc¸˜ao de perfil dos servic¸os Inclus˜ao de padr˜oes de monitoramento de servic¸os Validac¸˜ao de QoS durante manutenc¸˜oes Fam´ılia de regras reutiliz´aveis Regras robustas Estudo de padr˜oes para service binding Regras dinˆamicas a partir de conhecimento (predic¸˜ao) 26/27
  • 34. Um Middleware para Coreografias de Servic¸os Web Escal´aveis em Ambientes de Computac¸˜ao em Nuvem Acknowledgments Obrigado Thiago Furtado tfurtado@ime.usp.br http://ccsl.ime.usp.br/baile http://www.choreos.eu/bin/view/Documentation/enactment_engine_doc 27/27