O documento descreve um middleware para coreografias de serviços web escaláveis em ambientes de nuvem. O middleware implementa um ciclo MAPE para monitorar métricas de qualidade de serviço, analisar eventos complexos, planejar ajustes e executar reconfigurações para manter a escalabilidade e desempenho das coreografias.
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