Ivan is Project Delivery Lead of the Sofia team of Virtual Affairs. He loves to embrace challenges and share his developer adventures.
By Ivan Nikolov
Containers are getting more and more popular over the last several years because of the benefits they bring for developing and deploying applications. A container is an isolated unit of software running on top of an operating system that packages up code and all dependencies of an application. That way the application can run quickly and reliably on different environments. Containers have the following benefits:
They allow for a consistent and rapid development environment
Setting up the development environment sometimes can take quite some time. It can be a boring activity for the developer. Having containers in place makes sure this task is fast, easy. Because it’s completely automated, the process is also more reliable.
It increases compatibility and maintainability
We’ve all heard the phrase “it works on my machine” when investigating a production incident. Having all application dependencies in the container itself makes sure no additional software is installed locally in order for the application to run. This eliminates the issue of having different versions between development, test and production environments.
Continuous deployment and testing
Containers ensure that applications can run in consistent environments from development to production. All application configurations and dependencies are maintained within the container. This allows for the same container to be used for different deployment environments.
Simplicity and faster configurations
Containers simplify application setup and development. Users can grab the predefined image, make their own configuration and deploy it to a specific environment. The infrastructure requirements are no longer linked to the environment of the application.
Want to read the full blog with code examples and a step-by-step guideline to changing an Umbraco site to a Docker container version? Go to Ivan's private blog.