4 Replies Latest reply on Nov 14, 2012 9:37 AM by lzcmail

    Deploy application on the cluster

    lzcmail

      I configured a cluster with 2 nodes: node1 and node2 based on domain. I deployed an  application app_version1 on the cluster on both nodes before.

       

      Now I  have new version app_version2.  If  I want node1 still uses app_version1 and node2 uses app_version2, how can I deploy app_version2?

       

      The reason is I want to test app_version2 on the production environment without affecting current running application app_version1.

       

      Thanks in advance.

        • 1. Re: Deploy application on the cluster
          rhusar

          Well, how about deploying under a different name?

           

          Rado

          1 of 1 people found this helpful
          • 2. Re: Deploy application on the cluster
            lzcmail

            Thanks Rado.

             

            That's an option for single application. We have mutiple applications. Each application assoicates with mutiple applications. If we change the application name, we also need to change dependency as well.

             

            Maybe I have to install the cluster with 2 standalone servers (not domain). At one time only one server supports  production with old version application, another server run the new version application for testing without joining the cluster temporially.

            • 3. Re: Deploy application on the cluster
              rhusar

              Yeah, the suggestion is just a workaround, which I see now it would be painful in your case.

               

              I supposse you want to roll the testing application into production. Let me explain roughly how to roll updates:

               

              1. setup 2 server groups (in domain) each representing a mod_cluster load-balancing group
              2. drain all sessions from one server group / LB group
              3. update application on the drained node (possibly not forming a cluster with the other nodes running old app since the session format might have changed)
              4. now start draining from the other nodes and slowly make new connections start using the updated app
              5. once drained update the other nodes, bring them back in

               

              Now you have updated your cluster with zero down-time for users.

               

              HTH,

              Rado

              • 4. Re: Deploy application on the cluster
                lzcmail

                Thanks a lot for your quick response, Rado.  Could you give me more details? Please see below.

                 

                >1.setup 2 server groups (in domain) each representing a mod_cluster load-balancing group

                      

                   Create 2 server group:

                   group1 with 2 nodes  (node11 and node12) for  application_version1

                   group2 with 2 nodes (node21 and node22) for application_version2

                 

                > 2. drain all sessions from one server group / LB group

                 

                    I guess  use group1 to handle user request with old application (application_version1)

                     

                 

                >3. update application on the drained node (possibly not forming a cluster with the other nodes running old app since the session format might have changed)

                  

                    I guess update application on group2

                   

                 

                >4.now start draining from the other nodes and slowly make new connections start using the updated app

                You mean both group1 and group2 runing. Group1 is for application_version1. Group2 is for application_version2.

                 

                >5.once drained update the other nodes, bring them back in

                Stop group1. Only keep group2.

                 

                If that is the case, should I use different port offset for the node21 and node 22 on group2?