11. A non-transitory machine readable medium having a set of instructions stored therein which when executed cause a machine to perform a set of operations comprising: receiving an updated server software for a first server, the first server sharing resources with server software of a second server; checking an expiration of a statement of compatibility; checking compatibility of the updated server software with the server software of the second server through a statement of compatibility stored in a shared storage module, the statement of compatibility defining sets of compatible versions of server software; selecting automatically one of a parallel update process and a rolling update process to install the updated server software based on the checking of the compatibility, the parallel update process to update the server software of the first server for updated server software that is incompatible with the server software of the second server at a same time the server software of the second server is updated and the rolling update process to update the server software of the first server for updated server software that is compatible with the server software of the second server while the second server is executing the compatible server software; and scheduling automatically the parallel update process in response to the expiration of the statement of compatibility.
14. The non-transitory machine readable medium of claim 11 , having a further set of instructions stored therein which when executed cause a machine to perform a set of operations further comprising: performing a rolling update of all servers being updated to compatible versions based on the statement of compatibility.