SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Reducing the Operations Burden and
Increasing QoS with
WSO2 Platform Management
and Administration Tactics
Sanjaya Ratnaweera
Amani Soysa
Agenda
● Common Deployment Patterns
● Deployment Synchronization
● Registry Mounting
● Setting up a worker-manager separated Appserver cluster -
Demo/Hands-on
● Deployment Automation
● Server Monitoring
● Production Deployment Guidelines
● Common issues in Production Setups
WSO2 Product deployment patterns
● Standalone
● Clustered
● Cloud based
Standalone Deployment
● User engages with one or many independent nodes
Clustered Deployment
● User engages with the load balancer
● Highly available
● Concept of worker and manager nodes
Worker-Manager Separation ?
➔ Proper separation of concerns
◆ worker node - can ONLY deploy artifacts and read
configurations
◆ manager node - authorized to add new artifacts and
make configuration changes
➔ Lower memory foot in the worker nodes
◆ lesser OSGi bundles
➔ Improved security
◆ management nodes can be behind the internal firewall &
be exposed to clients running within the organization
only, while worker nodes can be exposed to external
clients.
Cloud Based Deployment
● Extension of the Clustered deployment
● Highly scalable
● Span across multiple IaaSs
Why Deployment synchronization ?
• Artifact distribution and deployment should be transparent to
the end-users
• Manual artifact copying is acceptable for some extent in
standalone product clusters.
• Will that work in an elastically scaling cloud environment ??
Deployment Synchronization
● Distribute deployment artifacts and related meta-data across
the cluster
● Make the cluster nodes consistent
● Automated synchronization based on SVN
● Management nodes commits and worker nodes check-out
Deployment Synchronization
<--Manager Node -->
<DeploymentSynchronizer>
<Enabled>true</Enabled>
<AutoCommit>true</AutoCommit>
<AutoCheckout>true</AutoCheckout>
<RepositoryType>svn</RepositoryType>
<SvnUrl>http://10.100.3.115/svn/repos/as</SvnUrl>
<SvnUser>wso2</SvnUser>
<SvnPassword>wso2123</SvnPassword>
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
</DeploymentSynchronizer>
<-- Worker Node -->
<DeploymentSynchronizer>
<Enabled>true</Enabled>
<AutoCommit>false</AutoCommit>
<AutoCheckout>true</AutoCheckout>
<RepositoryType>svn</RepositoryType>
<SvnUrl>http://10.100.3.115/svn/repos/as</SvnUrl>
<SvnUser>wso2</SvnUser>
<SvnPassword>wso2123</SvnPassword>
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
</DeploymentSynchronizer>
Registry Mounting
● An approach to share registry space across cluster nodes
● Local Data repository
○ Should not be shared
● Configuration registry
○ Shared across multiple nodes of the same product
● Governance registry
○ Shared across product platform
Registry Mounting
Worker-Manager Separated Cluster -
Demo/Hands-On
● Setting up user management and registry databases
● Configuring the Elastic loadbalancer
● Configuring WSO2 AS as a management node
● Configuring WSO2 AS as a worker node
Deployment Automation
Configuration Management
No matter how small you are
adapt yourself to configuration management
Abstracted Configuration
node001 {
appserver {
version => "5.2.1",
target => "/opt/appserver",
cluster_domain => "mgt",
}
}
node002 {
elb {
version => "2.1.0",
offset => "0",
target => "/opt/elb",
user => "root",
}
}
Patch Management
Orchestration
Powered by Puppet
https://github.com/wso2/Puppet-Modules
Server and Health Monitoring
● JMX based monitoring
○ JConsole, Graphite
● Message Tracing Tools
○ Wireshark, tcpmon
● System monitoring tools
○ Ganglia, Cacti, Nagios
● Alerting
○ Email, SMS, Phone-call alerts
Production Deployment Guidelines
● Changing the default administrator credentials
● Replacing SSL certificates/keys
● Hardening the Operating System
● Turning off unused services/ports
● Switching the default H2 registry database to a production
ready database
● Using secure vault to encrypt passwords in configuration files
● Tune database connection pools
Production Deployment Guidelines contd..
● Disabling HTTP access logs
● Tuning heap memory
● Tuning GC
● Running servers as background processes
○ nohup, YAJSW
Patching
● Follow the recommended procedure
● Automate the patch applying process
● Test the patch in dev and staging environments
○ Automated process is a must
● Update production servers and restart in a RR manner
● Maintain a log for patches
Common errors in production
● IO errors - Connection reset by peer, Broken pipe, Too many
open files, I/O reactor has been shut down
● Database connection pool errors
● OutOfMemoryErrors
Production Troubleshooting Tips
● carbondump
○ WSO2_HOME/bin/carbondump.{sh,bat}
● Replicate the issue in staging
● Report JIRAs with detailed information
○ Upload carbondump output to the provided FTP server
○ Attach the relevant deployment artifacts and logs
Sanjaya Ratnaweera
Blog: http://samudura.org
Follow: @sanjayar
Amani Soysa
Blog: http://sparkletechthoughts.
blogspot.com/
Follow: @poohdedoo
Thank You

Contenu connexe

Tendances

Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best PracticesTomica Kaniski
 
Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Guada Casuso
 
VMware Virtual SAN slideshow
VMware Virtual SAN slideshowVMware Virtual SAN slideshow
VMware Virtual SAN slideshowAshley Williams
 
Varargs perf ibmwas_comp_v02_e
Varargs perf ibmwas_comp_v02_eVarargs perf ibmwas_comp_v02_e
Varargs perf ibmwas_comp_v02_eJungWoon Lee
 
Leveraging azure and cello for delivering highly scalable multi tenant
Leveraging azure and cello for delivering highly scalable multi tenantLeveraging azure and cello for delivering highly scalable multi tenant
Leveraging azure and cello for delivering highly scalable multi tenantkanimozhin
 
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...VMworld
 
Virtual san hardware guidance &amp; best practices
Virtual san hardware guidance &amp; best practicesVirtual san hardware guidance &amp; best practices
Virtual san hardware guidance &amp; best practicessolarisyougood
 
Presentation v mware virtual san 6.0
Presentation   v mware virtual san 6.0Presentation   v mware virtual san 6.0
Presentation v mware virtual san 6.0solarisyougood
 
VMworld 2013: VMware Virtual SAN Technical Best Practices
VMworld 2013: VMware Virtual SAN Technical Best Practices VMworld 2013: VMware Virtual SAN Technical Best Practices
VMworld 2013: VMware Virtual SAN Technical Best Practices VMworld
 
VMworld - vSphere Distributed Switch 6.0 Technical Deep Dive
VMworld - vSphere Distributed Switch 6.0 Technical Deep DiveVMworld - vSphere Distributed Switch 6.0 Technical Deep Dive
VMworld - vSphere Distributed Switch 6.0 Technical Deep DiveChris Wahl
 
Five common customer use cases for Virtual SAN - VMworld US / 2015
Five common customer use cases for Virtual SAN - VMworld US / 2015Five common customer use cases for Virtual SAN - VMworld US / 2015
Five common customer use cases for Virtual SAN - VMworld US / 2015Duncan Epping
 
Configuring v sphere 5 profile driven storage
Configuring v sphere 5 profile driven storageConfiguring v sphere 5 profile driven storage
Configuring v sphere 5 profile driven storagevirtualsouthwest
 
VSAN-VMWorld2015-Rev08
VSAN-VMWorld2015-Rev08VSAN-VMWorld2015-Rev08
VSAN-VMWorld2015-Rev08Nelson Fonseca
 
Virtual SAN 6.2, hyper-converged infrastructure software
Virtual SAN 6.2, hyper-converged infrastructure softwareVirtual SAN 6.2, hyper-converged infrastructure software
Virtual SAN 6.2, hyper-converged infrastructure softwareDuncan Epping
 
VMware Vsan vtug 2014
VMware Vsan vtug 2014VMware Vsan vtug 2014
VMware Vsan vtug 2014csharney
 
Todd Muirhead (@virtualTodd) - VMware vSA
Todd Muirhead (@virtualTodd) - VMware vSATodd Muirhead (@virtualTodd) - VMware vSA
Todd Muirhead (@virtualTodd) - VMware vSADell TechCenter
 
CM for MariaDB Galera cluster
CM for MariaDB Galera clusterCM for MariaDB Galera cluster
CM for MariaDB Galera clusterMariaDB plc
 
RHT Upgrading to vSphere 5
RHT Upgrading to vSphere 5RHT Upgrading to vSphere 5
RHT Upgrading to vSphere 5virtualsouthwest
 

Tendances (20)

Hyper-V: Best Practices
Hyper-V: Best PracticesHyper-V: Best Practices
Hyper-V: Best Practices
 
Virtualization s4
Virtualization s4Virtualization s4
Virtualization s4
 
Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure
 
VMware Virtual SAN slideshow
VMware Virtual SAN slideshowVMware Virtual SAN slideshow
VMware Virtual SAN slideshow
 
Varargs perf ibmwas_comp_v02_e
Varargs perf ibmwas_comp_v02_eVarargs perf ibmwas_comp_v02_e
Varargs perf ibmwas_comp_v02_e
 
Leveraging azure and cello for delivering highly scalable multi tenant
Leveraging azure and cello for delivering highly scalable multi tenantLeveraging azure and cello for delivering highly scalable multi tenant
Leveraging azure and cello for delivering highly scalable multi tenant
 
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...
VMworld 2013: Lowering TCO for Virtual Desktops with VMware View and VMware V...
 
Virtual san hardware guidance &amp; best practices
Virtual san hardware guidance &amp; best practicesVirtual san hardware guidance &amp; best practices
Virtual san hardware guidance &amp; best practices
 
Presentation v mware virtual san 6.0
Presentation   v mware virtual san 6.0Presentation   v mware virtual san 6.0
Presentation v mware virtual san 6.0
 
Hyper-v Best Practices
Hyper-v Best PracticesHyper-v Best Practices
Hyper-v Best Practices
 
VMworld 2013: VMware Virtual SAN Technical Best Practices
VMworld 2013: VMware Virtual SAN Technical Best Practices VMworld 2013: VMware Virtual SAN Technical Best Practices
VMworld 2013: VMware Virtual SAN Technical Best Practices
 
VMworld - vSphere Distributed Switch 6.0 Technical Deep Dive
VMworld - vSphere Distributed Switch 6.0 Technical Deep DiveVMworld - vSphere Distributed Switch 6.0 Technical Deep Dive
VMworld - vSphere Distributed Switch 6.0 Technical Deep Dive
 
Five common customer use cases for Virtual SAN - VMworld US / 2015
Five common customer use cases for Virtual SAN - VMworld US / 2015Five common customer use cases for Virtual SAN - VMworld US / 2015
Five common customer use cases for Virtual SAN - VMworld US / 2015
 
Configuring v sphere 5 profile driven storage
Configuring v sphere 5 profile driven storageConfiguring v sphere 5 profile driven storage
Configuring v sphere 5 profile driven storage
 
VSAN-VMWorld2015-Rev08
VSAN-VMWorld2015-Rev08VSAN-VMWorld2015-Rev08
VSAN-VMWorld2015-Rev08
 
Virtual SAN 6.2, hyper-converged infrastructure software
Virtual SAN 6.2, hyper-converged infrastructure softwareVirtual SAN 6.2, hyper-converged infrastructure software
Virtual SAN 6.2, hyper-converged infrastructure software
 
VMware Vsan vtug 2014
VMware Vsan vtug 2014VMware Vsan vtug 2014
VMware Vsan vtug 2014
 
Todd Muirhead (@virtualTodd) - VMware vSA
Todd Muirhead (@virtualTodd) - VMware vSATodd Muirhead (@virtualTodd) - VMware vSA
Todd Muirhead (@virtualTodd) - VMware vSA
 
CM for MariaDB Galera cluster
CM for MariaDB Galera clusterCM for MariaDB Galera cluster
CM for MariaDB Galera cluster
 
RHT Upgrading to vSphere 5
RHT Upgrading to vSphere 5RHT Upgrading to vSphere 5
RHT Upgrading to vSphere 5
 

Similaire à Reducing the Operations Burden and Increasing QoS WSO2 Platform Management and Administration Tactics

Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginningWSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginningWSO2
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them AllTim Fairweather
 
V mware virtualization design and deploy service
V mware virtualization design and deploy serviceV mware virtualization design and deploy service
V mware virtualization design and deploy servicesolarisyougood
 
SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012capriguy84
 
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2
 
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackBackroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackShapeBlue
 
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...Kasun Gajasinghe
 
Introduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS ProjectIntroduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS ProjectMichael J Geiser
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalDatavail
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013SharePointRadi
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITOpenStack
 
Securing with Sophos - Sophos Day Belux 2014
Securing with Sophos - Sophos Day Belux 2014Securing with Sophos - Sophos Day Belux 2014
Securing with Sophos - Sophos Day Belux 2014Sophos Benelux
 
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and co
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and coInstallation d'une VM _ BAREMETAL pour les SLAVE JENKINS and co
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and coThierry Gayet
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges openstackindia
 
What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsSimon Haslam
 

Similaire à Reducing the Operations Burden and Increasing QoS WSO2 Platform Management and Administration Tactics (20)

Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginningWSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
V mware virtualization design and deploy service
V mware virtualization design and deploy serviceV mware virtualization design and deploy service
V mware virtualization design and deploy service
 
SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012SCCM 2007 Introduction - PICC 2012
SCCM 2007 Introduction - PICC 2012
 
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product Overview
 
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStackBackroll: Production Grade KVM Backup Solution Integrated in CloudStack
Backroll: Production Grade KVM Backup Solution Integrated in CloudStack
 
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster NodesWSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
 
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
[WSO2] Deployment Synchronizer for Deployment Artifact Synchronization Betwee...
 
Introduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS ProjectIntroduction to the WSO2 Identity Server &Contributing to an OS Project
Introduction to the WSO2 Identity Server &Contributing to an OS Project
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action final
 
Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013Practical management of development & QA environments for SharePoint 2013
Practical management of development & QA environments for SharePoint 2013
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Securing with Sophos - Sophos Day Belux 2014
Securing with Sophos - Sophos Day Belux 2014Securing with Sophos - Sophos Day Belux 2014
Securing with Sophos - Sophos Day Belux 2014
 
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and co
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and coInstallation d'une VM _ BAREMETAL pour les SLAVE JENKINS and co
Installation d'une VM _ BAREMETAL pour les SLAVE JENKINS and co
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
Cloudforms Workshop
Cloudforms WorkshopCloudforms Workshop
Cloudforms Workshop
 
Oms
OmsOms
Oms
 
What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic Admins
 

Reducing the Operations Burden and Increasing QoS WSO2 Platform Management and Administration Tactics

  • 1. Reducing the Operations Burden and Increasing QoS with WSO2 Platform Management and Administration Tactics Sanjaya Ratnaweera Amani Soysa
  • 2. Agenda ● Common Deployment Patterns ● Deployment Synchronization ● Registry Mounting ● Setting up a worker-manager separated Appserver cluster - Demo/Hands-on ● Deployment Automation ● Server Monitoring ● Production Deployment Guidelines ● Common issues in Production Setups
  • 3. WSO2 Product deployment patterns ● Standalone ● Clustered ● Cloud based
  • 4. Standalone Deployment ● User engages with one or many independent nodes
  • 5. Clustered Deployment ● User engages with the load balancer ● Highly available ● Concept of worker and manager nodes
  • 6. Worker-Manager Separation ? ➔ Proper separation of concerns ◆ worker node - can ONLY deploy artifacts and read configurations ◆ manager node - authorized to add new artifacts and make configuration changes ➔ Lower memory foot in the worker nodes ◆ lesser OSGi bundles ➔ Improved security ◆ management nodes can be behind the internal firewall & be exposed to clients running within the organization only, while worker nodes can be exposed to external clients.
  • 7. Cloud Based Deployment ● Extension of the Clustered deployment ● Highly scalable ● Span across multiple IaaSs
  • 8. Why Deployment synchronization ? • Artifact distribution and deployment should be transparent to the end-users • Manual artifact copying is acceptable for some extent in standalone product clusters. • Will that work in an elastically scaling cloud environment ??
  • 9. Deployment Synchronization ● Distribute deployment artifacts and related meta-data across the cluster ● Make the cluster nodes consistent ● Automated synchronization based on SVN ● Management nodes commits and worker nodes check-out
  • 10.
  • 11. Deployment Synchronization <--Manager Node --> <DeploymentSynchronizer> <Enabled>true</Enabled> <AutoCommit>true</AutoCommit> <AutoCheckout>true</AutoCheckout> <RepositoryType>svn</RepositoryType> <SvnUrl>http://10.100.3.115/svn/repos/as</SvnUrl> <SvnUser>wso2</SvnUser> <SvnPassword>wso2123</SvnPassword> <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId> </DeploymentSynchronizer> <-- Worker Node --> <DeploymentSynchronizer> <Enabled>true</Enabled> <AutoCommit>false</AutoCommit> <AutoCheckout>true</AutoCheckout> <RepositoryType>svn</RepositoryType> <SvnUrl>http://10.100.3.115/svn/repos/as</SvnUrl> <SvnUser>wso2</SvnUser> <SvnPassword>wso2123</SvnPassword> <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId> </DeploymentSynchronizer>
  • 12. Registry Mounting ● An approach to share registry space across cluster nodes ● Local Data repository ○ Should not be shared ● Configuration registry ○ Shared across multiple nodes of the same product ● Governance registry ○ Shared across product platform
  • 14. Worker-Manager Separated Cluster - Demo/Hands-On ● Setting up user management and registry databases ● Configuring the Elastic loadbalancer ● Configuring WSO2 AS as a management node ● Configuring WSO2 AS as a worker node
  • 15.
  • 18. No matter how small you are adapt yourself to configuration management
  • 19. Abstracted Configuration node001 { appserver { version => "5.2.1", target => "/opt/appserver", cluster_domain => "mgt", } } node002 { elb { version => "2.1.0", offset => "0", target => "/opt/elb", user => "root", } }
  • 23.
  • 25. Server and Health Monitoring ● JMX based monitoring ○ JConsole, Graphite ● Message Tracing Tools ○ Wireshark, tcpmon ● System monitoring tools ○ Ganglia, Cacti, Nagios ● Alerting ○ Email, SMS, Phone-call alerts
  • 26. Production Deployment Guidelines ● Changing the default administrator credentials ● Replacing SSL certificates/keys ● Hardening the Operating System ● Turning off unused services/ports ● Switching the default H2 registry database to a production ready database ● Using secure vault to encrypt passwords in configuration files ● Tune database connection pools
  • 27. Production Deployment Guidelines contd.. ● Disabling HTTP access logs ● Tuning heap memory ● Tuning GC ● Running servers as background processes ○ nohup, YAJSW
  • 28. Patching ● Follow the recommended procedure ● Automate the patch applying process ● Test the patch in dev and staging environments ○ Automated process is a must ● Update production servers and restart in a RR manner ● Maintain a log for patches
  • 29.
  • 30. Common errors in production ● IO errors - Connection reset by peer, Broken pipe, Too many open files, I/O reactor has been shut down ● Database connection pool errors ● OutOfMemoryErrors
  • 31. Production Troubleshooting Tips ● carbondump ○ WSO2_HOME/bin/carbondump.{sh,bat} ● Replicate the issue in staging ● Report JIRAs with detailed information ○ Upload carbondump output to the provided FTP server ○ Attach the relevant deployment artifacts and logs
  • 32. Sanjaya Ratnaweera Blog: http://samudura.org Follow: @sanjayar Amani Soysa Blog: http://sparkletechthoughts. blogspot.com/ Follow: @poohdedoo