How would you migrate a legacy monolithic application into a modern microservices or cloud-based architecture with zero downtime?