Provisioning and managing a cluster deployed on a cloud
First Claim
1. A computer-implemented method comprising:
- detecting, at a computer, that a clustered computing application has been launched on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service, the clustered computing application comprising;
a load balancing tier comprising a load balancer executing on a first node in the cluster,an application tier comprising an application server executing on a second node in the cluster, anda database tier comprising a database server executing on a third node in the cluster;
monitoring status of the nodes in the cluster to detect availability of the database server within the virtualization service;
in response to the detecting availability of the database server, issuing a notification message addressed to the second node executing the application server, the notification message including information for connecting to the database server and information for discovering nodes in the cluster;
in response to detecting that all nodes in the application tier and the database tier have started configuring the load balancer, the load balancer to deliver messages to the second node executing the application server;
detecting a request to change a size of the cluster; and
performing the change in response to the request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system is provided to provision and manage cloud-based clustered application deployment. In one example embodiment, a cloud-based clustered application deployment uses a three tier topology that includes a load balancing tier, an application tier, and a database tier. Each tier comprises a set of nodes, where each node is implemented using a virtual instance of a machine running within a public virtualization space, such as, e.g., the virtualization space provided by Amazon'"'"'s Elastic Compute Cloud (EC2) service. A controller is provided to enforce sequential start sequence of a cluster using an asynchronous messaging system that provides notifications to cluster nodes as the individual nodes of the cluster become available. This messaging system is also used when the size of the cluster is increased or decreased.
77 Citations
19 Claims
-
1. A computer-implemented method comprising:
-
detecting, at a computer, that a clustered computing application has been launched on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service, the clustered computing application comprising; a load balancing tier comprising a load balancer executing on a first node in the cluster, an application tier comprising an application server executing on a second node in the cluster, and a database tier comprising a database server executing on a third node in the cluster; monitoring status of the nodes in the cluster to detect availability of the database server within the virtualization service; in response to the detecting availability of the database server, issuing a notification message addressed to the second node executing the application server, the notification message including information for connecting to the database server and information for discovering nodes in the cluster; in response to detecting that all nodes in the application tier and the database tier have started configuring the load balancer, the load balancer to deliver messages to the second node executing the application server; detecting a request to change a size of the cluster; and performing the change in response to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented system comprising:
-
a cluster launch detector to detect that a clustered computing application has been launched on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service, the clustered computing application comprising; a load balancing tier comprising a load balancer executing on a first node in the cluster, an application tier comprising an application server executing on a second node in the cluster, and a database tier comprising a database server executing on a third node in the cluster; a cluster status monitor to monitor status of the nodes in the cluster to detect availability of the database server within the virtualization service; a publishing module to issue, in response to the detecting availability of the database server, a notification message addressed to the second node executing the application server, the notification message including information for connecting to the database server and information for discovering nodes in the cluster; a configuration module to configure the load balancer, the load balancer to deliver messages to the second node executing the application server; and a cluster manager to; detect a request to change a size of the cluster, and perform the change in response to the request. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A tangible machine-readable storage medium in communication with at least one processor, the tangible machine-readable storage medium having instructions which when executed by the at least one processor, data to cause a machine to perform operations comprising:
-
detecting that a clustered computing application has been launched on a cluster of nodes, each node in the cluster being a virtual instance of a machine within a virtualization service, the clustered computing application comprising; a load balancing tier comprising a load balancer executing on a first node in file cluster, an application tier comprising an application server executing on a second node in the cluster, and a database tier comprising a database server executing on a third node in the cluster; automatically determining, using a rules engine, that a new node is to be added to the cluster, the new node to execute the application server; causing a new virtual instance of a machine to be started, the new instance executing the application server; issuing, in response to detecting availability of the new node, a notification message addressed to the new node executing the application server, the notification message including information for connecting to the database server and information for discovering nodes in the cluster; and configuring the load balancer, the load balancer to deliver messages to the application server.
-
Specification