Containers are an abstraction and isolation technology used by developers to package an application, and all the files needed to run it, in a way that isolates the application from the underlying host operating system (OS). Developers and operations teams can then move the containerized application among different environments—such as development, test and production—while retaining the application’s full functionality. Containerized applications are more lightweight than those developed using traditional approaches, which means applications are easier to update and move. All of these advantages help improve the time and efficiency of application development, delivery and deployment.
The popularity of containers has been driven by some key megatrends in enterprise IT: