Updating nodes considering service model constraints
First Claim
1. One or more computer storage media having computer-executable instructions embodied thereon that, when executed, perform a method for updating one or more nodes of a data center in compliance with service models of service applications running within the data center of a distributed computing platform, the method comprising:
- providing a group of nodes that are preselected for receiving an update, wherein a node represents a virtual or hardware machine host on which one or more tenants are running for implementing a service application managed, in part, by the data center;
identifying a first node as a candidate for joining the group of nodes;
determining whether the first node qualifies as an independent node with respect to members of the group of nodes by performing a comparison process comprising;
(a) determining whether one or more tenants hosted by the first node correspond to tenants hosted by the members of the group of nodes, wherein one or more of the members of the group of nodes each host a plurality of tenants belonging to a plurality of service applications, respectively, and wherein the tenants comprise instances of roles that each represent respective component programs for carrying out particular functional aspects of the service application;
(b) when the one or more tenants hosted by the first node correspond to any of the tenants within the group of nodes, comparing update domains assigned to the corresponding tenants against update domains assigned to the one or more hosted tenants, wherein an update domain represents a percentage of instances of a particular role of a service application that are allowed to be concurrently offline, wherein the percentage of the role instances is determined, in part, by a service model established for the service application; and
(c) when the update domains of the corresponding tenants match the update domains assigned to the one or more hosted tenants, allowing the first node to join the group of nodes;
upon determining that the first node qualifies as an independent node, joining the first node to the group of nodes; and
upon determining that the first node qualifies as an independent node, writing to a storage location an indicia that the first node is joined as a member of the group of nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable media for deploying an update to nodes propagated throughout a data center are provided. Launching new upgrade to hosting environment residing on the nodes typically invokes a mechanism (e.g., fabric controller) to form a group of nodes that are independent of one another with respect to upgrade domains, which are assigned to tenants (e.g., program components of service applications running within the data center) presently hosted by the nodes. The constraints of the update domains are articulated by service level agreements established for the service applications, respectively. Forming the group involves identifying independent nodes for membership, where no two members of the group host analogous tenants (belonging to a common service application) that are assigned to distinct update domains. However, it is acceptable to join to the group those nodes hosting analogous tenants that are each assigned to the same update domain.
-
Citations
14 Claims
-
1. One or more computer storage media having computer-executable instructions embodied thereon that, when executed, perform a method for updating one or more nodes of a data center in compliance with service models of service applications running within the data center of a distributed computing platform, the method comprising:
-
providing a group of nodes that are preselected for receiving an update, wherein a node represents a virtual or hardware machine host on which one or more tenants are running for implementing a service application managed, in part, by the data center; identifying a first node as a candidate for joining the group of nodes; determining whether the first node qualifies as an independent node with respect to members of the group of nodes by performing a comparison process comprising; (a) determining whether one or more tenants hosted by the first node correspond to tenants hosted by the members of the group of nodes, wherein one or more of the members of the group of nodes each host a plurality of tenants belonging to a plurality of service applications, respectively, and wherein the tenants comprise instances of roles that each represent respective component programs for carrying out particular functional aspects of the service application; (b) when the one or more tenants hosted by the first node correspond to any of the tenants within the group of nodes, comparing update domains assigned to the corresponding tenants against update domains assigned to the one or more hosted tenants, wherein an update domain represents a percentage of instances of a particular role of a service application that are allowed to be concurrently offline, wherein the percentage of the role instances is determined, in part, by a service model established for the service application; and (c) when the update domains of the corresponding tenants match the update domains assigned to the one or more hosted tenants, allowing the first node to join the group of nodes; upon determining that the first node qualifies as an independent node, joining the first node to the group of nodes; and upon determining that the first node qualifies as an independent node, writing to a storage location an indicia that the first node is joined as a member of the group of nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system for performing a method that comprehensively updates nodes of a data center with consideration of both service models established for customers of the data center and pending localized comprehensive updates of service applications owned by the customers of a distributed computing platform, the computer system comprising a processing unit coupled to a computer storage medium, the computer storage medium having stored thereon a plurality of computer software components executable by the processing unit, the computer software components comprising:
-
a fabric controller for initiating the comprehensive update to the nodes of the data center, wherein the comprehensive update concurrently affects a group of nodes that are determined to be independent of one another, wherein a node represents a virtual or hardware machine host on which one or more tenants are running for implementing at least one of the service applications managed, in part, by the data center, and wherein the determination of independence involves a comparison process comprising; (a) maintaining a listing of tenants hosted by members of the group of nodes, wherein the tenants comprise instances of roles that each represent respective component programs for carrying out particular functional aspects of the service applications; (b) mapping an indication of update domains assigned to the tenants, respectively, within the listing, wherein each of the update domains represents a percentage of instances of the particular role of the particular service application that are allowed to be concurrently offline, as dictated by a service model established for the particular service application; (c) disallowing a subject node to join the group of nodes upon determining that the subject node hosts one or more tenants that correspond to at least one of the tenants enumerated by the listing and that the one or more subject-node tenants are assigned an update domain that are distinct from the update domain mapped to the at least one corresponding tenant of the listing; and (d) allowing the subject node to join the group of nodes upon determining that the subject node hosts one or more tenants that correspond to at least one of the tenants enumerated by the listing and that the one or more subject-node tenants are assigned an update domain that is indistinct from the update domain mapped to the corresponding tenants of the listing; and a synchronization mechanism that ensures the service model is not violated by performing a synchronization process comprising; (e) identifying that a localized update is pending for the particular service application; and (f) appending as entries to the listing indications of update domains assigned to tenants of the particular service application, thereby abstaining from joining nodes hosting the tenants of the particular service application to the group of nodes designated to receive the comprehensive update.
-
Specification