A few years ago, while working on some new projects I utilized the local server setup that is “included” on MacOS.
While the local setup provides a responsive server environment, it lacked the ease of transition from machine to machine, or from person to person on our team. It essentially made our web development crew responsible for maintaining their own server environments, and created havoc when versions jumped out of whack.
Homebrew made things easier, as did our Grunt setup, but with new computers coming for most of our web crew, it was time to make a change.
In comes Docker…
So as I began this journey, just a few short weeks before jumping into paternity leave, I started researching and experimenting with Docker. And while it definitely would fit our environment, I found it cumbersome. I’m either not smart enough or not patient enough to have figured out the way I was supposed to compose our environment settings.
Believe me, Docker seems like a great tool, but it wasn’t quite what we needed to get our local development environments up and running. For our crew, it just didn’t quite fit the bill.
Lando to the Rescue
So after failing to comprehend what to do with Docker, I reached out to the awesome folks at HEWEB. There’s always someone that’s “been there; done that.”
Thanks to Mike from Adams State, he pointed me Lando. Lando is perfectly designed for local development, which is all we needed.
We can write our .lando.yml
configuration, drop our code in a repo and be up and
running in no time.
On the most basic side, we can have a new “server” up and running in 5 minutes or less.
While it took a bit longer to build our main web-app environment, we’re able to have every developer (student or professional) up and running in the environment very quickly.
Looking forward
So far, we’re happy with the way our development environment is going, and I like not having a bogged down machine with ColdFusion and PHP running locally. Instead, I use Lando as a cover for all of the containers running in the background happily managing independent environments for each of our web project needs.