Linux containers are a fantastic development tool and ready for production prime time. BSD has long had really good jails and having implemented this now for (development) purposes for cnx.org I can recommend them.
If you plan on separating your app and database servers to different machines, doing so from the start may be a clever idea.
I think their great use is because they are soooo sim ple to create a new "host" one is willing to use configurations of servers, develop onto clusters early and so find the problems early
I would credit virtualisation with the rise of devops - seriously