1. Virtualisation

Virtualisation

Introduction

Cloud instances can be created from a CHEF script, this same script can be used to create Vagrant / VirtualBox VMs that can be used directly on the developers machine.

This creates a system where each developer is working independently and possibly remotely on a system that is identical to the production machines.

Vagrant

Vagrant utilises VirtualBox to create VMs from a script. Utilising Chef Solo we can automate the installation and running of a wide range of scenarios.

Vagrant can be used to bring up several VMs on the local machines to replicate the full production infrastructure.

To power off a started vagrant machine that is perhaps in error

VBoxManage controlvm VMNAME poweroff

Installation

Download Box

$ sudo vagrant box add Precise64 http://files.vagrantup.com/precise64.box

Use the below to cache certain downloads Vagrant will make when preparing a box.

Cache Downloads

Elastic Search

Location on production server

~/software/elasticsearch

Scripting

Chef Resources

Cookbooks

Would be nice to document also what version of each software the above cookbooks will install.

Connecting to DB

mysql -uroot -ppassword

Provide details on client connection

Todo

  • Check out Berk Shelf more
  • MySQL My.conf in build folder
  • Sort out nginx conf
  • Elastic Search conf
  • PHP Conf
  • Check out the installation of a chef server - maybe cookbooks remain up to date then