This document discusses building multi-tenant enterprise applications using a domain-driven design approach. It covers micro-services architecture, domain-driven design, multi-tenancy, and DevOps. The document discusses the need for subscription-based software as a service applications to support multiple tenants. It then covers challenges around continuous delivery, managing single points of failure, scalability, and platforms that can help address these challenges like API gateways and PaaS solutions. The document argues that a micro-services architecture can help address these issues through separation of concerns, parallel development, and easier outsourcing of services.