1. A computer-implemented method of automatically upgrading a computing environment system, comprising: determining, by one or more hardware processors, a candidate timeframe that requires a least number of compute nodes for supporting an overall service performance, the determining the candidate timeframe comprising determining which applications, virtual machines and containers are active and which are passive in a high availability cluster at different times; for the candidate timeframe, determining by one or more of the hardware processors, number of requests the compute nodes are processing during the candidate timeframe; storing by one or more of the hardware processors, identifiers of the compute nodes in a queue on a memory device in an order of least number of requests the compute nodes are processing during the candidate timeframe; selecting by one or more of the hardware processors, the compute nodes from the queue that are available to upgrade in the order of the least number of requests; and upgrading by one or more of the hardware processors, the compute nodes until the candidate timeframe expires, wherein the least number of nodes is determined based on user supplied hints comprising affinity of the entities, anti-affinity of the entities, and whether the entities are co-located or spread across the compute nodes.