SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Vagrant
Workshopby Eduardo Casarero (ecasarero@gmail.com || @jedux)
vagrant up
(TECHNOLOGY) — phrasal verb with vagrant
“just hit vagrant up” and ‘automágicamente’ download the box, unpack it, add it to the box repo, clone it into VirtualBox, start it, provision
it and give access to the user.
Who?
● Eduardo Casarero (@jedux)
● Almost Engineer (UADE)
● Sysadmin > 10 years
● DevOps <3
● #sysarmy (irc, sysarmy/help, adminbirras)
● #nerdearla
Hashicorp
Candy factory for Sysadmins.
Application delivery done right.
HashiCorp delivers pragmatic solutions to
maximize developer and operator agility.
Build microservice-driven applications that are
codified, automated, scalable and secure.
Hashicorp Ecosystem
Hashicorp Ecosystem
Packer is a HashiCorp tool for creating machine images and deployable artifacts such as AMIs,
OpenStack images, Docker containers, etc.
Terraform is a HashiCorp tool for creating, combining, and modifying infrastructure. In the Atlas
workflow Terraform reads from the artifact registry and provisions infrastructure.
Consul is a HashiCorp tool for service discovery, service registry, and health checks.
Serf is a HashiCorp tool for cluster membership and failure detection.
Vagrant is a HashiCorp tool for managing development environments that mirror production.
Vagrant environments reduce the friction of developing a project and reduce the risk of
unexpected behavior appearing after deployment.
Atlas
BV:
Before Vagrant
Pre-Vagrant scenario (real)
Use case 1 (easy one):
“ASAP test this package/app/config/etc (in a clean environment)”
● First approach: use my notebook/desktop
○ my desktop is not a “clean” environment, it’s more like a polluted one.
● Second approach: use a virtual machine on virtualbox
○ easy, install from iso in virtualbox, test, destroy vm… too much time to
setup.
○ Corporate Virtual Machine “black” market -> not clean environment
● Third approach: cd vagrant/ubuntu-server && vagrant up
○ Learn vagrant, created one base box like a production environment
○ up -> test -> destroy -> up -> test -> destroy :) :) :) :)
AV:
After Vagrant
Vagrant!
Virtualized development environment made
easy
● command line tool
● lowers provisioning time
● fully control environment and versions
● kills “work on my machine” excuse
● many providers: virtualbox, vmware, aws, etc
● can use puppet, chef, ansible, bash scripts
● FREE and open source
80% of Vagrant
● 5 simple commands:
○ vagrant up
○ vagrant provision
○ vagrant ssh
○ vagrant halt
○ vagrant destroy
● Really more like 16 commands, but you
really use these 5.
Go -> Level 0 & 1
Get the workshop environment from https://github.com/edux/vagrant_workshop
Shortfalls of environments
● Does not mirror “testing” or production setup
● Each developer has a different one
● Easily out of sync with standards
● Many versions of php, mysql, java, etc.
● High learning curve for new devs/qa/it
● ‘works in my computer’ culture.
QA/Dev “Standard” Workstation
Vagrantified environment
Benefits
● Solo Developers
○ consistency across multiple projects
○ can run multiple environments on a single host (dev, test, staging)
○ easy tear down and rebuild
● TEAMS
○ identical development environments (kills ‘works on my pc’ excuse)
○ consistent and portable
● COMPANIES
○ lowering learning curve
○ build once, distribute to everyone
○ lower costs
Go -> Level 2
Real use case: take 2
PM: please fix our “switch to replica” golden scripts.
Need at least 3 servers to test.
● Started with only Virtualbox kicking and
snapshotting vms.
● Ended with Vagrant with multi machine
environment -> glory.
Go -> Level 3
Real Use case: take 3
IT team supports almost 60 devs+qa.
Everybody “needs” a sandbox environment to
play with.
● Sandbox installation installs toooooo many things nginx,
mysql,git,internal tools, log tools, the app, devs tools, qa
tools, etc….
● Solution: Vagrantify environment, this is still a work in
progress as the use case is “complex”.
(my) Success keys to deploy vagrant
● dogfooding is critical (sell what you use)
● get support from management (hard one)
● rock solid images (users does not like bugs, neither do
we)
● prepare images and configs to suit all use cases!!!!
● detect early adopters to help you push changes in the
teams
Boxes, boxes, boxes
https://atlas.hashicorp.com/boxes/search
Provisioning like a boss
- Shell
- Ansible
- CFEngine
- Chef
- Docker
- Puppet
- Salt
Go -> Level 4
multi envs with multi vms.
- The dynamic ip challenge.
- Hostsmanager
- moving that to libvirt with minimal changes:
- network eth names
- mem / cpu / other hypervisor parameters.
misc: kali - windows.
- using gui=true.
- winrm is available to do configs over
windows hosts.
- show modern.ie windows vms for everyone.
(https://dev.modern.ie/)
Go -> Level 5
Cutting edge: Otto
Questions ?
Thanks!!

Weitere ähnliche Inhalte

Was ist angesagt?

Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-OverviewCrifkin
 
Node.js Cloud deployment
Node.js Cloud deploymentNode.js Cloud deployment
Node.js Cloud deploymentNicholas McClay
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized DevelopmentAdam Culp
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentRob Reynolds
 
Vagrant-Binding JUG Dortmund
Vagrant-Binding JUG DortmundVagrant-Binding JUG Dortmund
Vagrant-Binding JUG DortmundHendrik Ebbers
 
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldIan Bull
 
Run Docker On Windows Using Vagrant
Run Docker On Windows Using VagrantRun Docker On Windows Using Vagrant
Run Docker On Windows Using VagrantJulien Barbier
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packerfrastel
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with VagrantJohn Coggeshall
 
Building (localized) Vagrant boxes with Packer
Building (localized) Vagrant boxes with PackerBuilding (localized) Vagrant boxes with Packer
Building (localized) Vagrant boxes with PackerCristovao G. Verstraeten
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java Worldirbull
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantJoe Ferguson
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Jérôme Petazzoni
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechChristopher Bumgardner
 
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng The Software House
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 WorkshopLiora Milbaum
 
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet
 
The State of Puppet - Dan Bode
The State of Puppet - Dan BodeThe State of Puppet - Dan Bode
The State of Puppet - Dan BodePuppet
 

Was ist angesagt? (20)

Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
 
Node.js Cloud deployment
Node.js Cloud deploymentNode.js Cloud deployment
Node.js Cloud deployment
 
Docker
DockerDocker
Docker
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized Development
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
 
Vagrant-Binding JUG Dortmund
Vagrant-Binding JUG DortmundVagrant-Binding JUG Dortmund
Vagrant-Binding JUG Dortmund
 
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorld
 
Run Docker On Windows Using Vagrant
Run Docker On Windows Using VagrantRun Docker On Windows Using Vagrant
Run Docker On Windows Using Vagrant
 
Create your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and PackerCreate your very own Development Environment with Vagrant and Packer
Create your very own Development Environment with Vagrant and Packer
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with Vagrant
 
Building (localized) Vagrant boxes with Packer
Building (localized) Vagrant boxes with PackerBuilding (localized) Vagrant boxes with Packer
Building (localized) Vagrant boxes with Packer
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java World
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with Vagrant
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
 
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
Developer mode on, czyli słów kilka o rbenv, rvm i ruby-ng
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 Workshop
 
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
 
The State of Puppet - Dan Bode
The State of Puppet - Dan BodeThe State of Puppet - Dan Bode
The State of Puppet - Dan Bode
 
V for vagrant
V for vagrantV for vagrant
V for vagrant
 

Ähnlich wie Vagrant Workshop

AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...Artefactual Systems - AtoM
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)Soshi Nemoto
 
Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)Puppet
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containersRed Hat Developers
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxmoirarandell
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment ColdFusionConference
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Gavin Pickin
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Jérôme Petazzoni
 
Docker for local development
Docker for local developmentDocker for local development
Docker for local developmentAdam Štipák
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesHiroshi SHIBATA
 
Free tools for win server administration
Free tools for win server administrationFree tools for win server administration
Free tools for win server administrationConcentrated Technology
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-Anatoly Bubenkov
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsMicael Gallego
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosDario Faggioli
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xrkr10
 

Ähnlich wie Vagrant Workshop (20)

Vagrant and chef
Vagrant and chefVagrant and chef
Vagrant and chef
 
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)Getting started with puppet and vagrant (1)
Getting started with puppet and vagrant (1)
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containers
 
BLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docxBLCN532 Lab 1Set up your development environmentV2.0.docx
BLCN532 Lab 1Set up your development environmentV2.0.docx
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
 
Docker for local development
Docker for local developmentDocker for local development
Docker for local development
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
Free tools for win server administration
Free tools for win server administrationFree tools for win server administration
Free tools for win server administration
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and Jenkins
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and Distros
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 

Mehr von sys army

Entrevistando al entrevistador
Entrevistando al entrevistadorEntrevistando al entrevistador
Entrevistando al entrevistadorsys army
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016sys army
 
Headshot! FPS networking
Headshot! FPS networkingHeadshot! FPS networking
Headshot! FPS networkingsys army
 
Estado actual de la astronomia y sus colisiones con la astrologia
Estado actual de la astronomia y sus colisiones con la astrologiaEstado actual de la astronomia y sus colisiones con la astrologia
Estado actual de la astronomia y sus colisiones con la astrologiasys army
 
Cómo hacer troubleshooting y no morir en el intento
Cómo hacer troubleshooting y no morir en el intentoCómo hacer troubleshooting y no morir en el intento
Cómo hacer troubleshooting y no morir en el intentosys army
 
sysarmy - nerdear.la 2015
sysarmy - nerdear.la 2015sysarmy - nerdear.la 2015
sysarmy - nerdear.la 2015sys army
 

Mehr von sys army (8)

fades
fadesfades
fades
 
Entrevistando al entrevistador
Entrevistando al entrevistadorEntrevistando al entrevistador
Entrevistando al entrevistador
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
Headshot! FPS networking
Headshot! FPS networkingHeadshot! FPS networking
Headshot! FPS networking
 
Estado actual de la astronomia y sus colisiones con la astrologia
Estado actual de la astronomia y sus colisiones con la astrologiaEstado actual de la astronomia y sus colisiones con la astrologia
Estado actual de la astronomia y sus colisiones con la astrologia
 
Cómo hacer troubleshooting y no morir en el intento
Cómo hacer troubleshooting y no morir en el intentoCómo hacer troubleshooting y no morir en el intento
Cómo hacer troubleshooting y no morir en el intento
 
Git 101+
Git 101+Git 101+
Git 101+
 
sysarmy - nerdear.la 2015
sysarmy - nerdear.la 2015sysarmy - nerdear.la 2015
sysarmy - nerdear.la 2015
 

Kürzlich hochgeladen

KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 

Kürzlich hochgeladen (20)

KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 

Vagrant Workshop

  • 1. Vagrant Workshopby Eduardo Casarero (ecasarero@gmail.com || @jedux) vagrant up (TECHNOLOGY) — phrasal verb with vagrant “just hit vagrant up” and ‘automágicamente’ download the box, unpack it, add it to the box repo, clone it into VirtualBox, start it, provision it and give access to the user.
  • 2. Who? ● Eduardo Casarero (@jedux) ● Almost Engineer (UADE) ● Sysadmin > 10 years ● DevOps <3 ● #sysarmy (irc, sysarmy/help, adminbirras) ● #nerdearla
  • 4. Application delivery done right. HashiCorp delivers pragmatic solutions to maximize developer and operator agility. Build microservice-driven applications that are codified, automated, scalable and secure.
  • 6. Hashicorp Ecosystem Packer is a HashiCorp tool for creating machine images and deployable artifacts such as AMIs, OpenStack images, Docker containers, etc. Terraform is a HashiCorp tool for creating, combining, and modifying infrastructure. In the Atlas workflow Terraform reads from the artifact registry and provisions infrastructure. Consul is a HashiCorp tool for service discovery, service registry, and health checks. Serf is a HashiCorp tool for cluster membership and failure detection. Vagrant is a HashiCorp tool for managing development environments that mirror production. Vagrant environments reduce the friction of developing a project and reduce the risk of unexpected behavior appearing after deployment.
  • 9. Pre-Vagrant scenario (real) Use case 1 (easy one): “ASAP test this package/app/config/etc (in a clean environment)” ● First approach: use my notebook/desktop ○ my desktop is not a “clean” environment, it’s more like a polluted one. ● Second approach: use a virtual machine on virtualbox ○ easy, install from iso in virtualbox, test, destroy vm… too much time to setup. ○ Corporate Virtual Machine “black” market -> not clean environment ● Third approach: cd vagrant/ubuntu-server && vagrant up ○ Learn vagrant, created one base box like a production environment ○ up -> test -> destroy -> up -> test -> destroy :) :) :) :)
  • 11. Vagrant! Virtualized development environment made easy ● command line tool ● lowers provisioning time ● fully control environment and versions ● kills “work on my machine” excuse ● many providers: virtualbox, vmware, aws, etc ● can use puppet, chef, ansible, bash scripts ● FREE and open source
  • 12. 80% of Vagrant ● 5 simple commands: ○ vagrant up ○ vagrant provision ○ vagrant ssh ○ vagrant halt ○ vagrant destroy ● Really more like 16 commands, but you really use these 5.
  • 13. Go -> Level 0 & 1 Get the workshop environment from https://github.com/edux/vagrant_workshop
  • 14. Shortfalls of environments ● Does not mirror “testing” or production setup ● Each developer has a different one ● Easily out of sync with standards ● Many versions of php, mysql, java, etc. ● High learning curve for new devs/qa/it ● ‘works in my computer’ culture.
  • 16.
  • 18. Benefits ● Solo Developers ○ consistency across multiple projects ○ can run multiple environments on a single host (dev, test, staging) ○ easy tear down and rebuild ● TEAMS ○ identical development environments (kills ‘works on my pc’ excuse) ○ consistent and portable ● COMPANIES ○ lowering learning curve ○ build once, distribute to everyone ○ lower costs
  • 20. Real use case: take 2 PM: please fix our “switch to replica” golden scripts. Need at least 3 servers to test. ● Started with only Virtualbox kicking and snapshotting vms. ● Ended with Vagrant with multi machine environment -> glory.
  • 22. Real Use case: take 3 IT team supports almost 60 devs+qa. Everybody “needs” a sandbox environment to play with. ● Sandbox installation installs toooooo many things nginx, mysql,git,internal tools, log tools, the app, devs tools, qa tools, etc…. ● Solution: Vagrantify environment, this is still a work in progress as the use case is “complex”.
  • 23. (my) Success keys to deploy vagrant ● dogfooding is critical (sell what you use) ● get support from management (hard one) ● rock solid images (users does not like bugs, neither do we) ● prepare images and configs to suit all use cases!!!! ● detect early adopters to help you push changes in the teams
  • 25. Provisioning like a boss - Shell - Ansible - CFEngine - Chef - Docker - Puppet - Salt
  • 27. multi envs with multi vms. - The dynamic ip challenge. - Hostsmanager - moving that to libvirt with minimal changes: - network eth names - mem / cpu / other hypervisor parameters.
  • 28. misc: kali - windows. - using gui=true. - winrm is available to do configs over windows hosts. - show modern.ie windows vms for everyone. (https://dev.modern.ie/)