The Axosoft application was built using a database per tenant architecture. One of the more impactful things I designed and implemented was an automated upgrade testing process that would verify whether an application upgrade would succeed across all customer databases, by running the upgrade against a backup of each database. This helped avoid friction in the production upgrade deployment, which would often fail on a subset of databases.