Hacker News new | past | comments | ask | show | jobs | submit login

> keeping things synchronised isn't that hard in practice

I disagree, I think how difficult it is to keep things synced varies significantly between users. Sure, its easy if your work is consistent and you're disciplined but if you find yourself switching between very different projects frequently the overhead of syncing machines and setting up software repeatedly can become significant.




> frequently the overhead of syncing machines and setting up software repeatedly can become significant.

It takes some discipline.

I run a small consultancy/agency, in any given week I'm switching between 3-5 projects (and odd bug fixes to others).

I've automated my entire workflow with vagrant and ansible.

I have

    /projects/<client>/<codename>/site (pr /app)
    /projects/<client>/<codename>/vagrant
    /projects/<client>/<codename>/<others>
Each client gets a "team" in bitbucket and orchestration becomes no harder than

git pull && vagrant up.

It works great on projects that have a simple structure (webserver/db) and projects that have complex configurations with ES/Redis as well.

The trick is to always treat configuration as code and never make manual changes to a VM (or more correctly, always make a manual change then a change to configuration code).

As an entirely added side benefit I can pull a project from two years ago down and be up in a fraction of the time without polluting my host OS.

Even when that project is currently on 14.04 with particular weird dependencies (exactly this version of wkhtmltopdf etc).

Longer term I'll probably look at docker or something but vagrant/ansible has worked out great (some projects aren't even using ansible, just a bash script).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: