What is multitenancy?

In its simplest form, multitenancy is a way of structuring a piece of software so that a single instance, or installation, runs as if it were multiple instances or installations.

There are many ways to go about achieving multitenancy, but there are some core archetypes, each with their own variations and options, that make multitenancy a broader spectrum.