A multi-tenant architecture allows Apache Axis2 to support multiple tenants. Axis2 uses contexts, descriptions, and a modular architecture to enable composability and isolate tenants. Tenants get their own classloaders to isolate services and modules. This allows different tenants to use different versions of libraries and modules.