1. A computer-implemented method to individually upgrade a tenant in a multi-tenancy computing environment to a new version of a software, the method comprising: starting, using one or more processors, a tenant at a source computing system that implements a version of the software, the source computing system comprising a database including client dependent tables, client independent repository tables, and client independent non-repository tables; receiving, using the one or more processors, in response to a change of the version of the software, a request for the upgrade of the tenant; stopping, using the one or more processors and in response to the received request, the tenant at the source computing system; moving, using the one or more processors, the tenant from the source computing system to a target computing system that implements a newer version of the software, the moving of the tenant comprising a first movement of tenant specific data stored in the client dependent tables, a second movement of tenant specific data extracted from the client independent repository tables, and a third movement of tenant specific data extracted from the client independent non-repository tables, the first movement, the second movement, and the third movement being separate from each other, the second movement and the third movement of tenant specific data being enabled by application exits that are used to extract the tenant specific data from the client independent repository tables and the client independent non-repository tables, the application exits being software routines implemented at pre-defined phases of the moving of the tenant; and starting, using the one or more processors, the moved tenant at the target computing system.