This document discusses how Docker containerization was leveraged to power a large-scale, globally available Software as a Service (SaaS) platform serving over 3000 developers from over 125 countries. Some key points:
1) Docker provided process isolation, CPU/memory partitioning, volume partitioning, and file sharing which optimized resource utilization and allowed high density deployment of containers hosting user applications and data.
2) A container allocation strategy using Docker allowed new users to quickly obtain isolated environments while existing inactive users' containers were passivated to disk for later reactivation, improving efficiency.
3) Automated passivation and reactivation handled inactive users by hibernating their containers and restoring from disk on next request, while