Local development of any web application can be complex, especially if the developer works on several projects at the same time. To make it easier for developers to get up-and-running with a standardized Magento installation on their local machine, Magento has released Magento DevBox Beta, a Docker-based tool for local Magento development.
If you’re not familiar with Docker, it’s a lightweight alternative to virtual machines. Each Docker container is a complete isolated server environment with its own filesystem, libraries, and applications, but sharing the kernel of the host operating system (or in the case of non-Linux machines, a lightweight virtual machine running on the host).
Containers are very fast to start and consume fewer of the host machine’s resources, making them the perfect option for building replicable, isolated development environments that can be shared.
The benefits of using a tool like Magento DevBox instead of installing Magento onto the developer’s laptop include:
- Fast creation of a development environment that doesn’t interfere with the developer’s local environment, something that can be a real headache when you need to install different versions of libraries than those the host system relies on.
- A consistent and easily replicated development environment that can be shared between everyone working on a project. This is a big win for teams working on a Magento site. Every developer can have exactly the same development environment, avoiding all the “but it works on my laptop!” problems.
- Everything the developer needs, installed in seconds. That includes Magento itself, the web server, database, Redis, Varnish, Elastic search, RabbitMQ, and everything else that might be needed by a project. Because the containers are entirely self-contained, developers are free to choose which versions they install.
DevBox configuration is handled via a web interface. Developers choose the mix of settings they want and the result is a zipped file that can be used to launch a local Magento environment. The project source files — everything needed to recreate the site in testing and production — are kept outside of the container on the local file system.
Although there are already plenty of tools that achieve more-or-less the same thing as Magento DevBox, its introduction is a positive move for the Magento developer community. As Magento grows more complex, significant amounts of developer time are wasted creating and maintaining local development environments. DevBox is built by the people who know Magento best and will be promptly updated as Magento development continues.
It’s worth stressing that Magento DevBox is still in beta, although I experienced no problems with it. If you’re a Magento developer, or anyone interested in having a Magento installation to play with on your local machine, Magento DevBox is definitely worth a look.