Containers provide a lightweight way to package applications and their dependencies to ensure software is portable and can run consistently across any infrastructure. Containers share the host operating system kernel and require less overhead than virtual machines. This allows more containers to run on the same server and drives higher efficiencies. Containers also offer benefits like portability, fault isolation, ease of management and security. The abstraction from the host OS makes containerized applications portable across any platform or cloud.