SlideShare a Scribd company logo
1 of 17
Continuous Availability
Deployment
BPM 8.5.5
Clustering
Action: update MONITOR-PS from v0 -> v1
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v0
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v0
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
1st step: Disable all nodes’ synchronization & restart all node’s
agents
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v0
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v0
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
2nd step: Update MONITOR-PS to v1 DMG
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v0
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
3rd step: Stop all incoming traffic to Node1
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v0
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“0”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
4th step: Stop (in order) all cluster members on Node1
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v0
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“0”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
Stopping order:
1st: AppSrv01
2nd: SupSrv01
3rd: MesSrv01
SupSrv & MesSrv must be also stopped in order to avoid receiving
messages sent by asynchronous invocations
5th step: Enable Node1 synchronization &restart its Node Agent &
synchronize
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2 AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“0”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
6th step: Start (in reverse order) all cluster members on Node1
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2
AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“0”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
Starting order:
1st: MesSrv01
2nd: SupSrv01
3rd: AppSrv01
7th step: Enable HTTP incoming traffic on Node1
Stop all incoming traffic to Node2
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2
AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“0”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
8th step: Stop (in order) all cluster members on Node2
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2
AppSrv.02
MONITOR-PS v0
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“0”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
Stopping order:
1st: AppSrv02
2nd: SupSrv02
3rd: MesSrv02
9th step: Enable Node1 synchronization and restart its Node Agent
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2
AppSrv.02
MONITOR-PS v1
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“0”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
10th step: Start (in reverse order) all cluster members on Node2
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2 AppSrv.02
MONITOR-PS v1
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“0”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
Starting order:
1st: MesSrv02
2nd: SupSrv02
3rd: AppSrv02
11th step: Enable HTTP incoming traffic on Node2
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2 AppSrv.02
MONITOR-PS v1
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
12th step: Resubmit any failed event that may have occurred during
the procedure
BPM Cell
BPMDmgr
Node01
Administration
Node Agent Node02 Node Agent
Master Repository
AppClusterAppSrv.01
MONITOR-PS v1
BOA-AS v2 AppSrv.02
MONITOR-PS v1
BOA-AS v2
SupClusterSupSrv.01 SupSrv.02
MesClusterMesSrv.01 MesSrv.02
IHS(01,02)
plugin-cfg.xml
<ServerCluster Name=“AppCluster”>
<Server Name=“AppSrv.01” LoadBalanceWeight=“2”/>
<Server Name=“AppSrv.02” LoadBalanceWeight=“2”/>
</ServerCluster>
J2CMessageEndpoints 01
J2CMessageEndpoints 02
BPEScheduler 01
BPEScheduler 02
MONITOR-PS v1
BOA-AS v2
Incoming
traffic
BPEL
JMS/MQ
Table Event
HTTP
Warning
• Application should support continuous availability deployment
• Application-specific databases changing
• Interfaces changing
Extra configuration
• IHS plug-in propagation
• Change permission for /usr/bpm85/Plugins/config/webserver1/plugin-cfg.xml: 664 / bpmadmin/ihsadmins

More Related Content

What's hot

What's hot (20)

Deleting a vserver in Netapp cluster mode
Deleting a vserver in Netapp cluster mode  Deleting a vserver in Netapp cluster mode
Deleting a vserver in Netapp cluster mode
 
Iuwne10 S06 L01
Iuwne10 S06 L01Iuwne10 S06 L01
Iuwne10 S06 L01
 
Iuwne10 S06 L03
Iuwne10 S06 L03Iuwne10 S06 L03
Iuwne10 S06 L03
 
How To Configure VNC Server on CentOS 7
How To Configure VNC Server on CentOS 7How To Configure VNC Server on CentOS 7
How To Configure VNC Server on CentOS 7
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
 
How to shutdown the Netapp SAN 8.3 and 9.2 version
How to shutdown the Netapp SAN 8.3 and 9.2 versionHow to shutdown the Netapp SAN 8.3 and 9.2 version
How to shutdown the Netapp SAN 8.3 and 9.2 version
 
3PAR: HOW TO CHANGE THE IP ADDRESS OF HP 3PAR SAN
3PAR: HOW TO CHANGE THE IP ADDRESS OF HP 3PAR SAN3PAR: HOW TO CHANGE THE IP ADDRESS OF HP 3PAR SAN
3PAR: HOW TO CHANGE THE IP ADDRESS OF HP 3PAR SAN
 
How to enable efficiency (deduplication and compression in netapp cluster mod...
How to enable efficiency (deduplication and compression in netapp cluster mod...How to enable efficiency (deduplication and compression in netapp cluster mod...
How to enable efficiency (deduplication and compression in netapp cluster mod...
 
Time Based ACL
Time Based ACLTime Based ACL
Time Based ACL
 
Cara upgrade dan downgrade tcu
Cara upgrade dan downgrade tcuCara upgrade dan downgrade tcu
Cara upgrade dan downgrade tcu
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container service
 
How To Configure Amazon EC2 Load Balancer
How To Configure Amazon EC2 Load BalancerHow To Configure Amazon EC2 Load Balancer
How To Configure Amazon EC2 Load Balancer
 
How to access the Netapp cluster mode 8.2 through CLI (command mode)
How to access the Netapp cluster mode 8.2 through CLI (command mode)How to access the Netapp cluster mode 8.2 through CLI (command mode)
How to access the Netapp cluster mode 8.2 through CLI (command mode)
 
Performance vision Version 2.15 news
Performance vision Version 2.15 newsPerformance vision Version 2.15 news
Performance vision Version 2.15 news
 
Oracle Connection Manager
Oracle Connection ManagerOracle Connection Manager
Oracle Connection Manager
 
How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7How To Install and Use ABRT CLI on RHEL 7
How To Install and Use ABRT CLI on RHEL 7
 
Configuration Firewalld On CentOS 8
Configuration Firewalld On CentOS 8Configuration Firewalld On CentOS 8
Configuration Firewalld On CentOS 8
 
Cohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade GuideCohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade Guide
 
systemd
systemdsystemd
systemd
 
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACLhbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
hbaseconasia2019 The Procedure v2 Implementation of WAL Splitting and ACL
 

Viewers also liked

Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPM
WASdev Community
 

Viewers also liked (8)

Understanding High Availability - Introducing the Theory and Concepts of High...
Understanding High Availability - Introducing the Theory and Concepts of High...Understanding High Availability - Introducing the Theory and Concepts of High...
Understanding High Availability - Introducing the Theory and Concepts of High...
 
Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPM
 
Ibm bpm problem determination
Ibm bpm problem determinationIbm bpm problem determination
Ibm bpm problem determination
 
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
InterConnect 2015 1930 - Top practices to ensure a successful IBM Business Pr...
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
High Availability - How to get 99.99% service availabilty - Designing cluster...
High Availability - How to get 99.99% service availabilty - Designing cluster...High Availability - How to get 99.99% service availabilty - Designing cluster...
High Availability - How to get 99.99% service availabilty - Designing cluster...
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 

Similar to Continuous availability deployment for IBM BPM

Php day2013 sports_statistics
Php day2013 sports_statisticsPhp day2013 sports_statistics
Php day2013 sports_statistics
Tobias Josefsson
 
Cisco data center support
Cisco data center supportCisco data center support
Cisco data center support
Krunal Shah
 
ArcGIS Server Tips and Tricks, MAC-URISA2010
ArcGIS Server Tips and Tricks, MAC-URISA2010ArcGIS Server Tips and Tricks, MAC-URISA2010
ArcGIS Server Tips and Tricks, MAC-URISA2010
Brian
 
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
Gera Shegalov
 
Formal Verification of Web Service Interaction Contracts
Formal Verification of Web Service Interaction ContractsFormal Verification of Web Service Interaction Contracts
Formal Verification of Web Service Interaction Contracts
Gera Shegalov
 
Anton Moldovan "Load testing which you always wanted"
Anton Moldovan "Load testing which you always wanted"Anton Moldovan "Load testing which you always wanted"
Anton Moldovan "Load testing which you always wanted"
Fwdays
 

Similar to Continuous availability deployment for IBM BPM (20)

Php day2013 sports_statistics
Php day2013 sports_statisticsPhp day2013 sports_statistics
Php day2013 sports_statistics
 
Cisco data center support
Cisco data center supportCisco data center support
Cisco data center support
 
216506756-Moshell-Basic-Command-v1-0.ppt
216506756-Moshell-Basic-Command-v1-0.ppt216506756-Moshell-Basic-Command-v1-0.ppt
216506756-Moshell-Basic-Command-v1-0.ppt
 
370410176 moshell-commands
370410176 moshell-commands370410176 moshell-commands
370410176 moshell-commands
 
ArcGIS Server Tips and Tricks, MAC-URISA2010
ArcGIS Server Tips and Tricks, MAC-URISA2010ArcGIS Server Tips and Tricks, MAC-URISA2010
ArcGIS Server Tips and Tricks, MAC-URISA2010
 
NetScaler Web2.0 Push Technology Overview
NetScaler Web2.0 Push Technology OverviewNetScaler Web2.0 Push Technology Overview
NetScaler Web2.0 Push Technology Overview
 
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
Integrated Data, Message, and Process Recovery for Failure Masking in Web Ser...
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
 
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.comMcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
 
Sharing-Knowledge-OAM-3G-Ericsson .ppt
Sharing-Knowledge-OAM-3G-Ericsson   .pptSharing-Knowledge-OAM-3G-Ericsson   .ppt
Sharing-Knowledge-OAM-3G-Ericsson .ppt
 
Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
 
20210506 meeting2
20210506 meeting220210506 meeting2
20210506 meeting2
 
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have DoneWhere is My Message?: Use MQ Tools to Work Out What Applications Have Done
Where is My Message?: Use MQ Tools to Work Out What Applications Have Done
 
Formal Verification of Web Service Interaction Contracts
Formal Verification of Web Service Interaction ContractsFormal Verification of Web Service Interaction Contracts
Formal Verification of Web Service Interaction Contracts
 
20210506 meeting2
20210506 meeting220210506 meeting2
20210506 meeting2
 
Srvcc overview
Srvcc overviewSrvcc overview
Srvcc overview
 
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
 
MCRL2
MCRL2MCRL2
MCRL2
 
Anton Moldovan "Load testing which you always wanted"
Anton Moldovan "Load testing which you always wanted"Anton Moldovan "Load testing which you always wanted"
Anton Moldovan "Load testing which you always wanted"
 

Continuous availability deployment for IBM BPM

  • 3. Action: update MONITOR-PS from v0 -> v1 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v0 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v0 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 4. 1st step: Disable all nodes’ synchronization & restart all node’s agents BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v0 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v0 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 5. 2nd step: Update MONITOR-PS to v1 DMG BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v0 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 Incoming traffic BPEL JMS/MQ Table Event HTTP IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2
  • 6. 3rd step: Stop all incoming traffic to Node1 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v0 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“0”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 7. 4th step: Stop (in order) all cluster members on Node1 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v0 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“0”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP Stopping order: 1st: AppSrv01 2nd: SupSrv01 3rd: MesSrv01 SupSrv & MesSrv must be also stopped in order to avoid receiving messages sent by asynchronous invocations
  • 8. 5th step: Enable Node1 synchronization &restart its Node Agent & synchronize BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“0”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 9. 6th step: Start (in reverse order) all cluster members on Node1 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“0”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP Starting order: 1st: MesSrv01 2nd: SupSrv01 3rd: AppSrv01
  • 10. 7th step: Enable HTTP incoming traffic on Node1 Stop all incoming traffic to Node2 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“0”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 11. 8th step: Stop (in order) all cluster members on Node2 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v0 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“0”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP Stopping order: 1st: AppSrv02 2nd: SupSrv02 3rd: MesSrv02
  • 12. 9th step: Enable Node1 synchronization and restart its Node Agent BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v1 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“0”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 13. 10th step: Start (in reverse order) all cluster members on Node2 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v1 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“0”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP Starting order: 1st: MesSrv02 2nd: SupSrv02 3rd: AppSrv02
  • 14. 11th step: Enable HTTP incoming traffic on Node2 BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v1 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 15. 12th step: Resubmit any failed event that may have occurred during the procedure BPM Cell BPMDmgr Node01 Administration Node Agent Node02 Node Agent Master Repository AppClusterAppSrv.01 MONITOR-PS v1 BOA-AS v2 AppSrv.02 MONITOR-PS v1 BOA-AS v2 SupClusterSupSrv.01 SupSrv.02 MesClusterMesSrv.01 MesSrv.02 IHS(01,02) plugin-cfg.xml <ServerCluster Name=“AppCluster”> <Server Name=“AppSrv.01” LoadBalanceWeight=“2”/> <Server Name=“AppSrv.02” LoadBalanceWeight=“2”/> </ServerCluster> J2CMessageEndpoints 01 J2CMessageEndpoints 02 BPEScheduler 01 BPEScheduler 02 MONITOR-PS v1 BOA-AS v2 Incoming traffic BPEL JMS/MQ Table Event HTTP
  • 16. Warning • Application should support continuous availability deployment • Application-specific databases changing • Interfaces changing
  • 17. Extra configuration • IHS plug-in propagation • Change permission for /usr/bpm85/Plugins/config/webserver1/plugin-cfg.xml: 664 / bpmadmin/ihsadmins