Vagrant Usage Research 2017

In 2014, right before the release of Vagrant Cookbook, I conducted a Vagrant usage research to get more insights on how people were using Vagrant at that time. Three years have passed since then, and I figured it would be interesting to repeat the research and compare the data, see what changed and how Vagrant is being used nowadays. In 2014, right before the release of Vagrant Cookbook, I conducted a Vagrant usage research to get more insights on how people were using Vagrant at that time. Three years have passed since then, and I figured it would be interesting…
View Post

OpsFirst: turning ops into a first-class citizen in your development process

We finally have the tools and the processing power to create real isolated environments that can be used seamlessly as day-to-day development envs. Nevertheless, some people still prefer to stick with older methods, for various reasons. Usually, the excuse is that it’s a lot of work – having to setup and automate an environment (a VM for instance) just to start developing the application, without even knowing for sure what kind of dependencies the app will need in the nearby future – and nobody has time for that. If you think that way, this post is for you. In the last 10 years,…
View Post

Configuring a multistage environment with Ansible and Vagrant

Ansible is a powerful and clean tool for automation. This post covers the configuration of a multistaging environment, consisting of one local development environment controlled by Vagrant, and one or more remote servers (staging, production etc) that will be controlled directly by Ansible, reusing a pre-existent development environment provisioning. These instructions cover the server and control machine configuration needed to run Ansible in a multistage environment, using Vagrant for controlling a local dev VM and one or more (production, staging) remote servers that will be controlled via Ansible. This way you can reuse most part of your Vagrant provisioning to create a powerful…
View Post

What’s new on Vagrant 1.5

Vagrant 1.5 was released in March, bringing great new features and a lot of improvements. This post gives you a quick overview on what’s new, including a video where I talk about the Vagrant Cloud and Vagrant Share, the two most anticipated new features on 1.5. Vagrant 1.5 was released in March, bringing great new features and a lot of improvements. This post gives you a quick overview on what’s new. Vagrant Cloud and Vagrant Share The first and most important new feature on Vagrant 1.5 is the Vagrant Cloud. Now, we have a central and official place to share and discover…
View Post

Vagrant Usage Research

From 11 to 14 of January, 720 Vagrant users from different sources (Twitter, IRC and the official Vagrant mailing list) answered a quick form I created to find out how people are using Vagrant. I’m currently in the process of writing a LeanPub book about this tool, and I was really curious especially about the provisioners usage. First of all, THANKS everybody for the amazing participation – I never got so many retweets before! A special thanks to Mitchell Hashimoto (Vagrant creator) for tweeting about the research, that was of great help. ~AND NOW~ [dramatic pause] I’m glad to present you the…
View Post

Vagrant 101 – montando seu ambiente de desenvolvimento portátil, parte 1

Que atire a primeira pedra quem nunca usou a desculpa “funciona na minha máquina”. Muitas vezes nem lembramos que pacotes temos instalados no nosso ambiente de desenvolvimento, é bastante comum que tudo funcione perfeito na nossa máquina e quando fazemos deploy, BOOM… E quando surge um projeto novo, que vai usar bibliotecas super específicas ? Não bate um frio na barriga ao sair instalando um monte de coisas que você provavelmente não vai usar no futuro? Sem contar projetos legados, usando versões antigas do PHP – um simples pequeno bugfix pode se tornar uma dor de cabeça enorme. O Vagrant…
View Post

Optimizing Symfony applications on Vagrant boxes

Vagrant is an amazing tool for building development environments, and if you are not very familiar with it yet, I suggest you read my last 3 posts, which will guide you well into the Vagrant world. A few months after I started playing around with Vagrant and Puppet, with smaller applications, I had the task to create a box for a Symfony app for the first time. I thought “all right, no problema! this will be a piece of cake, I already know the process, I just need to put it on puppet”. And of course I was wrong. The…
View Post

A beginners guide to Vagrant and Puppet, part 3 – facts, conditionals and modules

Finishing this guide to Vagrant and Puppet, I would like to show some advanced Puppet resources. As I said before, Puppet is really powerful and extensive – I’m covering just the main concepts so you can have a good starting point for creating your Vagrant boxes. If you didn’t see the previous 2 posts, I strongly recommend you to read them. Here they are: Part 1 (Vagrant basics) and Part 2 (provisioning and Puppet) . Facts In the previous part of this guide, we saw a simple example of a Puppet class to install Apache. We saw that we can…
View Post

A beginners guide to Vagrant, part 2 – Provisioning and Puppet

In the first part of this begginer’s guide to Vagrant, we found out how to install Vagrant and get a really basic Ubuntu box up and running. But we need something more: we need to properly set up our development environment, in a fully automated way. It’s time to use provisioners to help us with these tasks. For a better understanding of how provisioners work, lets start using a very basic shell script as a provisioner. Provisioning with Shell The shell provisioner allows you to execute a shell script inside the vagrant box, as root. Lets use this really simple…
View Post