• Nenhum resultado encontrado

Implantação automatizada de composições de serviços web de grande escala

N/A
N/A
Protected

Academic year: 2021

Share "Implantação automatizada de composições de serviços web de grande escala"

Copied!
41
0
0

Texto

(1)

Implanta¸c˜

ao automatizada de composi¸c˜

oes de

servi¸cos web de grande escala

Leonardo Leite

IME - USP

26 de maio de 2014

Orientador: Marco Aur´elio Gerosa Coorientador: Fabio Kon

(2)

Conte´

udo

1 Conceitos

2 Defini¸c˜ao da pesquisa

3 Trabalhos relacionados

4 O CHOReOS Enactment Engine

5 Avalia¸c˜ao

(3)

Implanta¸c˜

ao de sistemas

O processo de implanta¸c˜ao manual se torna moroso e propenso a

erros, principalmente na implanta¸c˜ao de sistemas distribu´ıdos.

(4)

Implanta¸c˜

ao de sistemas

Processo de implanta¸c˜ao automatizada

Promove:

Reprodutibilidade Confian¸ca

Facilidade de execu¸c˜ao Abordagens

scripts vs especifica¸c˜ao declarativa ad-hoc vs baseadas em middleware

(5)

Composi¸c˜

oes de servi¸cos web

Interfaces acess´ıveis por m´aquinas Automa¸c˜ao de fluxos de neg´ocios Coreografias Viajante Agência de viagens Compra de pacote de viagem Agência de viagens Companhia aérea Compra de passagem aérea Agência de viagens Hotel Reserva de hotel

(6)

Composi¸c˜

oes de servi¸cos web

Figure 3 - BPMN diagram of scenario 1 global choreography 5.1.2. Step 1 - “Trip planning” sub-choreography

In this first step, the passenger is using his MID and home Internet connection to (pre)check-in and make a reservation at the airport car park. This process relies on services the MID is able to access over the Internet using Wifi.

Before leaving home, the passenger is also able to check traffic information through his MID.

(7)

Desafios na implanta¸c˜

ao em grande-escala

Processo Falhas Disponibilidade Escalabilidade Heterogeneidade M´ultiplas organiza¸c˜oes Adaptabilidade

(8)

Virtualiza¸c˜

ao e nuvem na implanta¸c˜

ao

Auxilia na f´acil reprodu¸c˜ao da implanta¸c˜ao

(9)

Defini¸

ao da pesquisa

(10)

Contexto

(11)

Quest˜

ao

O quanto e como solu¸c˜oes de implanta¸c˜ao baseadas em middleware trazem benef´ıcios nesse

contexto quando confrontadas com solu¸c˜oes ad-hoc?

(12)

Objetivo

Projetar, implementar e avaliar um middleware que forne¸ca suporte `a implanta¸c˜ao automatizada de composi¸c˜oes de

(13)

Trabalhos relacionados

(14)

Trabalhos relacionados

Trabalho ADL Escala Composi¸c˜oes Nuvem Heterog.

Chef x - - - -Capistrano x - - - -Nix x x X x -Darwin/Regis X x X x x Olan X x X x x Quema et al. X X X x x

J2EE app deployment X x X x x

Globus Toolkit X x X x x Dynasoar - x x x ? Open Knowledge X x X x x TOSCA X x X X X Juju - x x X X Cloud Foundry - ? x X X Enactment Engine X X X X X

(15)

O CHOReOS Enactment Engine

(16)

O EE e os modelos de computa¸c˜

ao nuvem

SaaS

PaaS

IaaS

EC2 / OpenStack

Enactment Engine

Composições de serviços

Implanta

(17)

Ambiente de execu¸c˜

ao do EE

Nuvem Enactment Engine Provedor de infraestrutura Nó alvo Agente de con guração Serviço Amazon EC2, OpenStack, etc.

REST REST SCP / S cria implanta Cliente do EE SH

(18)
(19)

Enlace entre servi¸cos

Servi¸co A depende de Servi¸co B

EE realiza a seguinte invoca¸c˜ao ao Servi¸co A:

s e t I n v o c a t i o n A d d r e s s ( ’ A i r l i n e ’ ,

’ Nimbus A i r l i n e ’ ,

[ ’ h t t p : / / n i m b u s . com/ ws / ’ ] )

(20)

Processo de implanta¸c˜

ao implementado pelo EE

Geração de scripts Seleção/criação de nós

Atualização dos nós Enlace entre serviços Especi cação

da coreogra a

Coreogra a

Requisição do cliente

(21)

O EE e os desafios de implanta¸c˜

ao em grande escala

Como abordagens de implanta¸c˜ao baseadas em middleware auxiliam o

implantador em rela¸c˜ao aos desafios listados? Processo

Falhas

Disponibilidade Escalabilidade Heterogeneidade M´ultiplas organiza¸c˜oes Adaptabilidade

(22)

O EE e os desafios de implanta¸c˜

ao em grande escala

Processo

Automa¸c˜ao

Interface remota (REST) Descri¸c˜ao declarativa Infraestrutura virtualizada

(23)

O EE e os desafios de implanta¸c˜

ao em grande escala

Falhas Invoker Reservoir Degrada¸c˜ao suave Idempotˆencia       

(24)

O EE e os desafios de implanta¸c˜

ao em grande escala

Disponibilidade

Replica¸c˜ao

(25)

O EE e os desafios de implanta¸c˜

ao em grande escala

Escalabilidade

Concorrˆencia (linguagem declarativa) Tratamento de falhas

Evitar gargalos (Chef Server → Chef Solo)

(26)

O EE e os desafios de implanta¸c˜

ao em grande escala

Heterogeneidade

Pontos de extens˜ao:

Provedores de infraestrutura Pol´ıticas de sele¸c˜ao de n´os Tipos de pacotes

(27)

O EE e os desafios de implanta¸c˜

ao em grande escala

M´ultiplas organiza¸c˜oes

Servi¸cos legados

Implanta¸c˜ao multi-nuvem

Federa¸c˜ao

(28)

O EE e os desafios de implanta¸c˜

ao em grande escala

Adaptabilidade

Implanta¸c˜ao de infraestrutura de monitoramento Atualiza¸c˜ao das composi¸c˜oes

Migra¸c˜ao de servi¸cos Replica¸c˜ao de servi¸cos

(29)

Avalia¸

ao

(30)

Compara¸c˜

ao EE vs ad-hoc

EE

Desenvolvimento: 45 min Execu¸c˜ao: 4 min

Tamanho: 180 LoC Java

ad-hoc

Desenvolvimento: 9 horas Execu¸c˜ao: 60 min

(31)

Dificuldades da abordagem ad-hoc

Muitas tecnologias Passos manuais Erros de digita¸c˜ao Pouca paraleliza¸c˜ao

Solu¸c˜ao ad-hoc at´e poderia ficar melhor...

mas poderia ficar quase t˜ao complexa quanto o pr´oprio EE!

(32)

An´

alise de desempenho

Cen´ario Composi¸c˜oes Tamanho N´os Servi¸cos/N´os

1 10 10 9 11 ou 12

2 10 100 90 11 ou 12

3 100 10 90 11 ou 12

(33)

An´

alise de desempenho

Topografia da composi¸c˜ao sint´etica utilizada nos experimentos

(34)

An´

alise de desempenho

Cen´ario Tempo Composi¸c˜oes Servi¸cos

(s) com sucesso com sucesso

1 467.9 ± 34.8 10.0 ± 0 100.0 ± 0 (100%)

2 1477.1 ± 130.0 9.3 ± 0.3 999.3 ± 0.4 (99.9%)

3 1455.2 ± 159.1 98.9 ± 0.8 998.5 ± 1.3 (99.9%)

(35)

An´

alise de escalabilidade

200 / 10 600 / 30 1000 / 50 1400 / 70 1800 / 90 #Serviços / #VMs 0 5 10 15 20 25 30 35 40 Temp o (mi n )

(36)

Efetividade do tratamento de falhas

100%

Invoker e reserva de nós ativados

Quantidade de serviços implantados com sucesso

Quantidade de e xecuções 0 2 4 6 8 10 70% 90% 100% Invoker e reserva de nós desativados Quantidade de serviços implantados com sucesso

Quantidade de e xecuções 0 1 2 3 4 5 6

(37)

Conclus˜

oes

(38)

Contribui¸c˜

oes

A implementa¸c˜ao de um middleware que possibilita a implanta¸c˜ao automatizada de composi¸c˜oes de servi¸cos.

Uma compara¸c˜ao, baseada na literatura e em evidˆencias emp´ıricas, entre solu¸c˜oes de implanta¸c˜ao automatizada com abordagens ad-hoc e baseadas em middleware.

(39)

Publica¸c˜

oes

SBRC

Leonardo Leite, Nelson Lago, Marco Aur´elio Gerosa e Fabio Kon. Um Middleware para Encena¸c˜ao Automatizada de Coreografias de Servi¸cos Web em Ambientes de Computa¸c˜ao em Nuvem. Em 31o Simp´osio Brasileiro de Redes de Computadores e Sistemas Distribu´ıdos, 2013.

MiniPlop Brasil

Leonardo Leite. F´abrica dinˆamica de dublˆes: testando classes que possuem dependˆencias n˜ao injet´aveis. Em Miniconferˆencia Latino-Americana de Linguagens de Padr˜oes para Programa¸c˜ao, 2013.

SOCA

Leonardo Leite, Gustavo Oliva, Guilherme Nogueira, Marco Aur´elio Gerosa, Fabio Kon e Dejan Milojicic. A systematic literature review of service choreography adaptation. Service Oriented Computing and Applications, 3(7):201–218, 2013.

(40)

Trabalhos futuros

An´alise multivari´avel de fatores que influenciam a escalabilidade Experimentos com desenvolvedores

Algoritmos adaptativos para tratamento de falhas Federa¸c˜ao de instˆancias do EE

Utiliza¸c˜ao de um balanceador de carga Utiliza¸c˜ao de um barramento de servi¸cos

(41)

Obrigado!

Leonardo Alexandre Ferreira Leite http://www.ime.usp.br/~leofl leofl@ime.usp.br

CHOReOS Enactment Engine

http://ccsl.ime.usp.br/EnactmentEngine https://github.com/choreos/enactment_engine

Referências

Documentos relacionados

• A Revolução Industrial corresponde ao processo de industrialização que teve início na segunda metade do.. século XVIII no

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Neste sentido, esse estudo mostra que as famílias das camadas mé- dias cariocas são ao mesmo tempo “relacionais” e “individualistas”, pois na mesma medida em que as trocas

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27