Multi-tenancy allows a single instance of software to serve multiple customers. It is an architecture where a single instance of the software runs on a server and serves multiple tenants. This allows for efficient use of computing resources and reduces maintenance costs as updates only need to be applied to a single code base.