You can find software nearly everywhere in the nowadays business. Who want to be uptodate and a player in the market needs to deliver feature and bug fixes continously. At the same time applications and there required stack (e.g. apache, mysql, elastic, solr, mongo db) is getting more and more complex. In the end this is a huge challenge for the development and operations team.
The developers mostlikely want to use the newest technology to implement cool feature. At the same time, the operations team needs to make sure, that the service is available and reliable. To achieve both is a tough challenge!
The buzzword "DevOps" describes technologies that make the work and interaction between development and operations easier. Vagrant and Chef offer the possibility to define the infrastructure configuration with code. With this pattern you are able to automate a lot of things.
You can find the files for each step of this tutorial on github: