Methods, systems, and apparatus, including computer programs encoded on computer storage media, for upgrading a software platform. One of the methods includes receiving, by a platform orchestrator, a request to upgrade computing resources of a software platform launched by the platform orchestrator, wherein a workload having multiple different software tasks is executing on multiple nodes of the software platform launched by the platform orchestrator; obtaining, by the platform orchestrator, a workload specification that specifies an upgrade ordering among multiple groups of the multiple software tasks executing on the software platform; and upgrading, by the platform orchestrator, all platform nodes that execute one or more software tasks in a first group of the multiple groups of software tasks before upgrading platform nodes that execute one or more software tasks in a second group of the multiple groups of software tasks, according to the upgrade ordering specified in the workload specification.
展开▼