SlideShare a Scribd company logo
1 of 62
Scalable SOA



   Samisa Abeysinghe


WSO2 Summer School 2009
Outline
●Introduction
●Clustering

●Load Balancing

●SOA in the cloud

●Summary and Resources
Outline - 1
Introduction
●

    ●   Scalability and Availability
Outline - 2
Clustering
●

    ●   Clustering Techniques
    ●   Interfaces to be used
    ●   Membership Schemes
    ●   State Management
    ●   Node Management
    ●   Group Management
    ●   Clustering Patterns
Outline - 3
Load Balancing
●

    ●   Stateless load balancing
    ●   Stateful load balancing
    ●   Load Balancing with fail over
    ●   Dynamic load balancing
Outline - 4
SOA in the cloud
●

    ●   AMI deployments
    ●   Auto Scaling
Clustering
Web services clustering
●   Different servers
    providing the same
    service
●   Group communication
    among the servers
●   Shared resources for
    the cluster
Motivation for Clustering
●Achieving high availability and scalability
●Enterprise Service Buses (ESB)

    ●   De-facto standard for integrating autonomous entities
    ●   Could become the bottleneck in the system
          ●   High availability and high scalability critical
    ●   Ability to cluster is an essential functionality for an
         ESB in a SOA deployment
Service hosting engines
●

    ●   Needs to be able to plug into clusters
Scalability
Ability to
  Handle growing amounts of work in a
  graceful manner
Or
  Be readily enlarged
Availability
The degree to which a system, subsystem, or
●

  equipment is
 ● Operable and in a committable state at the

    start of a mission
 ● When the mission is called for at an

    unknown
A Computer Cluster is...
●A group of coupled computers that works closely
  together
●As if they were a single computer
Clustering Basics
Members or nodes of a cluster
●

    ●   Connected to each other through fast local area
         networks
    ●   Redundant hardware and/or software resources
         ●   Increase the availability and/or performance of the whole
               system
Fault-tolerant components
●

    ●   Share any existing state information among members
    ●   Redundant component is able to take over the work
         of another
An ESB Cluster
Performance with a Cluster
●Install the software on different computers in your
   network
●Spread work amongst those

●Achieved using software or hardware load

   balancers
    ●   Distribute incoming requests to different nodes of a
         cluster
    ●   Based on a very simple or sophisticated
         strategy/algorithm
         ●   Most common and the very basic strategy is round-robin
Performance with a Cluster:
                 Scaling
Increasing the numbers of nodes in a cluster
●

    ●   Decrease the average load on each node
    ●   Able to handle more work in a given time period
    ●   Scale to your performance requirements
Scaling with a Cluster
Availability with a Cluster
●Fault-tolerance and failover
●Component failures detected by the cluster

●Repeats the failed operation on an identical node

  residing in the cluster
    ●   Request processed should be completely stateless
    ●   Does not work if an operation is stateful
         ●   The node is required to maintain state information between
              subsequent invocations
         ●   Stateful component needs to communicate its state
              information across all identical components within the
              cluster - State replication
Availability with a Cluster
Clustering with Apache Axis2

●The Web services engine has comprehensive
  SOA support
●Many other projects make use of Axis2

  clustering
    ●   Apache Synapse
    ●   WSO2 Carbon – The SOA Platform
Apache Axis2 Clustering
●Functionality is abstracted out by a set of
  interfaces
●Makes clustering pluggable

    ●   Implement provided interfaces
    ●   Configure implementation classes in the clustering
          configuration section of axis2.xml
Default clustering implementation in Axis2
●

    ●   Based on Apache Tribes
         ●   Group management framework used by Apache Tomcat
Axis2 Clustering API
Address 2 concerns
●

    ●   State replication
         ●   Synchronizing of states related to different members in
              a cluster group
    ●   Management
         ●   Group Management
         ●   Node Management
Axis2 Clustering Interfaces
●org.apache.axis2.clustering.ClusteringAgent
●org.apache.axis2.clustering.state.StateManager

●org.apache.axis2.clustering.management.NodeM

  anager
●org.apache.axis2.clustering.management.Group

  ManagementAgent
org.apache.axis2.clustering.Clus
             teringAgent
Responsible for initializing all clustering related
●

 functionalities of a node
    ●   Also responsible for getting the node to join the
          cluster
    ●   Node should not process any Web services requests
          until it successfully joins the cluster
    ●   Node will also need to obtain state information and/or
          configuration information from a neighboring node
         ●   To be in sync with the other members
         ●   Configuration changes might have taken place
org.apache.axis2.clustering.Cl
           usteringAgent
In axis2.xml, the instance of this interface is
●

  specified using the "clustering" class attribute.
org.apache.axis2.clustering.stat
           e.StateManager
●Responsible for handling state replication
●Property changes (state changes) in the Axis2

  context hierarchy in the node which runs this
  StateManager will be propagated to all other
  nodes in its group
●Generally, Web services authors do not have to

  handle state replication, as it is handled by the
  clustering implementation just before request
  completion.
org.apache.axis2.clustering.sta
               te.StateManager
●org.apache.axis2.clustering.state.Replicator#repli
    cate() can be called to force state replication.
●It is not mandatory to have a StateManager in a

    node
    ●   If we are not interested in high availability, the
           purpose of a cluster is to achieve scalability
    ●   Simply to utilize the group communication capabilities
           of the underlying Group Communication Framework
           (GCF)
         ●   The purpose of a clustered deployment may also be
              management of the cluster using the underlying GCF
         ●   WSO2 Carbon provides such a component which allows
              cluster management.
org.apache.axis2.clustering.sta
           te.StateManager
The implementation of this interface is set by
●

 reading the "stateManager" element in the
 axis2.xml clustering section.
org.apache.axis2.clustering.man
        agement.NodeManager
●Responsible for handling management of a
  particular member
●Not mandatory to have a NodeManager in a node

●Node management is generally used for

  deploying or undeploying services across a
  cluster group
●The implementation of this interface is set by

  reading the "nodeManager" element in the
  axis2.xml
org.apache.axis2.clustering.ma
    nagement.GroupManagementA
                gent
●Responsible for sending group management
  events and messages to members in a
  particular group
●Only used when a member is running in group

  management mode
Group Management Mode
●Member is special and belongs to all groups
   which it is managing
●Any membership changes will be notified by the

   underlying group management framework to
   the group management agent
●A group management agent should be specified

   for each group that has to be managed by the
   member
●In WSO2 Carbon cluster management, the

   cluster manager node needs to define group
   management agents for each group
Membership Schemes
●Static
●Dynamic

●Hybrid
Static Membership
●Only a defined set of members can be in a
  group
●Group Membership Service(GMS) will detect

  members joining or leaving the group
●External members cannot join the group

●Each node may obtain group member details

  from a central repository or configuration file
Dynamic Membership
●Membership is not predefined
●Members can join a group by specifying the

  appropriate group name, and also leave the
  group
●Group Management Service (GMS) will detect

  new members joining or leaving
●Group membership information may be obtained

  from the GMS
Hybrid Membership
There are a set of well-known members
●

    ●   Can consider these members as belonging to a static
         group
External members can join this group by notifying
●

 one of the well known members
    ●   These external members can then get the current
         group membership from this well-known member
●When new members join the group, well-known
  members will notify all other members
●When members leave the group, the GMS can

  detect this event
Load Balancing
Dynamic Load Balancing with
               ESB
●New members can join and leave the application
  group
●This will be reflected in the membership aware

  dynamic load balancer
●The clustering configuration for the dynamic load

  balancer needs to be configured with group
  management to allow group membership
  discovery
Apache Synapse/WSO2 ESB
  Config Sample LB endpoint

<endpoint name=”test-lb”>
  <session type=”soap”/>
  <loadbalance policy=”roundRobin”>
     <endpoint ..../>
       ..
     ..
  </loadbalance>
</endpoint>
Architecture
●   Stateless load balancing
    ●   LB algorithm implementation is pluggable
    ●   Built-in round robin algorithm
    ●   Can configure more advanced algorithms
        ●   e.g. Weighted round robin LB algorithm
State-full Session Aware Load
               Balancing
●   Transport and SOAP session




                   Load Balancer
Fail-Over with LB




     Load Balancer
LB and FO Groups




     Load Balancer
Dynamic LB




Load Balancer
Dynamic LB (Cntd..)




    Load Balancer
Scalability of WSO2 ESB
●   Can handle 2500 concurrent connections
●   Can handle 30M transactions per day
    ●   assumption: one transaction is one request for ESB
●   Non-blocking HTTP/S transport with message
    queuing and configurable thread pools
●   Different thread pools at the application layer
    and the I/O layer
Availability of WSO2 ESB
●   Availability can be achieved with the
    deployment
     ●   Two passive nodes with a given active node
●   Graceful shutdown and maintenance mode
     ●   Shutdown the listeners
     ●   Let the senders send out the responses after
         processing the already accepted messages
     ●   Shutdown the senders and the server or upgrade
         the system and restart the listener manager
●   Round robin restart of the cluster in active active deployment
Deployment diagram
Cloud Computing
Cloud Computing
Characteristics & Benefits to SOA
●

    ●   Auto-scaling (elasticity)
    ●   Multi-tenancy
    ●   Scalable parallel computing
    ●   Other benefits include
          ●   Cost savings by not peak provisioning
          ●   Faster deployment
          ●   Outsource non-core skills
          ●   Utility billing
AMIs for the Cloud
All WSO2 products would be available as
●

 AMIs soon
    ●   Compatible with Amazon EC2
    ●   Ready to be deployed
Auto Scaling - Elasticity
●Ability for the resources to be scaled up, and down, based on
   demand
●Enables efficient use of computer resources

     ●   No need to provision for maximum load
●   Requires application or middleware to do work to manage load
         –     Queue up incoming requests
         –     Distribute amongst available worker nodes
         –     Monitor queue length and adjust worker pool accordingly
Auto Scaling Services
WSO2 WSAS/ESB Approach
Auto Scaling Services
WSO2 WSAS/ESB Approach




                Load Increases
Auto Scaling Services
WSO2 WSAS/ESB Approach

                Startup new instances
Auto Scaling Services
WSO2 WSAS/ESB Approach

                New instances join group
Auto Scaling Services
WSO2 WSAS/ESB Approach

                 Load Decreases
Auto Scaling Services
WSO2 WSAS/ESB Approach

                Terminate instances
Summary
●  Enterprises thrive for scalability and availability
 ● Clustering provides us a perfect solution to

   meet enterprise demands
● Apache Axis2 clustering support is well designed

   and battle tested
     ●   Done by WSO2 team members
     ●   Used in almost all WSO2 products
Summary
●   ESB is a key element in SOA deployments
    when it comes to load balancing and fail over
       ●   WSO2 ESB is well equipped with these capabilities
●   Cloud computing is opening up new
     opportunities for SOA deployments
       ●   Auto scaling one of the key benefits
Resources
● Introduction to WSO2 Carbon Clustering -
     http://wso2.org/library/articles/introduction-wso2-carbon-clustering
● WSO2 Carbon Cluster Configuration Language -

     http://wso2.org/library/articles/wso2-carbon-cluster-configuration-language
● WSO2 ESB/Apache Synapse Clustering Guide -

     http://wso2.org/library/articles/wso2-esb-apache-synapse-clustering-guide
● Achieving Scalability and High Availability for Clustered Web Services using

     Apache Synapse -
     http://wso2.org/library/presentations/apachecon-eu-2009-achieving-scalability-hig
● Autoscaling Axis2 Web Services on Amazon EC2 -

     http://wso2.org/library/presentations/autoscaling-axis2-web-services-amazon-ec2
● Scalable SOA in Your Own Open Source Cloud -

     http://wso2.org/library/news/presentation-soa-symposium-scalable-soa-your-own-
Tell a Friend...
●   If you found this useful...
    ●   Give us your feedback
    ●   Blog
    ●   Tweet
    ●   Spread the word :)

More Related Content

What's hot

Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013MariaDB Corporation
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to GaleraHenrik Ingo
 
Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?Frederic Descamps
 
Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup Shahnawaz Saifi
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3Marco Tusa
 
Flex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterFlex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterALI ANWAR, OCP®
 
Buytaert kris my_sql-pacemaker
Buytaert kris my_sql-pacemakerBuytaert kris my_sql-pacemaker
Buytaert kris my_sql-pacemakerkuchinskaya
 
SUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDBSUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDBMariaDB plc
 
Introduction to the Incremental Cooperative Protocol of Kafka
Introduction to the Incremental Cooperative Protocol of KafkaIntroduction to the Incremental Cooperative Protocol of Kafka
Introduction to the Incremental Cooperative Protocol of KafkaGuozhang Wang
 
Percona XtraDB Cluster SF Meetup
Percona XtraDB Cluster SF MeetupPercona XtraDB Cluster SF Meetup
Percona XtraDB Cluster SF MeetupVadim Tkachenko
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Henrik Ingo
 
合并到 XtraDB 存储引擎集群
合并到 XtraDB 存储引擎集群合并到 XtraDB 存储引擎集群
合并到 XtraDB 存储引擎集群YUCHENG HU
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationNitin Sharma
 
MariaDB High Availability Webinar
MariaDB High Availability WebinarMariaDB High Availability Webinar
MariaDB High Availability WebinarMariaDB plc
 
Yahoo: Experiences with MySQL GTID and Multi Threaded Replication
Yahoo: Experiences with MySQL GTID and Multi Threaded ReplicationYahoo: Experiences with MySQL GTID and Multi Threaded Replication
Yahoo: Experiences with MySQL GTID and Multi Threaded ReplicationYashada Jadhav
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMakerKris Buytaert
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlContinuent
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesSeveralnines
 

What's hot (20)

Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to Galera
 
Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?Galera Replication Demystified: How Does It Work?
Galera Replication Demystified: How Does It Work?
 
Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3
 
Flex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex ClusterFlex your Database on 12c's Flex ASM Flex Cluster
Flex your Database on 12c's Flex ASM Flex Cluster
 
Buytaert kris my_sql-pacemaker
Buytaert kris my_sql-pacemakerBuytaert kris my_sql-pacemaker
Buytaert kris my_sql-pacemaker
 
SUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDBSUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDB
 
Introduction to the Incremental Cooperative Protocol of Kafka
Introduction to the Incremental Cooperative Protocol of KafkaIntroduction to the Incremental Cooperative Protocol of Kafka
Introduction to the Incremental Cooperative Protocol of Kafka
 
Percona XtraDB Cluster SF Meetup
Percona XtraDB Cluster SF MeetupPercona XtraDB Cluster SF Meetup
Percona XtraDB Cluster SF Meetup
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)
 
合并到 XtraDB 存储引擎集群
合并到 XtraDB 存储引擎集群合并到 XtraDB 存储引擎集群
合并到 XtraDB 存储引擎集群
 
Solr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin PresentationSolr Lucene Conference 2014 - Nitin Presentation
Solr Lucene Conference 2014 - Nitin Presentation
 
MariaDB High Availability Webinar
MariaDB High Availability WebinarMariaDB High Availability Webinar
MariaDB High Availability Webinar
 
Yahoo: Experiences with MySQL GTID and Multi Threaded Replication
Yahoo: Experiences with MySQL GTID and Multi Threaded ReplicationYahoo: Experiences with MySQL GTID and Multi Threaded Replication
Yahoo: Experiences with MySQL GTID and Multi Threaded Replication
 
Helix talk at RelateIQ
Helix talk at RelateIQHelix talk at RelateIQ
Helix talk at RelateIQ
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMaker
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction Slides
 

Similar to Scalable Soa

Do more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudDo more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudphilip_stoev
 
Comparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsComparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsImesha Sudasingha
 
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaS
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaSMariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaS
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaSJelastic Multi-Cloud PaaS
 
M|18 Choosing the Right High Availability Strategy for You
M|18 Choosing the Right High Availability Strategy for YouM|18 Choosing the Right High Availability Strategy for You
M|18 Choosing the Right High Availability Strategy for YouMariaDB plc
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudStephen Gordon
 
NetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksNetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksRuslan Meshenberg
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Louis liu
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
Choosing the right high availability strategy
Choosing the right high availability strategyChoosing the right high availability strategy
Choosing the right high availability strategyMariaDB plc
 
Cassandra - A Decentralized Structured Storage System
Cassandra - A Decentralized Structured Storage SystemCassandra - A Decentralized Structured Storage System
Cassandra - A Decentralized Structured Storage SystemVarad Meru
 
JActor Cluster Platform
JActor Cluster PlatformJActor Cluster Platform
JActor Cluster PlatformBill La Forge
 

Similar to Scalable Soa (20)

Do more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudDo more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloud
 
Megastore by Google
Megastore by GoogleMegastore by Google
Megastore by Google
 
Comparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsComparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systems
 
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaS
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaSMariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaS
MariaDB Auto-Clustering, Vertical and Horizontal Scaling within Jelastic PaaS
 
M|18 Choosing the Right High Availability Strategy for You
M|18 Choosing the Right High Availability Strategy for YouM|18 Choosing the Right High Availability Strategy for You
M|18 Choosing the Right High Availability Strategy for You
 
OpenShift Multicluster
OpenShift MulticlusterOpenShift Multicluster
OpenShift Multicluster
 
Akka Actors and Clustering
Akka Actors and ClusteringAkka Actors and Clustering
Akka Actors and Clustering
 
Divide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloudDivide and conquer: resource segregation in the OpenStack cloud
Divide and conquer: resource segregation in the OpenStack cloud
 
Weblogic cluster
Weblogic clusterWeblogic cluster
Weblogic cluster
 
Weblogic cluster
Weblogic clusterWeblogic cluster
Weblogic cluster
 
Introduction to clarity
Introduction to clarityIntroduction to clarity
Introduction to clarity
 
NetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksNetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talks
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
SVCC-2014
SVCC-2014SVCC-2014
SVCC-2014
 
70 640 Lesson04 Ppt 041009
70 640 Lesson04 Ppt 04100970 640 Lesson04 Ppt 041009
70 640 Lesson04 Ppt 041009
 
Choosing the right high availability strategy
Choosing the right high availability strategyChoosing the right high availability strategy
Choosing the right high availability strategy
 
Cassandra - A Decentralized Structured Storage System
Cassandra - A Decentralized Structured Storage SystemCassandra - A Decentralized Structured Storage System
Cassandra - A Decentralized Structured Storage System
 
JActor Cluster Platform
JActor Cluster PlatformJActor Cluster Platform
JActor Cluster Platform
 

More from WSO2

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 

More from WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Recently uploaded

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Scalable Soa

  • 1. Scalable SOA Samisa Abeysinghe WSO2 Summer School 2009
  • 3. Outline - 1 Introduction ● ● Scalability and Availability
  • 4. Outline - 2 Clustering ● ● Clustering Techniques ● Interfaces to be used ● Membership Schemes ● State Management ● Node Management ● Group Management ● Clustering Patterns
  • 5. Outline - 3 Load Balancing ● ● Stateless load balancing ● Stateful load balancing ● Load Balancing with fail over ● Dynamic load balancing
  • 6. Outline - 4 SOA in the cloud ● ● AMI deployments ● Auto Scaling
  • 8. Web services clustering ● Different servers providing the same service ● Group communication among the servers ● Shared resources for the cluster
  • 9. Motivation for Clustering ●Achieving high availability and scalability ●Enterprise Service Buses (ESB) ● De-facto standard for integrating autonomous entities ● Could become the bottleneck in the system ● High availability and high scalability critical ● Ability to cluster is an essential functionality for an ESB in a SOA deployment Service hosting engines ● ● Needs to be able to plug into clusters
  • 10. Scalability Ability to Handle growing amounts of work in a graceful manner Or Be readily enlarged
  • 11. Availability The degree to which a system, subsystem, or ● equipment is ● Operable and in a committable state at the start of a mission ● When the mission is called for at an unknown
  • 12. A Computer Cluster is... ●A group of coupled computers that works closely together ●As if they were a single computer
  • 13. Clustering Basics Members or nodes of a cluster ● ● Connected to each other through fast local area networks ● Redundant hardware and/or software resources ● Increase the availability and/or performance of the whole system Fault-tolerant components ● ● Share any existing state information among members ● Redundant component is able to take over the work of another
  • 15. Performance with a Cluster ●Install the software on different computers in your network ●Spread work amongst those ●Achieved using software or hardware load balancers ● Distribute incoming requests to different nodes of a cluster ● Based on a very simple or sophisticated strategy/algorithm ● Most common and the very basic strategy is round-robin
  • 16. Performance with a Cluster: Scaling Increasing the numbers of nodes in a cluster ● ● Decrease the average load on each node ● Able to handle more work in a given time period ● Scale to your performance requirements
  • 17. Scaling with a Cluster
  • 18. Availability with a Cluster ●Fault-tolerance and failover ●Component failures detected by the cluster ●Repeats the failed operation on an identical node residing in the cluster ● Request processed should be completely stateless ● Does not work if an operation is stateful ● The node is required to maintain state information between subsequent invocations ● Stateful component needs to communicate its state information across all identical components within the cluster - State replication
  • 20. Clustering with Apache Axis2 ●The Web services engine has comprehensive SOA support ●Many other projects make use of Axis2 clustering ● Apache Synapse ● WSO2 Carbon – The SOA Platform
  • 21. Apache Axis2 Clustering ●Functionality is abstracted out by a set of interfaces ●Makes clustering pluggable ● Implement provided interfaces ● Configure implementation classes in the clustering configuration section of axis2.xml Default clustering implementation in Axis2 ● ● Based on Apache Tribes ● Group management framework used by Apache Tomcat
  • 22. Axis2 Clustering API Address 2 concerns ● ● State replication ● Synchronizing of states related to different members in a cluster group ● Management ● Group Management ● Node Management
  • 24. org.apache.axis2.clustering.Clus teringAgent Responsible for initializing all clustering related ● functionalities of a node ● Also responsible for getting the node to join the cluster ● Node should not process any Web services requests until it successfully joins the cluster ● Node will also need to obtain state information and/or configuration information from a neighboring node ● To be in sync with the other members ● Configuration changes might have taken place
  • 25. org.apache.axis2.clustering.Cl usteringAgent In axis2.xml, the instance of this interface is ● specified using the "clustering" class attribute.
  • 26. org.apache.axis2.clustering.stat e.StateManager ●Responsible for handling state replication ●Property changes (state changes) in the Axis2 context hierarchy in the node which runs this StateManager will be propagated to all other nodes in its group ●Generally, Web services authors do not have to handle state replication, as it is handled by the clustering implementation just before request completion.
  • 27. org.apache.axis2.clustering.sta te.StateManager ●org.apache.axis2.clustering.state.Replicator#repli cate() can be called to force state replication. ●It is not mandatory to have a StateManager in a node ● If we are not interested in high availability, the purpose of a cluster is to achieve scalability ● Simply to utilize the group communication capabilities of the underlying Group Communication Framework (GCF) ● The purpose of a clustered deployment may also be management of the cluster using the underlying GCF ● WSO2 Carbon provides such a component which allows cluster management.
  • 28. org.apache.axis2.clustering.sta te.StateManager The implementation of this interface is set by ● reading the "stateManager" element in the axis2.xml clustering section.
  • 29. org.apache.axis2.clustering.man agement.NodeManager ●Responsible for handling management of a particular member ●Not mandatory to have a NodeManager in a node ●Node management is generally used for deploying or undeploying services across a cluster group ●The implementation of this interface is set by reading the "nodeManager" element in the axis2.xml
  • 30. org.apache.axis2.clustering.ma nagement.GroupManagementA gent ●Responsible for sending group management events and messages to members in a particular group ●Only used when a member is running in group management mode
  • 31. Group Management Mode ●Member is special and belongs to all groups which it is managing ●Any membership changes will be notified by the underlying group management framework to the group management agent ●A group management agent should be specified for each group that has to be managed by the member ●In WSO2 Carbon cluster management, the cluster manager node needs to define group management agents for each group
  • 33. Static Membership ●Only a defined set of members can be in a group ●Group Membership Service(GMS) will detect members joining or leaving the group ●External members cannot join the group ●Each node may obtain group member details from a central repository or configuration file
  • 34. Dynamic Membership ●Membership is not predefined ●Members can join a group by specifying the appropriate group name, and also leave the group ●Group Management Service (GMS) will detect new members joining or leaving ●Group membership information may be obtained from the GMS
  • 35. Hybrid Membership There are a set of well-known members ● ● Can consider these members as belonging to a static group External members can join this group by notifying ● one of the well known members ● These external members can then get the current group membership from this well-known member ●When new members join the group, well-known members will notify all other members ●When members leave the group, the GMS can detect this event
  • 37. Dynamic Load Balancing with ESB ●New members can join and leave the application group ●This will be reflected in the membership aware dynamic load balancer ●The clustering configuration for the dynamic load balancer needs to be configured with group management to allow group membership discovery
  • 38. Apache Synapse/WSO2 ESB Config Sample LB endpoint <endpoint name=”test-lb”> <session type=”soap”/> <loadbalance policy=”roundRobin”> <endpoint ..../> .. .. </loadbalance> </endpoint>
  • 39. Architecture ● Stateless load balancing ● LB algorithm implementation is pluggable ● Built-in round robin algorithm ● Can configure more advanced algorithms ● e.g. Weighted round robin LB algorithm
  • 40. State-full Session Aware Load Balancing ● Transport and SOAP session Load Balancer
  • 41. Fail-Over with LB Load Balancer
  • 42. LB and FO Groups Load Balancer
  • 44. Dynamic LB (Cntd..) Load Balancer
  • 45. Scalability of WSO2 ESB ● Can handle 2500 concurrent connections ● Can handle 30M transactions per day ● assumption: one transaction is one request for ESB ● Non-blocking HTTP/S transport with message queuing and configurable thread pools ● Different thread pools at the application layer and the I/O layer
  • 46. Availability of WSO2 ESB ● Availability can be achieved with the deployment ● Two passive nodes with a given active node ● Graceful shutdown and maintenance mode ● Shutdown the listeners ● Let the senders send out the responses after processing the already accepted messages ● Shutdown the senders and the server or upgrade the system and restart the listener manager ● Round robin restart of the cluster in active active deployment
  • 49. Cloud Computing Characteristics & Benefits to SOA ● ● Auto-scaling (elasticity) ● Multi-tenancy ● Scalable parallel computing ● Other benefits include ● Cost savings by not peak provisioning ● Faster deployment ● Outsource non-core skills ● Utility billing
  • 50. AMIs for the Cloud All WSO2 products would be available as ● AMIs soon ● Compatible with Amazon EC2 ● Ready to be deployed
  • 51. Auto Scaling - Elasticity ●Ability for the resources to be scaled up, and down, based on demand ●Enables efficient use of computer resources ● No need to provision for maximum load ● Requires application or middleware to do work to manage load – Queue up incoming requests – Distribute amongst available worker nodes – Monitor queue length and adjust worker pool accordingly
  • 52. Auto Scaling Services WSO2 WSAS/ESB Approach
  • 53. Auto Scaling Services WSO2 WSAS/ESB Approach Load Increases
  • 54. Auto Scaling Services WSO2 WSAS/ESB Approach Startup new instances
  • 55. Auto Scaling Services WSO2 WSAS/ESB Approach New instances join group
  • 56. Auto Scaling Services WSO2 WSAS/ESB Approach Load Decreases
  • 57. Auto Scaling Services WSO2 WSAS/ESB Approach Terminate instances
  • 58. Summary ● Enterprises thrive for scalability and availability ● Clustering provides us a perfect solution to meet enterprise demands ● Apache Axis2 clustering support is well designed and battle tested ● Done by WSO2 team members ● Used in almost all WSO2 products
  • 59. Summary ● ESB is a key element in SOA deployments when it comes to load balancing and fail over ● WSO2 ESB is well equipped with these capabilities ● Cloud computing is opening up new opportunities for SOA deployments ● Auto scaling one of the key benefits
  • 60. Resources ● Introduction to WSO2 Carbon Clustering - http://wso2.org/library/articles/introduction-wso2-carbon-clustering ● WSO2 Carbon Cluster Configuration Language - http://wso2.org/library/articles/wso2-carbon-cluster-configuration-language ● WSO2 ESB/Apache Synapse Clustering Guide - http://wso2.org/library/articles/wso2-esb-apache-synapse-clustering-guide ● Achieving Scalability and High Availability for Clustered Web Services using Apache Synapse - http://wso2.org/library/presentations/apachecon-eu-2009-achieving-scalability-hig ● Autoscaling Axis2 Web Services on Amazon EC2 - http://wso2.org/library/presentations/autoscaling-axis2-web-services-amazon-ec2 ● Scalable SOA in Your Own Open Source Cloud - http://wso2.org/library/news/presentation-soa-symposium-scalable-soa-your-own-
  • 61.
  • 62. Tell a Friend... ● If you found this useful... ● Give us your feedback ● Blog ● Tweet ● Spread the word :)