1. A method for managing networks and machines for an online service, comprising: receiving and processing requests at a central service to perform tasks in an online service comprising different networks; wherein each of the requests that are received relate to at least one of: configuring, updating and managing machines in at least one of the different networks that are used in providing the online service; wherein the requests are received through an idempotent and asynchronous application programming interface (API) such that duplicate requests to the central service result in a same result and wherein the central service continues receiving and processing the requests during an upgrade to a database that is used by the central service to process the requests and perform the tasks; and processing each of the received requests by performing actions, comprising: updating the database with one or more values relating to the task, wherein the one or more values are a desired state of the task; adding a job to a job queue for performing the task; and executing the task, wherein executing the task comprises a process that is assigned to execute the task and access the one or more values relating to the task from the database to determine the desired state of the task.