After years of crafting websites using the Drupal content management framework, several recurring problems became apparent. It could take days to assemble all of the tools necessary to begin working on a project, which likely did not even mirror where the application would ultimately live. Misconfigurations could cause days worth of setbacks. Experimentation with configuration settings could be catastrophic. "It works on my machine" became a common lament between developers, with identical code producing wildly different results.
Good code works because it is robust, expressive, and repeatable. So, I asked the question: What if our tools shared these same traits, too?
Named after a water spirit, Undine is a cross-platform development environment for Drupalistas, and was designed to be a force of nature from the start. Built on Docker's containerization technology, the language for putting together an environment was entirely repeatable, and designed to mirror a popular cloud hosting provider. What's more, Undine is every bit as extensible as an actual Linux-based Web server, making it possible to integrate virtually any tool a developer could need.
With everyone running the exact same environment, developers can spend less time assembling and fighting their tools, and more time building beautiful websites.
The first version of Undine was released and presented during the first Drupal in Education Summit at Drupalcon Austin in 2014. It has since been integrated into the workflow at Stevens Institute of Technology, and provides the backbone for its automated testing suite. It was estimated to make the setup of a local development environment five times faster than before.
Undine is now minimally maintained, though it continues to help others develop better Drupal websites, faster.
Originally built to reduce reliance on self-crafted local development environments, Undine now powers the automated testing suite at Stevens Institute of Technology, leading to a host of other improvements.