SlideShare une entreprise Scribd logo
1  sur  53
Adjusting Carbon Topology to
Match High Availability Scenario
         Requirements

              Afkham Azeez
          Director of Architecture
                WSO2 Inc




                                     1
About Me
• PMC member Apache Axis, Committer Synapse
  & Web Services
• Member, Apache Software Foundation
• Co-author, Axis2 Web Services
• Director of Architecture, WSO2 Inc
• Blog: http://blog.afkham.org
• Twitter: afkham_azeez




                                              2
Agenda
• A brief look at the WSO2 platform
• Carbon clustering for availability
• Cost of availability & related topologies




                                              3
WSO2 Offerings
• WSO2 Carbon
  •   Full platform of servers for deployment on-premise, in private or public cloud
  •   Products share a consistent architecture and core platform services (e.g.
      logging, management, security, identity, caching) through OSGi and the “Carbon
      Core”
  •   Includes ESB, AppServer, Data Services, Governance, Identity, Business
      Process, and more

• WSO2 Stratos
  •   Platform-as-a-Service (PaaS) Foundation
  •   Supports running servers as elastic, metered, billed, multi-tenant with self-service
       • Including all Carbon Servers, PHP, Jetty, and a growing list through a standard Cartridge
         model

• WSO2 StratosLive
  •   http://stratoslive.wso2.com
  •   WSO2’s Public PaaS
  •   An instance of Stratos running in the cloud with all Carbon Servers available                  4
Consistent Architecture
•       Carbon: A consistent set of class-leading enterprise servers
    •         The same products run either on-premise or in the cloud, single-tenant or multi-
              tenant
    •         Utilize the same Carbon core runtime for a seamless experience
•       Stratos: A cloud platform for enterprise, hybrid and public deployment
    •         Extends the deployment to support full self-service, elastic scaling, metering and
              billing
    •         Supports Carbon and native server runtimes
          •       Including Java and non-Java servers such as Jetty and PHP
          •       Re-uses the same core Carbon architecture to offer core PaaS services including:
                 •     Identity, Logging, File, Relational Storage, Column Storage, Code Deployment, etc
•       Both projects share a common set of OSGi modules and a core runtime
        architecture


                                                                                                           5
WSO2 SOA Platform




                    6
WSO2 Carbon




              7
Availability
The degree to which a system, subsystem, or
 equipment is in a specified operable and
 committable state at the start of a mission, when
 the mission is called for at an unknown, i.e., a
 random, time.


Simply put, availability is the proportion of time a
  system is in a functioning condition.


                                                       8
Availability




               9
Availability




               10
High Availability (HA)
A system that is designed for continuous operation in the
  event of a failure of one or more components. However,
  the system may display some degradation of service, but
  will continue to perform correctly.


The proportion of time during which the service is
  accessible with reasonable response times should be
  close to 100%.


All single points of failure should be eliminated

                                                        11
HA, CO & CA
• Continuous Operation (CO)
  •   Ability to avoid planned outages.
  •   hardware and software maintenance carried out
      while applications remains available users.
• Continuous Availability (CA)
  •   Combines the characteristics of HA and CO to keep
      the applications running without any noticeable
      downtime
  •   Hot update/ graceful round-robin restart

                                                      12
High Availability Techniques
• Redundancy
  •   Time – retransmit
  •   Data – e.g. parity bits
  •   Processing – e.g. redundant nodes
• Diversity
  •   e.g. Hybrid deployments, do the same thing using
      different implementations




                                                         13
How to decide required availability?
• Average throughput (TPS)
• Max throughput (TPS)
• Monetary value of a transaction
• Average loss & max loss per second of
  downtime
• Decide on how much to invest on availability
  based on cost vs. benefit tradeoff


                                                 14
Patching Production Deployments
                      Patch Distribution Coordinator


                                                1. Check patch list
                                                2.Pull new patch




    3. Push patch   3. Push patch
                                                         3. Push patch

                                    3. Push patch




                                                                         15
Patching Production Deployments
                       Patch Distribution Coordinator




                                                        Round-robin



 4. Maintenance mode
 5. Graceful restart




                                                                      16
Clustering
• Clustering for scalability


• Clustering for availability




                                17
Clustering for scalability




                             18
Clustering for availability




    Group Communication Channel/State replication

                                                    19
Carbon Clustering
• Membership types
 •   Static
 •   Dynamic
 •   Hybrid
• Membership modes
 •   Multicast
 •   Well-known address



                                   20
Static membership
• Predefined members
• Other (non-predefined) nodes cannot join


        Static group


              M1            M2               N




                       M3        M4


                                                 21
Dynamic membership
• No predefined members
• Nodes can join & leave


        Dynamic group


             M1              M2               N
                                       Join




                        M3        M4


                                                  22
Hybrid membership
•   Some predefined (well-known) members, and some
    dynamic members
•   Nodes can join & leave
•   Membership revolves around the static members
    Hybrid group

       Dynamic members       Static members                      N

                                                    Join
            M5          M6        M1          M2    (IP, Port)




                   M7             M3          M4


                                                                 23
Multicast based membership management




                                      M4


                            M1
      N   Join
          (IP, Port)




                       M2        M3



                                           24
Well-known Address (WKA) based
         membership management


Hybrid group

   Dynamic members                Static members

                    M6
        M5
                                       WK1                           N
                                                   WK2

                         Notify                          Join (IP,
                                                         Port)

               M7                      WK3         WK4




                                                                         25
Multicast vs. WKA
Multicast                                   WKA
All nodes should be in the same subnet      Nodes can be in different networks
All nodes should be in the same multicast
domain                                      No multicasting requirement
Multicasting should not be blocked
No fixed IP addresses or hosts required     At least one well-known IP address or host
                                            required
Failure of any member does not affect       New members can join with some WKA
membership discovery                        nodes down, but not if all WKA nodes are
                                            down
Does not work on IaaSs such as Amazon       IaaS-friendly
EC2
                                            Requires keepalived, elastic IPs or some
                                            other mechanism for remapping IP
                                            addresses of WK members in cases of
                                            failure
                                                                                         26
Multicast vs. WKA – how to decide?
• Multicast
  •   Cluster is going to be setup in a network where
      multicasting is allowed
• WKA
  •   Cloud based deployment
  •   Members are distributed across datacenters &
      regions
  •   Multicasting blocked


                                                        27
HTTP Session Replication
• catalina-server.xml
  •   <Cluster className="org.wso2.carbon.core.session.CarbonTomcatSimpleTcpCluster"/>
  •   <Valve
      className="org.wso2.carbon.tomcat.ext.valves.CarbonTomcatSessionReplicationValve"/>

• web.xml
  •   <distributable/>




                                                                                            28
State Replication
JSR-107/JCache
  A standard Java Caching API for use by developers and a standard SPI ("Service Provider
     Interface") for use by implementers.



      import javax.cache.*

      …

      CacheManager cacheMgr = Caching.getCacheManager();

      Cache<String, Integer> cache =cacheMgr .getCache(cacheName);
      cache.put(“key”, sampleValue);
      Integer i = cache.get(“key”);



                                                                                   29
State Replication
CarbonContext based API

  Cache cache = CarbonContext.getCurrentContext().getCache();
  cache.put(“key”, sampleValue);
  Integer i = cache.get(“key”);


Axis2 Contexts
  Using Axis2 clustering StateManager – axis2.xml
  <stateManager class="org.apache.axis2.clustering.state.DefaultStateManager” enable=”true">




                                                                                               30
Elastic Load Balancer 2.0
• New sysadmin-friendly configuration language
• High performance PassThrough transport
• Tenant-aware load balancing
• Ability to dedicate clusters for tenants (private
  jet mode)
• Improved auto-scaler
  •   Separate IaaS-aware Cloud controller takes care of
      spawning new instances on different IaaSs

                                                           31
Tenant-aware LB




                  32
Private Jet mode

• Analogy
  • Economy class
     • no SLA management, only elasticity
  • Business class
     • elasticity plus SLA guarantees
  • Private Jet
     • Guaranteed isolated VMs or machines for a specific
       tenant
     • Still elastically scaled
Private Jet Mode




                   34
Topologies
• Single node
• Multi-node with LB
• Multi-node with elasticity using ELB
• Management & worker node separated
• Multi-zone or multi-datacenter deployment
• Multi-region




                                              35
Single node
HIGHEST
          Availability



                         Cost




LOWEST



                                              36
Primary-secondary
HIGHEST
          Availability



                         Cost




LOWEST


                                   Primary   Secondary
                                                         37
Primary-secondary, multiple LB
HIGHEST




                                           keepalived
          Availability



                         Cost




LOWEST


                                 Primary        Secondary
                                                            38
Active cluster, multiple LB
HIGHEST




                                               keepalived
          Availability



                         Cost




LOWEST

                                      Active        Active    Active
                                                                       39
Management & Worker Node Separation
•   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.
• Isolation of failures
                                                                  40
Management & Worker Node Separation
HIGHEST
          Availability



                          Cost




LOWEST




                                                               41
Regions & Zones




                  42
Stratos 2.0 Architecture




                           43
Multi-zone or multi-datacenter Deployment

HIGHEST




                                          Cloud
                                         Controller




                                Zone 1




                                                      Zone 2
          Availability




                                          Region X
                         Cost




LOWEST




                                                               44
Multi-region deployment
HIGHEST




                                 Zone 1




                                                     Zone 2



                                          Region X




                                                              Zone 1
          Availability




                                                                                  Zone 2
                         Cost




LOWEST
                                                                       Region Y



                                                                                           45
Multi-IaaS Deployment


       Cloud Controller




                          46
Multiple IaaS (hybrid) Deployment
HIGHEST




                                                  Zone 1




                                Private cloud (data center)    Zone 2




                                                                              Zone 1




                                                                                       Zone 2
                                                                        Amazon EC2




                                                Zone 1
          Availability



                         Cost




                                                              Zone 2
LOWEST
                                         Rackspace Cloud



                                                                                                47
Single Node




           Primary-Secondary, single LB




               Primary-Secondary,
               with multiple LBs




                    Multi-node active cluster
                    - Single zone
                                                      Cost of Availability




                                    Multi-zone
                                       Multi-region
                                         Multi-IaaS
48
HA for the Load Balancer
• Load balancer cluster
• Keepalived
• Elastic IP address
• Round Robin DNS




                                  49
Monitoring Servers
• Monit
 •   Automatically provide alerts & restart processes
     when monitored items (e.g. latency) fall below
     certain thresholds.
• New Relic
• Nagios




                                                        50
References
Information on tenant-aware load balancing
http://sanjeewamalalgoda.blogspot.com/2012/03/tenant-aware-load-balancer-is-upcoming.html

http://sanjeewamalalgoda.blogspot.com/2012/05/tenant-aware-load-balancer.html




Scaling Stratos
http://srinathsview.blogspot.com/2012/06/scaling-wso2-stratos.html

http://blog.afkham.org/2011/09/how-to-setup-wso2-elastic-load-balancer.html

http://blog.afkham.org/2011/09/wso2-load-balancer-how-it-works.html




                                                                                            51
Auto-scaler service deployment
http://nirmalfdo.blogspot.com/2012/07/autoscaler-service-deployment.html




Auto-scaler service
http://nirmalfdo.blogspot.com/2012/07/wso2-autoscaler-service-part-i.html



Automatic failover for WSO2 ELB
http://gonesimple.org/2012/09/24/automatic-fail-over-for-wso2-elb/




                                                                            52
Questions?




    http://www.flickr.com/photos/oberazzi/
                                   53

Contenu connexe

Tendances

WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS WorkshopWSO2
 
An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaSagara Gunathunga
 
Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldPayara
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? Ambassador Labs
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDDBasav Nagur
 
Compute Security - Container Security
Compute Security - Container SecurityCompute Security - Container Security
Compute Security - Container SecurityEng Teong Cheah
 
Application Security - 28 Nov 2018
Application Security - 28 Nov 2018Application Security - 28 Nov 2018
Application Security - 28 Nov 2018Cheah Eng Soon
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmComsysto Reply GmbH
 
Consolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceConsolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceEng Teong Cheah
 
Monitoring and Tuning GlassFish
Monitoring and Tuning GlassFishMonitoring and Tuning GlassFish
Monitoring and Tuning GlassFishC2B2 Consulting
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!Lalit Shandilya
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakarta_EE
 
Azure Network Security Groups (NSG)
Azure Network Security Groups (NSG)Azure Network Security Groups (NSG)
Azure Network Security Groups (NSG)Shawn Ismail
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Charles Moulliard
 
An overview of microservices
An overview of microservicesAn overview of microservices
An overview of microservicesGanesh Samarthyam
 
CCI2018 - Azure Network - Security Best Practices
CCI2018 - Azure Network - Security Best PracticesCCI2018 - Azure Network - Security Best Practices
CCI2018 - Azure Network - Security Best Practiceswalk2talk srl
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akkaBinh Nguyen
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileEberhard Wolff
 

Tendances (20)

WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
 
Microservices Server - MSS Workshop
Microservices Server - MSS WorkshopMicroservices Server - MSS Workshop
Microservices Server - MSS Workshop
 
An Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for JavaAn Introduction to WSO2 Microservices Framework for Java
An Introduction to WSO2 Microservices Framework for Java
 
Glass fish performance tuning tips from the field
Glass fish performance tuning tips from the fieldGlass fish performance tuning tips from the field
Glass fish performance tuning tips from the field
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
Compute Security - Container Security
Compute Security - Container SecurityCompute Security - Container Security
Compute Security - Container Security
 
Application Security - 28 Nov 2018
Application Security - 28 Nov 2018Application Security - 28 Nov 2018
Application Security - 28 Nov 2018
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 
Consolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes ServiceConsolidating Infrastructure with Azure Kubernetes Service
Consolidating Infrastructure with Azure Kubernetes Service
 
Monitoring and Tuning GlassFish
Monitoring and Tuning GlassFishMonitoring and Tuning GlassFish
Monitoring and Tuning GlassFish
 
NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!NodeJS Microservices, Built it Now, Scale it Later!
NodeJS Microservices, Built it Now, Scale it Later!
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
Azure Network Security Groups (NSG)
Azure Network Security Groups (NSG)Azure Network Security Groups (NSG)
Azure Network Security Groups (NSG)
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016
 
An overview of microservices
An overview of microservicesAn overview of microservices
An overview of microservices
 
CCI2018 - Azure Network - Security Best Practices
CCI2018 - Azure Network - Security Best PracticesCCI2018 - Azure Network - Security Best Practices
CCI2018 - Azure Network - Security Best Practices
 
Building microservices web application using scala & akka
Building microservices web application using scala & akkaBuilding microservices web application using scala & akka
Building microservices web application using scala & akka
 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
 
Microservices
Microservices Microservices
Microservices
 

Similaire à Adjusting carbon topology to match high availability scenario requirements

Adjust Carbon Topology to Match High Availability Scenario Requirements
Adjust Carbon Topology to Match High Availability Scenario Requirements   Adjust Carbon Topology to Match High Availability Scenario Requirements
Adjust Carbon Topology to Match High Availability Scenario Requirements WSO2
 
Scalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonScalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonWSO2
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-12012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1tcloudcomputing-tw
 
Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overviewgavin_lee
 
Scalable Persistent Message Brokering with WSO2 Message Broker
Scalable Persistent Message Brokering with WSO2 Message BrokerScalable Persistent Message Brokering with WSO2 Message Broker
Scalable Persistent Message Brokering with WSO2 Message BrokerSrinath Perera
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureHui Cheng
 
Integrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructureIntegrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructurelaurabeckcahoon
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stackMurali Reddy
 
What is cloud computing
What is cloud computingWhat is cloud computing
What is cloud computingBrian Bullard
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStackChiradeep Vittal
 
21.10.09 Microsoft Event, Microsoft Presentation
21.10.09 Microsoft Event, Microsoft Presentation21.10.09 Microsoft Event, Microsoft Presentation
21.10.09 Microsoft Event, Microsoft Presentationdataplex systems limited
 
Hyper-V 3.0 Overview
Hyper-V 3.0 OverviewHyper-V 3.0 Overview
Hyper-V 3.0 OverviewTudor Damian
 
Tudor Damian - Hyper-V 3.0 overview
Tudor Damian - Hyper-V 3.0 overviewTudor Damian - Hyper-V 3.0 overview
Tudor Damian - Hyper-V 3.0 overviewITCamp
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stackNitin Mehta
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows AzureDamir Dobric
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStackTesora
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
 

Similaire à Adjusting carbon topology to match high availability scenario requirements (20)

Adjust Carbon Topology to Match High Availability Scenario Requirements
Adjust Carbon Topology to Match High Availability Scenario Requirements   Adjust Carbon Topology to Match High Availability Scenario Requirements
Adjust Carbon Topology to Match High Availability Scenario Requirements
 
Scalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonScalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 Carbon
 
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-12012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-1
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overview
 
Scalable Persistent Message Brokering with WSO2 Message Broker
Scalable Persistent Message Brokering with WSO2 Message BrokerScalable Persistent Message Brokering with WSO2 Message Broker
Scalable Persistent Message Brokering with WSO2 Message Broker
 
Integrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing InfrastructureIntegrating OpenStack To Existing Infrastructure
Integrating OpenStack To Existing Infrastructure
 
Integrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructureIntegrating OpenStack to Existing infrastructure
Integrating OpenStack to Existing infrastructure
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
What is cloud computing
What is cloud computingWhat is cloud computing
What is cloud computing
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
21.10.09 Microsoft Event, Microsoft Presentation
21.10.09 Microsoft Event, Microsoft Presentation21.10.09 Microsoft Event, Microsoft Presentation
21.10.09 Microsoft Event, Microsoft Presentation
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Hyper-V 3.0 Overview
Hyper-V 3.0 OverviewHyper-V 3.0 Overview
Hyper-V 3.0 Overview
 
Tudor Damian - Hyper-V 3.0 overview
Tudor Damian - Hyper-V 3.0 overviewTudor Damian - Hyper-V 3.0 overview
Tudor Damian - Hyper-V 3.0 overview
 
Linuxtag 2012 - OpenNebula
Linuxtag 2012 - OpenNebula  Linuxtag 2012 - OpenNebula
Linuxtag 2012 - OpenNebula
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 

Plus de Afkham Azeez

Microservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangMicroservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangAfkham Azeez
 
WSO2Con USA Microservices Transactions
WSO2Con USA  Microservices TransactionsWSO2Con USA  Microservices Transactions
WSO2Con USA Microservices TransactionsAfkham Azeez
 
Microservices with MSF4J - WSO2 Meetup
Microservices with MSF4J - WSO2 MeetupMicroservices with MSF4J - WSO2 Meetup
Microservices with MSF4J - WSO2 MeetupAfkham Azeez
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsAfkham Azeez
 
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudWSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudAfkham Azeez
 
Unleashing creativity through Arduino
Unleashing creativity through ArduinoUnleashing creativity through Arduino
Unleashing creativity through ArduinoAfkham Azeez
 
Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterAfkham Azeez
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2Afkham Azeez
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerAfkham Azeez
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to StratosAfkham Azeez
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosAfkham Azeez
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformAfkham Azeez
 
WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopAfkham Azeez
 
WSO2 Cloud Middleware
WSO2 Cloud MiddlewareWSO2 Cloud Middleware
WSO2 Cloud MiddlewareAfkham Azeez
 

Plus de Afkham Azeez (17)

SRE & Kubernetes
SRE & KubernetesSRE & Kubernetes
SRE & Kubernetes
 
Microservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLangMicroservices Resiliency with BallerinaLang
Microservices Resiliency with BallerinaLang
 
WSO2Con USA Microservices Transactions
WSO2Con USA  Microservices TransactionsWSO2Con USA  Microservices Transactions
WSO2Con USA Microservices Transactions
 
Microservices with MSF4J - WSO2 Meetup
Microservices with MSF4J - WSO2 MeetupMicroservices with MSF4J - WSO2 Meetup
Microservices with MSF4J - WSO2 Meetup
 
Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable Apps
 
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration CloudWSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
WSO2Con 2013 - The Integration Game Changer: WSO2 Integration Cloud
 
Unleashing creativity through Arduino
Unleashing creativity through ArduinoUnleashing creativity through Arduino
Unleashing creativity through Arduino
 
Wso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-clusterWso2 con raspberry-pi-cluster
Wso2 con raspberry-pi-cluster
 
A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2A multi-tenant architecture for Apache Axis2
A multi-tenant architecture for Apache Axis2
 
Building a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServerBuilding a multi-tenanted Cloud-native AppServer
Building a multi-tenanted Cloud-native AppServer
 
Colombo
ColomboColombo
Colombo
 
Intelli J IDEA
Intelli J IDEAIntelli J IDEA
Intelli J IDEA
 
WSO2con 2011: Introduction to Stratos
WSO2con 2011:  Introduction to StratosWSO2con 2011:  Introduction to Stratos
WSO2con 2011: Introduction to Stratos
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to Stratos
 
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon PlatformWSO2Con 2011: Introduction to the WSO2 Carbon Platform
WSO2Con 2011: Introduction to the WSO2 Carbon Platform
 
WSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September WorkshopWSO2 Stratos 2010 September Workshop
WSO2 Stratos 2010 September Workshop
 
WSO2 Cloud Middleware
WSO2 Cloud MiddlewareWSO2 Cloud Middleware
WSO2 Cloud Middleware
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Adjusting carbon topology to match high availability scenario requirements

  • 1. Adjusting Carbon Topology to Match High Availability Scenario Requirements Afkham Azeez Director of Architecture WSO2 Inc 1
  • 2. About Me • PMC member Apache Axis, Committer Synapse & Web Services • Member, Apache Software Foundation • Co-author, Axis2 Web Services • Director of Architecture, WSO2 Inc • Blog: http://blog.afkham.org • Twitter: afkham_azeez 2
  • 3. Agenda • A brief look at the WSO2 platform • Carbon clustering for availability • Cost of availability & related topologies 3
  • 4. WSO2 Offerings • WSO2 Carbon • Full platform of servers for deployment on-premise, in private or public cloud • Products share a consistent architecture and core platform services (e.g. logging, management, security, identity, caching) through OSGi and the “Carbon Core” • Includes ESB, AppServer, Data Services, Governance, Identity, Business Process, and more • WSO2 Stratos • Platform-as-a-Service (PaaS) Foundation • Supports running servers as elastic, metered, billed, multi-tenant with self-service • Including all Carbon Servers, PHP, Jetty, and a growing list through a standard Cartridge model • WSO2 StratosLive • http://stratoslive.wso2.com • WSO2’s Public PaaS • An instance of Stratos running in the cloud with all Carbon Servers available 4
  • 5. Consistent Architecture • Carbon: A consistent set of class-leading enterprise servers • The same products run either on-premise or in the cloud, single-tenant or multi- tenant • Utilize the same Carbon core runtime for a seamless experience • Stratos: A cloud platform for enterprise, hybrid and public deployment • Extends the deployment to support full self-service, elastic scaling, metering and billing • Supports Carbon and native server runtimes • Including Java and non-Java servers such as Jetty and PHP • Re-uses the same core Carbon architecture to offer core PaaS services including: • Identity, Logging, File, Relational Storage, Column Storage, Code Deployment, etc • Both projects share a common set of OSGi modules and a core runtime architecture 5
  • 8. Availability The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time. Simply put, availability is the proportion of time a system is in a functioning condition. 8
  • 11. High Availability (HA) A system that is designed for continuous operation in the event of a failure of one or more components. However, the system may display some degradation of service, but will continue to perform correctly. The proportion of time during which the service is accessible with reasonable response times should be close to 100%. All single points of failure should be eliminated 11
  • 12. HA, CO & CA • Continuous Operation (CO) • Ability to avoid planned outages. • hardware and software maintenance carried out while applications remains available users. • Continuous Availability (CA) • Combines the characteristics of HA and CO to keep the applications running without any noticeable downtime • Hot update/ graceful round-robin restart 12
  • 13. High Availability Techniques • Redundancy • Time – retransmit • Data – e.g. parity bits • Processing – e.g. redundant nodes • Diversity • e.g. Hybrid deployments, do the same thing using different implementations 13
  • 14. How to decide required availability? • Average throughput (TPS) • Max throughput (TPS) • Monetary value of a transaction • Average loss & max loss per second of downtime • Decide on how much to invest on availability based on cost vs. benefit tradeoff 14
  • 15. Patching Production Deployments Patch Distribution Coordinator 1. Check patch list 2.Pull new patch 3. Push patch 3. Push patch 3. Push patch 3. Push patch 15
  • 16. Patching Production Deployments Patch Distribution Coordinator Round-robin 4. Maintenance mode 5. Graceful restart 16
  • 17. Clustering • Clustering for scalability • Clustering for availability 17
  • 19. Clustering for availability Group Communication Channel/State replication 19
  • 20. Carbon Clustering • Membership types • Static • Dynamic • Hybrid • Membership modes • Multicast • Well-known address 20
  • 21. Static membership • Predefined members • Other (non-predefined) nodes cannot join Static group M1 M2 N M3 M4 21
  • 22. Dynamic membership • No predefined members • Nodes can join & leave Dynamic group M1 M2 N Join M3 M4 22
  • 23. Hybrid membership • Some predefined (well-known) members, and some dynamic members • Nodes can join & leave • Membership revolves around the static members Hybrid group Dynamic members Static members N Join M5 M6 M1 M2 (IP, Port) M7 M3 M4 23
  • 24. Multicast based membership management M4 M1 N Join (IP, Port) M2 M3 24
  • 25. Well-known Address (WKA) based membership management Hybrid group Dynamic members Static members M6 M5 WK1 N WK2 Notify Join (IP, Port) M7 WK3 WK4 25
  • 26. Multicast vs. WKA Multicast WKA All nodes should be in the same subnet Nodes can be in different networks All nodes should be in the same multicast domain No multicasting requirement Multicasting should not be blocked No fixed IP addresses or hosts required At least one well-known IP address or host required Failure of any member does not affect New members can join with some WKA membership discovery nodes down, but not if all WKA nodes are down Does not work on IaaSs such as Amazon IaaS-friendly EC2 Requires keepalived, elastic IPs or some other mechanism for remapping IP addresses of WK members in cases of failure 26
  • 27. Multicast vs. WKA – how to decide? • Multicast • Cluster is going to be setup in a network where multicasting is allowed • WKA • Cloud based deployment • Members are distributed across datacenters & regions • Multicasting blocked 27
  • 28. HTTP Session Replication • catalina-server.xml • <Cluster className="org.wso2.carbon.core.session.CarbonTomcatSimpleTcpCluster"/> • <Valve className="org.wso2.carbon.tomcat.ext.valves.CarbonTomcatSessionReplicationValve"/> • web.xml • <distributable/> 28
  • 29. State Replication JSR-107/JCache A standard Java Caching API for use by developers and a standard SPI ("Service Provider Interface") for use by implementers. import javax.cache.* … CacheManager cacheMgr = Caching.getCacheManager(); Cache<String, Integer> cache =cacheMgr .getCache(cacheName); cache.put(“key”, sampleValue); Integer i = cache.get(“key”); 29
  • 30. State Replication CarbonContext based API Cache cache = CarbonContext.getCurrentContext().getCache(); cache.put(“key”, sampleValue); Integer i = cache.get(“key”); Axis2 Contexts Using Axis2 clustering StateManager – axis2.xml <stateManager class="org.apache.axis2.clustering.state.DefaultStateManager” enable=”true"> 30
  • 31. Elastic Load Balancer 2.0 • New sysadmin-friendly configuration language • High performance PassThrough transport • Tenant-aware load balancing • Ability to dedicate clusters for tenants (private jet mode) • Improved auto-scaler • Separate IaaS-aware Cloud controller takes care of spawning new instances on different IaaSs 31
  • 33. Private Jet mode • Analogy • Economy class • no SLA management, only elasticity • Business class • elasticity plus SLA guarantees • Private Jet • Guaranteed isolated VMs or machines for a specific tenant • Still elastically scaled
  • 35. Topologies • Single node • Multi-node with LB • Multi-node with elasticity using ELB • Management & worker node separated • Multi-zone or multi-datacenter deployment • Multi-region 35
  • 36. Single node HIGHEST Availability Cost LOWEST 36
  • 37. Primary-secondary HIGHEST Availability Cost LOWEST Primary Secondary 37
  • 38. Primary-secondary, multiple LB HIGHEST keepalived Availability Cost LOWEST Primary Secondary 38
  • 39. Active cluster, multiple LB HIGHEST keepalived Availability Cost LOWEST Active Active Active 39
  • 40. Management & Worker Node Separation • 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. • Isolation of failures 40
  • 41. Management & Worker Node Separation HIGHEST Availability Cost LOWEST 41
  • 44. Multi-zone or multi-datacenter Deployment HIGHEST Cloud Controller Zone 1 Zone 2 Availability Region X Cost LOWEST 44
  • 45. Multi-region deployment HIGHEST Zone 1 Zone 2 Region X Zone 1 Availability Zone 2 Cost LOWEST Region Y 45
  • 46. Multi-IaaS Deployment Cloud Controller 46
  • 47. Multiple IaaS (hybrid) Deployment HIGHEST Zone 1 Private cloud (data center) Zone 2 Zone 1 Zone 2 Amazon EC2 Zone 1 Availability Cost Zone 2 LOWEST Rackspace Cloud 47
  • 48. Single Node Primary-Secondary, single LB Primary-Secondary, with multiple LBs Multi-node active cluster - Single zone Cost of Availability Multi-zone Multi-region Multi-IaaS 48
  • 49. HA for the Load Balancer • Load balancer cluster • Keepalived • Elastic IP address • Round Robin DNS 49
  • 50. Monitoring Servers • Monit • Automatically provide alerts & restart processes when monitored items (e.g. latency) fall below certain thresholds. • New Relic • Nagios 50
  • 51. References Information on tenant-aware load balancing http://sanjeewamalalgoda.blogspot.com/2012/03/tenant-aware-load-balancer-is-upcoming.html http://sanjeewamalalgoda.blogspot.com/2012/05/tenant-aware-load-balancer.html Scaling Stratos http://srinathsview.blogspot.com/2012/06/scaling-wso2-stratos.html http://blog.afkham.org/2011/09/how-to-setup-wso2-elastic-load-balancer.html http://blog.afkham.org/2011/09/wso2-load-balancer-how-it-works.html 51
  • 52. Auto-scaler service deployment http://nirmalfdo.blogspot.com/2012/07/autoscaler-service-deployment.html Auto-scaler service http://nirmalfdo.blogspot.com/2012/07/wso2-autoscaler-service-part-i.html Automatic failover for WSO2 ELB http://gonesimple.org/2012/09/24/automatic-fail-over-for-wso2-elb/ 52
  • 53. Questions? http://www.flickr.com/photos/oberazzi/ 53

Notes de l'éditeur

  1. Fox Mobile who ran for two years with zero downtime and multiple updates including a hardware refresh.
  2. Membership modes – multicast &amp; wkaA look at the cluster configuration
  3. Availability Zones are distinct locations that are engineered to be insulated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other Availability Zones in the same Region. By launching instances in separate Availability Zones, you can protect your applications from failure of a single location. Regions consist of one or more Availability Zones, are geographically dispersed, and will be in separate geographic areas or countries. The Amazon EC2 Service Level Agreement commitment is 99.95% availability for each Amazon EC2 Region. Amazon EC2 is currently available in three Regions: the US East (Northern Virginia) Region and the US West (Northern California) Region in the United States, and the EU (Ireland) Region in Europe.&quot;