Multi-tenancy (MT) is a key attribute of many cloud systems. In particular it is a strong component of Software-as-a-Service (SaaS). A Platform-as-a-Service (PaaS) that offers multi-tenancy is an important approach for creating SaaS applications. This session will look at ways of implementing MT and how it can be used to create SaaS applications. Implementing multi-tenancy involves a lot of tricky issues - including data isolation, prevention of DoS attacks (either intentional or not), memory control, CPU control, thread management, security issues, provisioning and more. Using the Open Source Stratos project as an example, this session will dig into ways of solving these problems and implementing MT, both within the JVM as well as using lightweight containers in Linux (LXC) to provide isolation. The session is aimed at developers looking to use or implement multi-tenancy, as well as architects who want to understand the trade-offs and runtime characteristics of various MT approaches.