The document discusses deployment synchronization between cluster nodes in WSO2 products. It introduces the need for deployment synchronization in clustered environments to distribute artifacts and metadata transparently. It demonstrates how the Deployment Synchronizer (DepSync) feature works in WSO2 products using a SVN repository. It shows how to configure a minimal WSO2 cluster with one management node and one worker node connected by a load balancer, by enabling DepSync and making the appropriate configuration changes.
HDS Upon completion of this module, you should be able to:
What is vSphere API for Storage Awareness (VASA) plug-ins all about? Points to Know!
vSphere API for Storage Awareness (VASA) plug-ins components.
VMWare Storage Best Practices
Virtual Volumes are out (VVOLS). vSphere 6.0
Benefits of HDS Storage and VMWare
It was year 1999 when EJBoss made it’s debut as an alternative opensource J2EE implementation. 15+ years is more than a lifetime in technology terms and yet the JBoss Application Server project, renamed in 2013 into WildFly has managed to thrive and stay relevant by evolving into the Swiss Army Knife of Application Servers.dandreadis
In this talk we are going to look at the latest developments in WildFly and get an introduction to it’s sister project called WildFly Swarm. WildFly provides a robust, modular, lightweight, fully manageable and fast runtime, implementing the complete set of Java EE7 APIs. WildFly Swarm on the other hand gives you the ability to pick and choose only the server parts you need and bundle them with your application to create fat jars easy to deploy as microservices.
Thus with WildFly & WildFly Swarm you get the richness and maturity of Java EE combined with extreme flexibility about your deployment options in traditional setups or dynamic cloud environments.
Who’s said Java EE needs to be boring?
This session covers new improvements that will be introduced in WildFly 9:
• Wildfly-core will be extracted from the codebase and the ability to assemble a server on top of it will be introduced. WildFly 9 will be provided in two versions: Wildfly Web and Wildfly Full but users will be able to create their custom packaging of WildFly.
• Users will be able to shutdown the application server in a graceful manner - after the shutdown command is executed server will reject new requests and allow existing requests to finish before it shuts down.
• Support for HTTP/2, a new version of HTTP protocol based on SPDY, will be introduced.
• Users will be able to use WildFly as a load balancer. Consequently, it will be possible to manage the balancer with the same tools that are used to manage the rest of the domain. What is more, users will be able to use more efficient protocols, such as HTTP/2, for communication between the balancer and backend servers.
• An OpenShift cartridge, which will enable users to use WildFly 9 in cloud environment, will be provided.
• WildFly 9 will use OpenJDK ORB library instead of JacORB.
To view recording of this webinar please use below URL:
http://wso2.com/library/webinars/2015/06/resilient-enterprise-messaging-with-wso2-esb/
In this webinar, we will discuss how you can achieve resilient enterprise messaging with the world class WSO2 ESB and WSO2 MB. We will focus on the following areas:
Role of the ESB in enterprise service integration
Role of the message broker in enterprise service integration
Integrating WSO2 MB with WSO2 ESB
Use cases
ESB as a JMS provider
ESB as a JMS consumer
Guaranteed delivery with store and forward
Request rate matching
Store and forward in clustered environments
New enhancements in ESB 4.9.0 for JMS messaging use cases
HDS Upon completion of this module, you should be able to:
What is vSphere API for Storage Awareness (VASA) plug-ins all about? Points to Know!
vSphere API for Storage Awareness (VASA) plug-ins components.
VMWare Storage Best Practices
Virtual Volumes are out (VVOLS). vSphere 6.0
Benefits of HDS Storage and VMWare
It was year 1999 when EJBoss made it’s debut as an alternative opensource J2EE implementation. 15+ years is more than a lifetime in technology terms and yet the JBoss Application Server project, renamed in 2013 into WildFly has managed to thrive and stay relevant by evolving into the Swiss Army Knife of Application Servers.dandreadis
In this talk we are going to look at the latest developments in WildFly and get an introduction to it’s sister project called WildFly Swarm. WildFly provides a robust, modular, lightweight, fully manageable and fast runtime, implementing the complete set of Java EE7 APIs. WildFly Swarm on the other hand gives you the ability to pick and choose only the server parts you need and bundle them with your application to create fat jars easy to deploy as microservices.
Thus with WildFly & WildFly Swarm you get the richness and maturity of Java EE combined with extreme flexibility about your deployment options in traditional setups or dynamic cloud environments.
Who’s said Java EE needs to be boring?
This session covers new improvements that will be introduced in WildFly 9:
• Wildfly-core will be extracted from the codebase and the ability to assemble a server on top of it will be introduced. WildFly 9 will be provided in two versions: Wildfly Web and Wildfly Full but users will be able to create their custom packaging of WildFly.
• Users will be able to shutdown the application server in a graceful manner - after the shutdown command is executed server will reject new requests and allow existing requests to finish before it shuts down.
• Support for HTTP/2, a new version of HTTP protocol based on SPDY, will be introduced.
• Users will be able to use WildFly as a load balancer. Consequently, it will be possible to manage the balancer with the same tools that are used to manage the rest of the domain. What is more, users will be able to use more efficient protocols, such as HTTP/2, for communication between the balancer and backend servers.
• An OpenShift cartridge, which will enable users to use WildFly 9 in cloud environment, will be provided.
• WildFly 9 will use OpenJDK ORB library instead of JacORB.
To view recording of this webinar please use below URL:
http://wso2.com/library/webinars/2015/06/resilient-enterprise-messaging-with-wso2-esb/
In this webinar, we will discuss how you can achieve resilient enterprise messaging with the world class WSO2 ESB and WSO2 MB. We will focus on the following areas:
Role of the ESB in enterprise service integration
Role of the message broker in enterprise service integration
Integrating WSO2 MB with WSO2 ESB
Use cases
ESB as a JMS provider
ESB as a JMS consumer
Guaranteed delivery with store and forward
Request rate matching
Store and forward in clustered environments
New enhancements in ESB 4.9.0 for JMS messaging use cases
In Microsoft CSS, Setting up and Configuring Kerberos for MSBI is one of the top call volume generators which makes us realize there is definitely some gap in Understanding on how to setup and configure Kerberos for MSBI stack in a multi-server farm environment. In the session, we intend to explain and more importantly simplify the steps to setup Kerberos for SQL Server, SSAS, SSRS & Sharepoint along with the Demo of the issues which can occur based on real live experiences with troubleshooting and configuring for Customers.
To really take advantage of cloud, software must be optimized to run in the cloud. This presentation explores what it means to be "Cloud Native" and looks at a real open source project that has built a complete Cloud Native platform. Cloud is not just a better way to run existing software, there are core enhancements that need to be made to software to enable it to run really effectively in a cloud environment. Often the first thought is about massive scalability, but actually there are other key enablers: multi-tenancy, metering, dynamic distribution, self-service and incremental deployment and testability. This presentation explores these enablers and looks at how an Open Source project (Carbon) built on Apache technology was re-built to be cloud native. The presentation will cover not just the concepts but dive into the practical issues in making a cloud native system and also explore which Apache technologies can help along the way.
WebLogic Scripting Tool allows easy management of many Weblogic Server based products. Oracle has strategically implemented WLST in many products to make provisioning and configuring of environments easy and reproducible. This among other things enables tools like Chef and Puppet to do their magic. WLST is based on Jython. Jython is an implementation of Python running on the Java VM. Both Python and the Java VM provide many options for extending WLST functionality beyond what is commonly done. This will be elaborated and demonstrated with several advanced use cases and their implementations. This technical presentation will provide you with the knowledge to get most out of your investment in Oracle products!
Learn more about message-based architecture in the cloud including implementation details, real-world examples, insights from leading experts in NServiceBus and Microsoft Azure.
PP slides for a presentation for the Queensland SQL Server User Group that covered application candidates/use cases, SQL performance considerations including road tests of new SQL 2014 performance features on AWS EC2 instances, security, HA/DR and licensing.
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS Amazon Web Services
This webinar is on high availability features for Microsoft Windows Server and SQL Server running on the AWS Cloud. Windows Server Failover Clustering (WSFC) and SQL AlwaysOn Availability Groups are part of the underpinnings for many enterprise-class solutions, including Microsoft SharePoint and .NET applications.
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoJUG Genova
Paolo Ramasso presentation at the Application Server Day 2009, discussing the latest innovations in Oracle Fusion Middleware and Oracle/Bea Weblogic platforms
In Microsoft CSS, Setting up and Configuring Kerberos for MSBI is one of the top call volume generators which makes us realize there is definitely some gap in Understanding on how to setup and configure Kerberos for MSBI stack in a multi-server farm environment. In the session, we intend to explain and more importantly simplify the steps to setup Kerberos for SQL Server, SSAS, SSRS & Sharepoint along with the Demo of the issues which can occur based on real live experiences with troubleshooting and configuring for Customers.
To really take advantage of cloud, software must be optimized to run in the cloud. This presentation explores what it means to be "Cloud Native" and looks at a real open source project that has built a complete Cloud Native platform. Cloud is not just a better way to run existing software, there are core enhancements that need to be made to software to enable it to run really effectively in a cloud environment. Often the first thought is about massive scalability, but actually there are other key enablers: multi-tenancy, metering, dynamic distribution, self-service and incremental deployment and testability. This presentation explores these enablers and looks at how an Open Source project (Carbon) built on Apache technology was re-built to be cloud native. The presentation will cover not just the concepts but dive into the practical issues in making a cloud native system and also explore which Apache technologies can help along the way.
WebLogic Scripting Tool allows easy management of many Weblogic Server based products. Oracle has strategically implemented WLST in many products to make provisioning and configuring of environments easy and reproducible. This among other things enables tools like Chef and Puppet to do their magic. WLST is based on Jython. Jython is an implementation of Python running on the Java VM. Both Python and the Java VM provide many options for extending WLST functionality beyond what is commonly done. This will be elaborated and demonstrated with several advanced use cases and their implementations. This technical presentation will provide you with the knowledge to get most out of your investment in Oracle products!
Learn more about message-based architecture in the cloud including implementation details, real-world examples, insights from leading experts in NServiceBus and Microsoft Azure.
PP slides for a presentation for the Queensland SQL Server User Group that covered application candidates/use cases, SQL performance considerations including road tests of new SQL 2014 performance features on AWS EC2 instances, security, HA/DR and licensing.
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS Amazon Web Services
This webinar is on high availability features for Microsoft Windows Server and SQL Server running on the AWS Cloud. Windows Server Failover Clustering (WSFC) and SQL AlwaysOn Availability Groups are part of the underpinnings for many enterprise-class solutions, including Microsoft SharePoint and .NET applications.
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoJUG Genova
Paolo Ramasso presentation at the Application Server Day 2009, discussing the latest innovations in Oracle Fusion Middleware and Oracle/Bea Weblogic platforms
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...Amazon Web Services
Some of the best businesses today are deploying their code dozens of times a day. How? By making heavy use of automation, smart tools, and repeatable patterns to get process out of the way and keep the workflow moving. Come to this session to learn how you can do this too, using services such as AWS OpsWorks, AWS CloudFormation, Amazon Simple Workflow Service, and other tools. We'll discuss a number of different deployment patterns, and what aspects you need to focus on when working toward deployment automation yourself.
A presentation on how applying Cloud Architecture Patterns using Docker Swarm as orchestrator is possible to create reliable, resilient and scalable FIWARE platforms.
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
In this series of 15-minute technical flash talks you will learn directly from Amazon CloudFront engineers and their best practices on debugging caching issues, measuring performance using Real User Monitoring (RUM), and stopping malicious viewers using CloudFront and AWS WAF.
In this talk, Damien describes the infrastructure Nuxeo has built around Docker containers, which is mainly based on CoreOS and Docker, and how it provides a way to generically run applications not only on a single host, but across a whole cluster of hosts. The resulting architecture can be used to implement a PaaS approach for any application.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
At its core, the challenge of managing Human Resources data is an integration challenge: estimates range from 2-3 HR systems in use at a typical SMB, up to a few dozen systems implemented amongst enterprise HR departments, and these systems seldom integrate seamlessly between themselves. Providing a multi-tenant, cloud-native solution to integrate these hundreds of HR-related systems, normalize their disparate data models and then render that consolidated information for stakeholder decision making has been a substantial undertaking, but one significantly eased by leveraging Ballerina. In this session, we’ll cover:
The overall software architecture for VHR’s Cloud Data Platform
Critical decision points leading to adoption of Ballerina for the CDP
Ballerina’s role in multiple evolutionary steps to the current architecture
Roadmap for the CDP architecture and plans for Ballerina
WSO2’s partnership in bringing continual success for the CD
The integration landscape is changing rapidly with the introduction of technologies like GraphQL, gRPC, stream processing, iPaaS, and platformless. However, not all existing applications and industries can keep up with these new technologies. Certain industries, like manufacturing, logistics, and finance, still rely on well-established EDI-based message formats. Some applications use XML or CSV with file-based communications, while others have strict on premises deployment requirements. This talk focuses on how Ballerina's built-in integration capabilities can bridge the gap between "old" and "new" technologies, modernizing enterprise applications without disrupting business operations.
Platformless Horizons for Digital AdaptabilityWSO2
In this keynote, Asanka Abeysinghe, CTO,WSO2 will explore the shift towards platformless technology ecosystems and their importance in driving digital adaptability and innovation. We will discuss strategies for leveraging decentralized architectures and integrating diverse technologies, with a focus on building resilient, flexible, and future-ready IT infrastructures. We will also highlight WSO2's roadmap, emphasizing our commitment to supporting this transformative journey with our evolving product suite.
Quantum computers are rapidly evolving and are promising significant advantages in domains like machine learning or optimization, to name but a few areas. In this keynote we sketch the underpinnings of quantum computing, show some of the inherent advantages, highlight some application areas, and show how quantum applications are built.
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2 Dep Sync for Artifact Synchronization of Cluster Nodes
1. DepSync for Deployment Artifact
Synchronization Between the Cluster
Nodes
Pradeep Fernando Kasun Gajasinghe
Senior Software Engineer Software Engineer
pradeep@wso2.com kasung@wso2.com
2. Agenda
• The need for deployment synchronization
• Brief introduction to WSO2 product clusters
• Demo - Complete Application server cluster with DepSync +
fronted by WSO2 ELB
3. 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 ??
4. Typical WSO2 Product Cluster
• Manager and Worker nodes.
• Manager is for administration purposes - artifact upload,
applying security,etc
• Worker nodes responsible for serving requests.
• The setup is only valid for products that support artifact
deployment:
• Application Server
• Enterprise Service Bus
• etc
6. Why Management & Worker Node Separation
Crash Course
• Proper separation of concerns - management nodes
specialize in management of the setup while worker
nodes specialize in serving requests to deployment
artifacts
• Only management nodes are authorized to add new
artifacts into the system or make configuration changes
• Worker nodes can only deploy artifacts & read
configuration
• Lower memory foot in the worker nodes because the
management console related OSGi bundles are not loaded
• 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. Deployment Synchronization
• Distributing deployment artifacts & related metadata to
all nodes in a homogeneous cluster is a typical
requirement for a clustered deployment of any
middleware platform
• Provides a consistent, and reliable cluster
• Automated synchronization without need of any user
interaction
• Artifact Metadata contains service policies, and other
important service configuration details
8. Deployment Synchronizer
• WSO2 products provides this through Deployment
Synchronizer (DepSync) mechanism
• A new feature addition to WSO2 products
• Synchronization done using a central repository, usually,
a SVN server
• We call it SVN-based Deployment Synchronizer
• Extensible - may be a Git based one in the future.
10. What it synchronizes?
• Web Applications
• JAXWS / JAXRS Applications
• Proxy Services
• Data Services
• BPEL
• Basically all the deployable artifacts in axis2 repo of
Carbon products (ex. repository/deployment/server)
• Service Metadata – (details on policies, transports etc.)
12. Multicast vs. WKA
Multicast
• Cluster is going to be set up in a network where
multicasting is allowed
Well-Known Address
• Cloud based deployment
• Members are distributed across datacenters & regions
• Multicasting blocked
13. DepSync and Multi-Tenancy
• DepSync synchronizes the artifacts among the product
cluster in a tenant aware manner.
• Ghost deployment is supported in the depsync aware
manner in order reduce the initial deployment and
request serving latencies.
16. Process
1. Set up the Environment for Deployment Synchronizer
2. Configure Load Balancer
3. Configure Management Node - Application Server
4. Configure Worker Node - Application Server
17. PART 1
Set up the Environment for
Deployment Synchronizer
18. Set up the Environment for Deployment
Synchronizer
• We will setup the SVN-based DepSync
• For this, you need the following
o svnkit osgi bundle
o TortoiseSVN / Silk SVN (Windows), Subversion
command line package(Unix) -optional
19. Set up the Environment for Deployment
Synchronizer
• Download svnkit bundle from here - http://goo.gl/CVR2F
• If you will be using a remote svn location for depsync, you may
skip the creation of local svn repository.
• To create a local svn repository,
o if you have svn command line client, enter following
command.
svnadmin create C:demosvnrepo
o if you are using TortoiseSVN, then first create a folder at
any place you like. Say - C://demo/svnrepo . Now go in to
that folder, right-click -> TortoiseSVN -> "Create Repsitory
here"
o Now, the SVN URL for this location is -
file:///C:/demo/svnrepo
20. Set up the Environment for Deployment
Synchronizer
• We will use this svn url when configuring the manager
and worker nodes. So, remember the location where you
created this. DepSync config will also be configured there.
23. Configure Load Balancer -
Loadbalancer.conf
• Download and extract wso2elb-2.0.0.zip
o Let the extracted directory be WSO2_LB_HOME
• Open loadbalancer.conf file in the
WSO2_LB_HOME/repository/conf
24. Configure Load Balancer
• Configuring the WSO2 Elastic Load Balancer is now
complete
• To start the server
o Go to the WSO2_LB_HOME/bin folder using command
line
o Enter the command `wso2server.bat`
o Notice the logs printed by TribesClusteringAgent
26. Configure Management Node
• Download and extract wso2as-5.0.0.zip
o Rename extracted directory to wso2as-5.0.0-manager
o Let the extracted directory be WSO2_AS_MGR_HOME
27. Configure Management Node -
axis2.xml
• Enable clustering at axis2 level.
<clustering
class="org.apache.axis2.clustering.tribes.TribesClusteringAgent"
enable="true">
• Change the membershipScheme of clustering to wka (well-
known address)
<parameter name="membershipScheme">wka</parameter>
• Set the cluster domain. This must be the same which we
defined in loadbalancer.conf
<parameter name="domain">wso2.as.domain</parameter>
28. Configure Management Node -
axis2.xml
• Set localMemberHost
<parameter
name="localMemberHost">mgt.appserver.wso2.com</parameter>
• Set localMemberPort
<parameter name="localMemberPort">4250</parameter>
• Add a new property named "subDomain"and set it to
'mgt' inside the parameter "properties"
<parameter name="properties">
<property name="backendServerURL"
value="https://${hostName}:${httpsPort}/services/"/>
<property name="mgtConsoleURL" value="https://${hostName}:${httpsPort}/"/>
<property name="subDomain" value="mgt"/>
</parameter>
29. • Add load balancer as a well-known member.
o Use the IP/hostname and port defined in LB's
axis2.xml
<members>
<member>
<hostName>127.0.0.1</hostName>
<port>4000</port>
</member>
</members>
30. Configure Management Node –
catalina-server.xml
• Since the mgt node is fronted by an LB, we need to
configure
proxy ports associated with HTTP and HTTPS connecters.
o Defaults for http and https are 8280 and 8243
respectively.
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="9763"
proxyPort="8280“
---
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="9443“
proxyPort="8243“
---
31. Configure Management Node –
carbon.xml
• Set port offset to avoid port conflicts with other nodes
(LB).
<Offset>1</Offset>
• Update mgtHostName and HostName elements in
carbon.xml as shown below
<HostName>appserver.wso2.com</HostName><MgtHostName>mgt.appserver
.wso2.com</MgtHostName>
• Copy svnkit bundle to repository/components/dropins
32. Configure Management Node -
Deployment Synchronizer
• The deployment synchronizer config is in carbon.xml.
• Uncomment the DeploymentSynchronizer xml segment.
• Set AutoCommit to true.
• Set the SVNUrl
• No need to set username/password if you didn't set it for local
svn repo
<DeploymentSynchronizer>
<Enabled>true</Enabled>
<AutoCommit>true</AutoCommit>
<AutoCheckout>true</AutoCheckout>
<RepositoryType>svn</RepositoryType>
<SvnUrl>file:///C:/webinar-setup/demo/final/svnrepo</SvnUrl>
<SvnUser>username</SvnUser>
<SvnPassword>password</SvnPassword>
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
</DeploymentSynchronizer>
33. Configure Management Node
• Configuring the WSO2 Application Server is now complete
• To start the server
o Go to the WSO2_AS_MGR_HOME/bin folder using
command line
o Enter the command `wso2server.bat`
o Notice the logs printed by TribesClusteringAgent
and corresponding cluster joining logs in load
balancer.
• You can now login to management console via
https://mgt.appserver.wso2.com:8243/carbon/
• Notice that requests we sent to services (including WSDL)
will be directed to worker nodes.
36. Configure Worker Node
• We can use a copy of a management node, and convert it
to a worker node easily since it will have most of the
settings
• So, instead of using a fresh appserver copy, make a copy of
the management node we just created
• Rename the new folder as wso2as-5.0.0-worker
• Let this directory be WSO2_AS_WORKER_HOME
37. Configure Worker Node -
axis2.xml
• In addition to the settings we already have, do the
following.
• Set the localMemberPort to 4251
<parameter name="localMemberPort">4251</parameter>
• This node belongs to the "worker"subDomain, so, change
the property "subDomain" to worker (instead of mgt)
<parameter name="properties">
<property name="backendServerURL"
value="https://${hostName}:${httpsPort}/services/"/>
<property name="mgtConsoleURL"
value="https://${hostName}:${httpsPort}/"/>
<property name="subDomain" value="worker"/>
</parameter>
38. Configure Worker Node –
carbon.xml
• First set a new port offset
<Offset>2</Offset>
• Comment out/remove the mgtHostName configuration
• Set the AutoCommit property inside Deployment Synchronizer
to false. This MUST be done because the worker nodes of a
cluster should NOT commit (write) artifacts
<DeploymentSynchronizer>
<Enabled>true</Enabled>
<AutoCommit>false</AutoCommit>
<AutoCheckout>true</AutoCheckout>
<RepositoryType>svn</RepositoryType>
<SvnUrl>file:///C:/webinar-setup/demo/final/svnrepo</SvnUrl>
<SvnUser>username</SvnUser>
<SvnPassword>password</SvnPassword>
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
</DeploymentSynchronizer>
39. Configure Worker Node –
carbon.xml
•
• Now, it's time to start the server.
o NOTE: The workerNode system property must be set
when starting the worker nodes every time.
wso2server.bat -DworkerNode=true
40. Testing the cluster
There are many ways to test our cluster deployment. Let's
follow a simpler path.
• Log in to the management console of Application Server
management node
• Deploy a new Axis2 Web service (Go to Manage --> Axis2
Services --> Add --> AAR service)
• Once the service is deployed in the management node go
to the services list and click on Tryit
• Invoke the service