Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Vagrant

No description
by

John Patrick

on 2 July 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Vagrant

About Me...
Development
Uncontrolled
Online / Offline?

Testing
Semi Controlled
Limited Access

Production
Locked Down
Restricted Access
Enviroments - Dev / Testing / Production
Agile...
???

What do you consider 'An Environment'

???
Environments ???
Vagrant
John Patrick - 2014/07/02
BA

Designer

Developer

DBA

Integation

Tester

Support
Development Team
Example of Large Enviroment
dsa
Coding Java since 1999

Java 'Developer' since 2004

since 2006 ...

Release / Integration /Troubleshooting
Vagrant Commands - Basic
Web Server

Application Server

Database Server

ESB / SOA / Messaging / WS

Mail Server

File Server / File Share
2 Load Balancers
4 Web Servers
9 Application Servers
3 ESB Servers
4 Databases Servers
2 SAN's
External - Mail Server
Vagrant - Vagrantfile - take 2
Vagrant Commands - Advance
35 Developers

3 DBA's

3 Linux Admin's

12 Testers
Source Control

Continuous Integration

Automated Testing

Online vs Offline Development
$ vagrant up

$ vagrant halt

$ vagrant destroy

$ vagrant reload

$ vagrant ssh
creates new vm

stops vm

deletes vm

restarts vm

ssh session into vm
$ vagrant box



$ vagrant package

add/remove/list vm templates


create new vm template from existing vm
Vagrant - Vagrantfile - take 1
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "base"
end

# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision "shell", inline: "echo Hello"
config.vm.define "db" do |db|
db.vm.box = "base"
db.vm.hostname = "skiff-db"
end
config.vm.define "web" do |web|
web.vm.box = "base"
web.vm.hostname = "skiff-web"
end
end

Vagrant - Vagrantfile - take 3
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision "shell", inline: "echo Hello"
config.vm.define "db" do |db|
db.vm.box = "mydb"
db.vm.box_url = "http://example.tld/mydb.box"
db.vm.hostname = "skiff-db"
end
config.vm.define "web" do |web|
web.vm.box = "myweb"
web.vm.box_url = "http://example.tld/myweb.box"
web.vm.hostname = "skiff-web"
end
end

Vagrant - Vagrantfile - take 3
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision "shell", inline: "echo Hello"
config.vm.define "db" do |db|
db.vm.box = "mydb"
db.vm.box_url = "http://example.tld/mydb.box"
db.vm.hostname = "skiff-db"
end
config.vm.define "web" do |web|
web.vm.box = "myweb"
web.vm.box_url = "http://example.tld/myweb.box"
web.vm.hostname = "skiff-web"
end
end

Vagrant - Vagrantfile - take 4
Practical Example
Questions....
Each of these can be their own vm...

Web Server aka Apache

Java Container aka Tomcat

Database aka MySQL
Full transcript