Provi viding ing Fault lt-tol tolerant erant Execution n of - - PowerPoint PPT Presentation

provi viding ing fault lt tol tolerant erant execution n
SMART_READER_LITE
LIVE PREVIEW

Provi viding ing Fault lt-tol tolerant erant Execution n of - - PowerPoint PPT Presentation

Platzhalter fr Bild, Bild auf Titelfolie hinter das Logo einsetzen Provi viding ing Fault lt-tol tolerant erant Execution n of Web-servi service ce ba based sed Workf kflows ows wi within Cl Clouds hl , Tobias Distler, Rdiger


slide-1
SLIDE 1

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Johan annes nes Behl hl, Tobias Distler, Rüdiger Kapitza, Florian Heisig, Matthias Schunter

CloudCP 2012, Bern, April 10th 2012

Provi viding ing Fault lt-tol tolerant erant Execution n of Web-servi service ce–ba based sed Workf kflows

  • ws wi

within Cl Clouds

slide-2
SLIDE 2

Johannes Behl | Reliable BPEL infrastructure | Page 2

From Cl Clouds to to Cloud Computing is … “Everything as a Service” (XaaS)

  • Computing power, storage, software, …

Deficiencies regarding trustworthiness

  • Inhibit critical applications like financial or medical services

Motivation for

  • Targets provisioning of dependable and secure cloud infrastructures
  • EU-funded project comprising 14 partners
slide-3
SLIDE 3

Johannes Behl | Reliable BPEL infrastructure | Page 3

Web-Ser Service vice Orchestratio chestration Combination and coordination of Web services

  • Integral part of cloud computing

We need

  • Way to express (critical) workflows based on Web services
  • Fault-tolerant platform to execute these workflows
slide-4
SLIDE 4

Johannes Behl | Reliable BPEL infrastructure | Page 4

Web-Ser Service vice Orchestratio chestration Combination and coordination of Web services

  • Integral part of cloud computing

We need

  • Way to express (critical) workflows based on Web services
  • Fault-tolerant platform to execute these workflows

Web Service Business Process Execution Language (WS-BPEL)

  • Standardized XML-based language …
  • … to describe and execute Web-service–based workflows
  • Tools to create, execute, and manage workflows
slide-5
SLIDE 5

Johannes Behl | Reliable BPEL infrastructure | Page 5

Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition

  • Specifies workflow

BPEL engine

  • Platform for executing

BPEL processes

Logging for crash recovery

  • State changes are logged to

stable storage

BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke WS A> <invoke WS B> <reply> …

Web Srv. B

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

is imported implements references SOAP message exchange implements

slide-6
SLIDE 6

Johannes Behl | Reliable BPEL infrastructure | Page 6

Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition

  • Specifies workflow

BPEL engine

  • Platform for executing

BPEL processes

Logging for crash recovery

  • State changes are logged to

stable storage

BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke WS A> <invoke WS B> <reply> …

Web Srv. B

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

is imported implements references SOAP message exchange implements

Drawbacks of current implementations:

  • Dependent on reliability of storage
  • Logging expensive in terms of performance
  • Services unavailable during recovery
  • No fault tolerance for Web services
slide-7
SLIDE 7

Johannes Behl | Reliable BPEL infrastructure | Page 7

Stand ndard ard BPEL BPEL Infr frastructure astructure BPEL process definition

  • Specifies workflow

BPEL engine

  • Platform for executing

BPEL processes

Logging for crash recovery

  • State changes are logged to

stable storage

BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke WS A> <invoke WS B> <reply> …

Web Srv. B

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

WSDL

<definitions> … <message> <service> …

is imported implements references SOAP message exchange implements

Drawbacks of current implementations:

  • Dependent on reliability of storage
  • Logging expensive in terms of performance
  • Services unavailable during recovery
  • No fault tolerance for Web services

Level of fault tolerance is insuffici ficient nt especiall ally for r criti tical cal servi vice ces

slide-8
SLIDE 8

Johannes Behl | Reliable BPEL infrastructure | Page 8

Re Reliable BPEL BPEL Infrastructur frastructure

  • Motivation
  • Reliable BPEL Infrastructure
  • Evaluation
  • Outlook and Conclusion
slide-9
SLIDE 9

Johannes Behl | Reliable BPEL infrastructure | Page 9

Re Reliable BPEL BPEL Infrastructur frastructure

Starting Point: Reuse current BPEL systems

  • BPEL engines
  • Tools

Replace standard mechanism for crash recovery

BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke IPs A> <invoke IPs B> <reply> …

slide-10
SLIDE 10

Johannes Behl | Reliable BPEL infrastructure | Page 10

Re Reliable BPEL BPEL Infrastructur frastructure

Active replication for high availability

BPEL Engine BPEL Engine BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke IPs A> <invoke IPs B> <reply> …

slide-11
SLIDE 11

Johannes Behl | Reliable BPEL infrastructure | Page 11

Re Reliable BPEL BPEL Infrastructur frastructure

Active replication for high availability

  • BPEL engines
  • Web services

BPEL Engine BPEL Engine BPEL Engine

Web Srv. A

Client BPEL

<process> … <invoke IPs A> <invoke IPs B> <reply> …

Web Srv. A Web Srv. A

slide-12
SLIDE 12

Johannes Behl | Reliable BPEL infrastructure | Page 12

Re Reliable BPEL BPEL Infrastructur frastructure

Active replication for high availability

  • BPEL engines
  • Web services

Generic proxies and automated transformation for transparency

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP BPEL

<process> … <invoke IPs A> <invoke IPs B> <reply> …

Automated Transformation before import

Output Proxy Input Proxy

OP IP

slide-13
SLIDE 13

Johannes Behl | Reliable BPEL infrastructure | Page 13

Re Reliable BPEL BPEL Infrastructur frastructure

Active replication for high availability

  • BPEL engines
  • Web services

Generic proxies and automated transformation for transparency Coordination service for simplified configuration and implementation

  • Apache ZooKeeper for:
  • Leader election
  • Crash detection
  • Dynamic configuration
  • Request ordering

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper

BPEL

<process> … <invoke IPs A> <invoke IPs B> <reply> …

Automated Transformation before import

Output Proxy Input Proxy

OP IP

slide-14
SLIDE 14

Johannes Behl | Reliable BPEL infrastructure | Page 14

De Details ls – Cl Client / BPEL BPEL Stage

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-15
SLIDE 15

Johannes Behl | Reliable BPEL infrastructure | Page 15

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-16
SLIDE 16

Johannes Behl | Reliable BPEL infrastructure | Page 16

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-17
SLIDE 17

Johannes Behl | Reliable BPEL infrastructure | Page 17

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

(3) Request is registered at ZooKeeper

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-18
SLIDE 18

Johannes Behl | Reliable BPEL infrastructure | Page 18

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

(3) Request is registered at ZooKeeper (4) Output proxy waits for reply

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-19
SLIDE 19

Johannes Behl | Reliable BPEL infrastructure | Page 19

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

(3) Request is registered at ZooKeeper (4) Output proxy waits for reply (5) Input proxies are informed about the next request

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-20
SLIDE 20

Johannes Behl | Reliable BPEL infrastructure | Page 20

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

(3) Request is registered at ZooKeeper (4) Output proxy waits for reply (5) Input proxies are informed about the next request (6) Request is delivered to engines

  • Transformed interface for request ID

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-21
SLIDE 21

Johannes Behl | Reliable BPEL infrastructure | Page 21

De Details ls – Cl Client / BPEL BPEL Stage

(1) Web-service request is passed to local output proxy (2) Request data and request ID are sent to input proxies

  • ZooKeeper for list of active replicas

(3) Request is registered at ZooKeeper (4) Output proxy waits for reply (5) Input proxies are informed about the next request (6) Request is delivered to engines

  • Transformed interface for request ID

(7) Results are returned

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-22
SLIDE 22

Johannes Behl | Reliable BPEL infrastructure | Page 22

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-23
SLIDE 23

Johannes Behl | Reliable BPEL infrastructure | Page 23

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

(1) Web-service calls are redirected through automated transformation

  • Transformation of process definition

is conducted only once

  • Call ID (request ID + counter) added

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-24
SLIDE 24

Johannes Behl | Reliable BPEL infrastructure | Page 24

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

(1) Web-service calls are redirected through automated transformation

  • Transformation of process definition

is conducted only once

  • Call ID (request ID + counter) added

(2) Only leader delivers calls

  • ZooKeeper for leader election and

crash detection

  • Delivery as in first stage

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-25
SLIDE 25

Johannes Behl | Reliable BPEL infrastructure | Page 25

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

(1) Web-service calls are redirected through automated transformation

  • Transformation of process definition

is conducted only once

  • Call ID (request ID + counter) added

(2) Only leader delivers calls

  • ZooKeeper for leader election and

crash detection

  • Delivery as in first stage

(3) All output proxies wait for reply

  • Utilizing call ID

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-26
SLIDE 26

Johannes Behl | Reliable BPEL infrastructure | Page 26

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

(1) Web-service calls are redirected through automated transformation

  • Transformation of process definition

is conducted only once

  • Call ID (request ID + counter) added

(2) Only leader delivers calls

  • ZooKeeper for leader election and

crash detection

  • Delivery as in first stage

(3) All output proxies wait for reply

  • Utilizing call ID

(4) Web-service replicas are invoked

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-27
SLIDE 27

Johannes Behl | Reliable BPEL infrastructure | Page 27

De Details ls – BPEL BPEL / Web-Se Servi rvice ce Stage ge

(1) Web-service calls are redirected through automated transformation

  • Transformation of process definition

is conducted only once

  • Call ID (request ID + counter) added

(2) Only leader delivers calls

  • ZooKeeper for leader election and

crash detection

  • Delivery as in first stage

(3) All output proxies wait for reply

  • Utilizing call ID

(4) Web-service replicas are invoked (5) Results are returned

BPEL Engine IP OP BPEL Engine IP OP BPEL Engine IP OP

Web Srv. A

IP

Web Srv. A

IP

Web Srv. A

IP Client OP

ZooKeeper Output Proxy Input Proxy

OP IP

slide-28
SLIDE 28

Johannes Behl | Reliable BPEL infrastructure | Page 28

Re Reliable BPEL BPEL Infrastructur frastructure

  • Motivation
  • Reliable BPEL Infrastructure
  • Evaluation
  • Outlook and Conclusion
slide-29
SLIDE 29

Johannes Behl | Reliable BPEL infrastructure | Page 29

Evaluation ation Test Setting

  • Prototype implementation using Java
  • 16 machines connected over switched Gigabit Ethernet
  • 1 client, 5-times replicated BPEL engine, ZooKeeper, and Web service
  • Apache software stack
  • Tomcat, Axis2, ODE

Comparison of response times

  • Unreplicated
  • No crash recovery (without any fault tolerance)
  • Crash recovery enabled (standard system)
  • Actively replicated
  • Integrated coordination (group communication over JGroups)
  • Externalized coordination (ZooKeeper)
slide-30
SLIDE 30

Johannes Behl | Reliable BPEL infrastructure | Page 30

Evaluation ation – Cl Client / BPEL BPEL Stage

9.7 62.5 16.0 18.2

10 20 30 40 50 60 70

No fault tolerance Logging (standard) Active Repl. JGroups Active Repl. ZooKeeper Response time [ms] Active Repl. ZooKeeper

  • Request from client to

BPEL process without Web service invocation

  • Active replication with

external coordination 3.4 times faster than standard system

  • Moderate overhead of

14% for externalized coordination

slide-31
SLIDE 31

Johannes Behl | Reliable BPEL infrastructure | Page 31

Evaluation ation – BPEL BPEL / Web-Se Servi rvice ce Stage

10.0 48.2 21.2 23.9

10 20 30 40 50 60 70

No fault tolerance Logging (standard) Active Repl. JGroups Active Repl. ZooKeeper Response time [ms] Active Repl. ZooKeeper

  • Request from BPEL

process to Web service

  • Active replication with

external coordination 2.0 times faster than standard system

  • Moderate overhead of

13% for externalized coordination

slide-32
SLIDE 32

Johannes Behl | Reliable BPEL infrastructure | Page 32

Re Reliable BPEL BPEL Infrastructur frastructure

  • Motivation
  • Reliable BPEL Infrastructure
  • Evaluation
  • Outlook and Conclusion
slide-33
SLIDE 33

Johannes Behl | Reliable BPEL infrastructure | Page 33

Outl tloo

  • ok

Tolerating arbitrary faults (Byzantine faults)

  • Hardware errors
  • Malicious attacks

Distribute replicas over multiple clouds (cloud-of-clouds)

  • Independence from a single cloud provider

Cloud infrastructure management over coordination service

  • Platform and resource allocation
  • Failure detection and dynamic reconfiguration
  • Job control
slide-34
SLIDE 34

Johannes Behl | Reliable BPEL infrastructure | Page 34

Co Conclusi sion

  • n

Fault-tolerant execution of Web-service–based workflows in context of cloud computing is currently an open issue BPEL would be a perfect supply for the demand…

  • …but level of fault tolerance is not sufficient

Our proposed reliable BPEL infrastructure:

  • Active replication of all components
  • Transparency through automated transformation of workflows
  • Utilizing of external coordination
slide-35
SLIDE 35

Johannes Behl | Reliable BPEL infrastructure | Page 35

http://www.tclouds-project.eu/

The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement number ICT-257243.

Thank Thank you for your attenti tention!

  • n!

Pr Provid viding ing Fault lt-tolerant lerant Ex Executio ion n of Web-servi service ce–ba based sed Workf kflows

  • ws wi

within Cl Clouds

Johannes Behl

(behl@ibr.cs.tu-bs.de)