Creating VM
New machine with new virtual disk
Install OS
Install Guest Additions
Configure shares
Install Apache, PHP, MySQL
Done :)
Slide 13
Slide 13 text
Disadvantages
More steps to reproduce
Uses more resources
Slower (sometimes)
Usually is copied between projects
Not easy to distribute
Slide 14
Slide 14 text
What have we got?
Fast, easy, comfortable environment,
similar to production and flexible.
What if it would be easier to distribute?
Slide 15
Slide 15 text
Vagrant
Software for creating and configuring virtual
development environments.
Slide 16
Slide 16 text
What is it?
Console tool
Written in Ruby
With integrated VirtualBox integration
Vmware integration (via plugin)
Cloud integration (via plugins)
Slide 17
Slide 17 text
Advantages
Automated environment distribution
Ready to use templates in the internet
Environment setup is code
Easier to manage several projects
Easier to create complex environment
Slide 18
Slide 18 text
How it works?
It uses Baseboxes
to create Virtual Machines
via configuration in Vagrantfile
What have we got?
Fast, easy, comfortable environment,
similar to production and flexible.
Easy to distribute, with configuration
as a code.
What if it would be easier to manage cookbook dependencies?
Slide 30
Slide 30 text
Librarian Chef
Framework for writing bundlers, which are tools
that resolve, fetch, install, and isolate a project's
dependencies.
Slide 31
Slide 31 text
Librarian Chef
Bundler for Chef-based infrastructure repositories.
Slide 32
Slide 32 text
Advantages
No need to maintain third party cookbooks
No need to know have all the dependencies
Slide 33
Slide 33 text
How it works?
It becomes source of public cookbooks
Custom cookbooks goes to “site-cookbooks”
Configuration in Cheffile
Lock in Cheffile.lock
What have we got?
Fast, easy, comfortable environment,
similar to production and flexible.
Easy to distribute, with configuration
as a code.
With cookbook dependency management.
What if I wouldn’t need to rely on unknown baseboxes?
Slide 37
Slide 37 text
Veewee
Tool for easily (and repeatedly) building virtual
machine images.
Slide 38
Slide 38 text
Advantages
VM creation via code
No need to rely on baseboxes from the Internet
Custom baseboxes
Slide 39
Slide 39 text
How it works?
VM for KVM, Parallels, Virtualbox.
Using Templates
and Definitions.
Builds
and Validates.
can Export.
What have we got?
Fast, easy, comfortable environment,
similar to production and flexible.
Easy to distribute, with configuration as a code.
With cookbook dependency management,
custom built baseboxes.
What if deployment would be more reliable too?
Slide 50
Slide 50 text
Chef Server
A systems and cloud infrastructure automation
framework, no matter the size of infrastructure.
Slide 51
Slide 51 text
Organization
One or more dev workstation
Single chef server
Many nodes
Slide 52
Slide 52 text
Workstation
Communicates with Chef Server
Knife
Recipe synchronization
Organization policy configuration
Slide 53
Slide 53 text
Shef Server
Hub for configuration data
Cookbooks
Policies
Registered nodes metadata
Slide 54
Slide 54 text
Node (Chef Client)
Maintained server
Chef-client for configuring
Ohai for system information
Slide 55
Slide 55 text
Capistrano
Utility and framework for executing commands in
parallel on multiple remote machines, via SSH.
Slide 56
Slide 56 text
What is it?
Console tool
Open Source
Free
Written in Ruby
Slide 57
Slide 57 text
Advantages
Instant deployment to all machines
Versioning of deployments
Fast rollback
Slide 58
Slide 58 text
How it works?
Capfile - definition
Tasks - executes on servers
Servers - 1..N
Roles - may be unique per server
Slide 59
Slide 59 text
Installation
sudo gem install capistrano
Slide 60
Slide 60 text
Commands
capify
cap
cap -vT
cap invoke COMMAND=”echo 'command'” SUDO=1
cap shell
Slide 61
Slide 61 text
What have we got?
Fast, easy, comfortable environment,
similar to production and flexible.
Easy to distribute, with configuration as a code.
With cookbook dependency management,
custom built baseboxes.
Automated deployment of infrastructure and code.
Slide 62
Slide 62 text
Links
Virtualbox
Vagrant
Veewee / Bento
Chef
Librarian
Capistrano
Slide 63
Slide 63 text
Questions?
Artūras Šmorgun
asmorgun@inviqa.com
@asarturas
Slide 64
Slide 64 text
Thank you!
Artūras Šmorgun
asmorgun@inviqa.com
@asarturas