SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
Vagrant
                              Virtualize your development environment.




Thursday, September 9, 2010
Mitchell Hashimoto
                                  github.com/mitchellh
                                  twitter.com/mitchellh




Thursday, September 9, 2010
$ git clone git://.../website.git
                    ...
                    $ ???WTF!#A@#)!???
                    ...
                    $ script/server
                    ...




Thursday, September 9, 2010
$ git clone git://.../website.git
                    ...
                    $ ???WTF!#A@#)!???
                    ...
                    $ script/server
                    ...




Thursday, September 9, 2010
User space
                                         Browser                   Editor
                                                      Queue                      Other
                              Music                   Server                     Server

            Web                        DB                       App
                                                   IRC                      IM
           Server                     Server                   Server



                                               Operating System




Thursday, September 9, 2010
BIG PROBLEMS




Thursday, September 9, 2010
BIG PROBLEMS
    1. No isolation (Oh sorry, is that Tweetie Server Edition™?)




Thursday, September 9, 2010
BIG PROBLEMS
    1. No isolation (Oh sorry, is that Tweetie Server Edition™?)

    2. Not repeatable (That README ain’t gonna run itself)




Thursday, September 9, 2010
BIG PROBLEMS
    1. No isolation (Oh sorry, is that Tweetie Server Edition™?)

    2. Not repeatable (That README ain’t gonna run itself)

    3. No guarantees (But it works on my computer!!)




Thursday, September 9, 2010
VIRTUALIZATION!

                              EC2, Slicehost, Linode, Xen, KVM, ...




Thursday, September 9, 2010
VIRTUALIZATION!

                              EC2, Slicehost, Linode, Xen, KVM, ...




Thursday, September 9, 2010
User space
                                         Browser                   Editor
                                                      Queue                      Other
                              Music                   Server                     Server

            Web                        DB                       App
                                                   IRC                      IM
           Server                     Server                   Server



                                               Operating System




Thursday, September 9, 2010
User space
                                         Virtualized OS

             Browser          Editor
                                             Web           DB       App
                                            Server        Server   Server

                  IRC          IM



                                       Operating System




Thursday, September 9, 2010
PROBLEMS SOLVED




Thursday, September 9, 2010
PROBLEMS SOLVED
    1. Isolation




Thursday, September 9, 2010
PROBLEMS SOLVED
    1. Isolation

    2. Repeatable




Thursday, September 9, 2010
PROBLEMS SOLVED
    1. Isolation

    2. Repeatable

    3. Guarantees




Thursday, September 9, 2010
BUSINESS BENEFITS




Thursday, September 9, 2010
BUSINESS BENEFITS
    • Lower resource on-boarding time




Thursday, September 9, 2010
BUSINESS BENEFITS
    • Lower resource on-boarding time
    • Version controlled server infrastructure




Thursday, September 9, 2010
BUSINESS BENEFITS
    • Lower resource on-boarding time
    • Version controlled server infrastructure
    • Designers get up and running in minutes




Thursday, September 9, 2010
WHY NOW?
                        (Why haven’t we been doing this all along?)




Thursday, September 9, 2010
WHY NOW?
                        (Why haven’t we been doing this all along?)

     • Big companies have been!




Thursday, September 9, 2010
WHY NOW?
                        (Why haven’t we been doing this all along?)

     • Big companies have been!
     • Only recently possible on local machines




Thursday, September 9, 2010
WHY NOW?
                        (Why haven’t we been doing this all along?)

     • Big companies have been!
     • Only recently possible on local machines
          ๏     Low RAM cost (4 GB standard, 8 GB quickly coming)




Thursday, September 9, 2010
WHY NOW?
                        (Why haven’t we been doing this all along?)

     • Big companies have been!
     • Only recently possible on local machines
          ๏     Low RAM cost (4 GB standard, 8 GB quickly coming)

          ๏     Desktop virtualization API




Thursday, September 9, 2010
Vagrant
                              Virtualize your development environment.




Thursday, September 9, 2010
HIGH LEVEL OVERVIEW
    ‣     Describe environment via versionable Vagrantfile

    ‣     Manage virtual machine lifecycle

    ‣     Share folder from host to guest via NFS

    ‣     Provide SSH access to instance

    ‣     Provision instance using Chef, Puppet, etc.

    ‣     Manage host/guest networking



Thursday, September 9, 2010
Vagrantfile
    • Describes the virtual machine environment in code
          ๏     One per project

          ๏     Commit to version control

          ๏     Pure Ruby - Limitless configuration.




Thursday, September 9, 2010
Vagrantfile
              Vagrant::Config.run do |config|
                config.vm.box = "lucid32"
              end




Thursday, September 9, 2010
Virtual Machine Lifecycle
    ‣     vagrant binary

    ‣     Completely managed from creation to destruction

         ๏     (and creation... and destruction... and creation... and so on!)

                    $         vagrant   up
                    $         vagrant   halt
                    $         vagrant   suspend
                    $         vagrant   destroy
                    $         vagrant   reload
                    $         vagrant   ssh
                    $         vagrant   --help


Thursday, September 9, 2010
Shared Folders via NFS
    ‣     File changes on host are immediately mirrored in the VM

    ‣     Continue using your favorite editor on your machine!

    ‣     By default mounted to /vagrant in VM




Thursday, September 9, 2010
DEMO




Thursday, September 9, 2010
Onto the good stuff...
                                 (let’s make it useful)




Thursday, September 9, 2010
Provisioning
    • Use Chef, Puppet, Bash, etc. to provision your VM
          ๏     Repeatable! (BIG Problem #2, remember?)

          ๏     Use the same tools as production




Thursday, September 9, 2010
Provisioning

              Vagrant::Config.run do |config|
                config.vm.box = "lucid32"
                config.vm.provisioner = :chef_solo
              end




Thursday, September 9, 2010
Networking
    • Assign an IP to your VM
          ๏     Access VM using your own browser




Thursday, September 9, 2010
Networking

              Vagrant::Config.run do |config|
                config.vm.box = "lucid32"
                config.vm.provisioner = :chef_solo
                config.vm.network("33.33.33.10")
              end




Thursday, September 9, 2010
DEMO




Thursday, September 9, 2010
Other stuff...
                              (no demos here, you can experiment)




Thursday, September 9, 2010
Packaging
    • Package built development environments
          ๏     vagrant package

          ๏     Distributable

          ๏     Minimize setup time




Thursday, September 9, 2010
Multi-VM
    • Represent multi-server environments
          ๏     e.g. web + db + utility




Thursday, September 9, 2010
Multi-VM
              Vagrant::Config.run do |config|
                config.vm.define :web do |web|
                  # ...
                end

                config.vm.define :db do |db|
                  # ...
                end
              end




Thursday, September 9, 2010
Rake Integration
    • Use vagrant as a library
          ๏     Invoke command line actions

          ๏     Custom SSH commands




Thursday, September 9, 2010
Rake Integration

              require 'vagrant'

              desc "Restart the web application"
              task :restart do
                env = Vagrant::Environment.load!
                env.ssh.execute do |ssh|
                  ssh.exec!("touch /vagrant/tmp/restart.txt")
                end
              end




Thursday, September 9, 2010
Plugins (0.6)
    • Extend Vagrant using a supported API
    • Add new commands to vagrant binary
    • Add new configuration options
    • Modify existing commands
    • e.g. vagrant rake - Just pass through arguments to rake
          on the VM.




Thursday, September 9, 2010
Review

    • Continue using your existing development tools
    • Run your web app in a VM
    • VM setup file (Vagrantfile) in version control




Thursday, September 9, 2010
LOSE NOTHING. GAIN EVERYTHING.




Thursday, September 9, 2010
Vagrant IN ACTION
                              Virtualize your development environment.




Thursday, September 9, 2010
• Vagrant for all projects since March
    • Around 15 to 20 developers using it all day every day
    • Unexpected: Unique testing not possible before




Thursday, September 9, 2010
• All Rails projects since July on Vagrant
    • Massive reduction in on-boarding difficulty for new hires
    • Looking into using it for Java-based projects in the near future




Thursday, September 9, 2010
• Multi-VM setup (web + db + flash media server)
    • Solved: No easy way to emulate FMS on Mac.
    • Forced devops good practices
    • Example of successful distribution of boxes




Thursday, September 9, 2010
About the Project
    • Current release: 0.5.4
    • Started development in January. First release in March.
    • 0.6 development well under way:
          ๏     179 commits, 226 files changed, 4081 lines added, 5730 lines deleted.

          ๏     Aiming for release in about 4 weeks.

          ๏     Biggest release yet




Thursday, September 9, 2010
Getting Started + More Info
    • Website: vagrantup.com
    • IRC: #vagrant on Freenode
    • Github: http://github.com/mitchellh/vagrant




Thursday, September 9, 2010

Mais conteúdo relacionado

Destaque (8)

Exposicion tic
Exposicion ticExposicion tic
Exposicion tic
 
Henriksen Auto Nyheter Mars 2015
Henriksen Auto Nyheter Mars 2015Henriksen Auto Nyheter Mars 2015
Henriksen Auto Nyheter Mars 2015
 
Teresa alves - selling sickness 2010
Teresa alves -  selling sickness 2010Teresa alves -  selling sickness 2010
Teresa alves - selling sickness 2010
 
Los derechos del niño
Los derechos del niñoLos derechos del niño
Los derechos del niño
 
Formacion para un nuevo estado ipap 2014-
Formacion para un nuevo estado  ipap 2014-Formacion para un nuevo estado  ipap 2014-
Formacion para un nuevo estado ipap 2014-
 
Estamos en el limbo o cloud
Estamos en el limbo o cloudEstamos en el limbo o cloud
Estamos en el limbo o cloud
 
Undergraduate Portfolio
Undergraduate PortfolioUndergraduate Portfolio
Undergraduate Portfolio
 
Presentatie Mercedes-Benz
Presentatie Mercedes-BenzPresentatie Mercedes-Benz
Presentatie Mercedes-Benz
 

Semelhante a Vagrant at LA Ruby

Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]jtimberman
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web DevelopmentAndy Peters
 
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...Badoo
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App DevelopmentBrian LeRoux
 
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSСупер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSSQALab
 
Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationBadoo Development
 
The Twitter API: A Presentation to Adobe
The Twitter API: A Presentation to AdobeThe Twitter API: A Presentation to Adobe
The Twitter API: A Presentation to AdobeAlex Payne
 
Mirah & Dubious Talk Ruby|Web 2010
Mirah & Dubious Talk Ruby|Web 2010Mirah & Dubious Talk Ruby|Web 2010
Mirah & Dubious Talk Ruby|Web 2010baroquebobcat
 
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptSencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptDavid Kaneda
 
Developing For The Windows Azure Platform
Developing For The Windows Azure PlatformDeveloping For The Windows Azure Platform
Developing For The Windows Azure Platformdrmarcustillett
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them allDevelopment Seed
 
Vertically Challenged
Vertically ChallengedVertically Challenged
Vertically ChallengedAurynn Shaw
 
Dojo Mobile
Dojo MobileDojo Mobile
Dojo Mobiledylanks
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09mihaiionescu
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairBruce Elgort
 
BDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZBDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZleondu
 

Semelhante a Vagrant at LA Ruby (20)

Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
 
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App Development
 
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSСупер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
 
Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
 
The Twitter API: A Presentation to Adobe
The Twitter API: A Presentation to AdobeThe Twitter API: A Presentation to Adobe
The Twitter API: A Presentation to Adobe
 
Mirah & Dubious Talk Ruby|Web 2010
Mirah & Dubious Talk Ruby|Web 2010Mirah & Dubious Talk Ruby|Web 2010
Mirah & Dubious Talk Ruby|Web 2010
 
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptSencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
 
Plone on Amazon EC2
Plone on Amazon EC2Plone on Amazon EC2
Plone on Amazon EC2
 
Developing For The Windows Azure Platform
Developing For The Windows Azure PlatformDeveloping For The Windows Azure Platform
Developing For The Windows Azure Platform
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them all
 
Intro To Git
Intro To GitIntro To Git
Intro To Git
 
Linux on System z Disk I/O Performance
Linux on System z Disk I/O PerformanceLinux on System z Disk I/O Performance
Linux on System z Disk I/O Performance
 
Vertically Challenged
Vertically ChallengedVertically Challenged
Vertically Challenged
 
Scaling Django Dc09
Scaling Django Dc09Scaling Django Dc09
Scaling Django Dc09
 
Dojo Mobile
Dojo MobileDojo Mobile
Dojo Mobile
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
 
BDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZBDD and Cucumber at barcampGZ
BDD and Cucumber at barcampGZ
 

Último

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Vagrant at LA Ruby

  • 1. Vagrant Virtualize your development environment. Thursday, September 9, 2010
  • 2. Mitchell Hashimoto github.com/mitchellh twitter.com/mitchellh Thursday, September 9, 2010
  • 3. $ git clone git://.../website.git ... $ ???WTF!#A@#)!??? ... $ script/server ... Thursday, September 9, 2010
  • 4. $ git clone git://.../website.git ... $ ???WTF!#A@#)!??? ... $ script/server ... Thursday, September 9, 2010
  • 5. User space Browser Editor Queue Other Music Server Server Web DB App IRC IM Server Server Server Operating System Thursday, September 9, 2010
  • 7. BIG PROBLEMS 1. No isolation (Oh sorry, is that Tweetie Server Edition™?) Thursday, September 9, 2010
  • 8. BIG PROBLEMS 1. No isolation (Oh sorry, is that Tweetie Server Edition™?) 2. Not repeatable (That README ain’t gonna run itself) Thursday, September 9, 2010
  • 9. BIG PROBLEMS 1. No isolation (Oh sorry, is that Tweetie Server Edition™?) 2. Not repeatable (That README ain’t gonna run itself) 3. No guarantees (But it works on my computer!!) Thursday, September 9, 2010
  • 10. VIRTUALIZATION! EC2, Slicehost, Linode, Xen, KVM, ... Thursday, September 9, 2010
  • 11. VIRTUALIZATION! EC2, Slicehost, Linode, Xen, KVM, ... Thursday, September 9, 2010
  • 12. User space Browser Editor Queue Other Music Server Server Web DB App IRC IM Server Server Server Operating System Thursday, September 9, 2010
  • 13. User space Virtualized OS Browser Editor Web DB App Server Server Server IRC IM Operating System Thursday, September 9, 2010
  • 15. PROBLEMS SOLVED 1. Isolation Thursday, September 9, 2010
  • 16. PROBLEMS SOLVED 1. Isolation 2. Repeatable Thursday, September 9, 2010
  • 17. PROBLEMS SOLVED 1. Isolation 2. Repeatable 3. Guarantees Thursday, September 9, 2010
  • 19. BUSINESS BENEFITS • Lower resource on-boarding time Thursday, September 9, 2010
  • 20. BUSINESS BENEFITS • Lower resource on-boarding time • Version controlled server infrastructure Thursday, September 9, 2010
  • 21. BUSINESS BENEFITS • Lower resource on-boarding time • Version controlled server infrastructure • Designers get up and running in minutes Thursday, September 9, 2010
  • 22. WHY NOW? (Why haven’t we been doing this all along?) Thursday, September 9, 2010
  • 23. WHY NOW? (Why haven’t we been doing this all along?) • Big companies have been! Thursday, September 9, 2010
  • 24. WHY NOW? (Why haven’t we been doing this all along?) • Big companies have been! • Only recently possible on local machines Thursday, September 9, 2010
  • 25. WHY NOW? (Why haven’t we been doing this all along?) • Big companies have been! • Only recently possible on local machines ๏ Low RAM cost (4 GB standard, 8 GB quickly coming) Thursday, September 9, 2010
  • 26. WHY NOW? (Why haven’t we been doing this all along?) • Big companies have been! • Only recently possible on local machines ๏ Low RAM cost (4 GB standard, 8 GB quickly coming) ๏ Desktop virtualization API Thursday, September 9, 2010
  • 27. Vagrant Virtualize your development environment. Thursday, September 9, 2010
  • 28. HIGH LEVEL OVERVIEW ‣ Describe environment via versionable Vagrantfile ‣ Manage virtual machine lifecycle ‣ Share folder from host to guest via NFS ‣ Provide SSH access to instance ‣ Provision instance using Chef, Puppet, etc. ‣ Manage host/guest networking Thursday, September 9, 2010
  • 29. Vagrantfile • Describes the virtual machine environment in code ๏ One per project ๏ Commit to version control ๏ Pure Ruby - Limitless configuration. Thursday, September 9, 2010
  • 30. Vagrantfile Vagrant::Config.run do |config| config.vm.box = "lucid32" end Thursday, September 9, 2010
  • 31. Virtual Machine Lifecycle ‣ vagrant binary ‣ Completely managed from creation to destruction ๏ (and creation... and destruction... and creation... and so on!) $ vagrant up $ vagrant halt $ vagrant suspend $ vagrant destroy $ vagrant reload $ vagrant ssh $ vagrant --help Thursday, September 9, 2010
  • 32. Shared Folders via NFS ‣ File changes on host are immediately mirrored in the VM ‣ Continue using your favorite editor on your machine! ‣ By default mounted to /vagrant in VM Thursday, September 9, 2010
  • 34. Onto the good stuff... (let’s make it useful) Thursday, September 9, 2010
  • 35. Provisioning • Use Chef, Puppet, Bash, etc. to provision your VM ๏ Repeatable! (BIG Problem #2, remember?) ๏ Use the same tools as production Thursday, September 9, 2010
  • 36. Provisioning Vagrant::Config.run do |config| config.vm.box = "lucid32" config.vm.provisioner = :chef_solo end Thursday, September 9, 2010
  • 37. Networking • Assign an IP to your VM ๏ Access VM using your own browser Thursday, September 9, 2010
  • 38. Networking Vagrant::Config.run do |config| config.vm.box = "lucid32" config.vm.provisioner = :chef_solo config.vm.network("33.33.33.10") end Thursday, September 9, 2010
  • 40. Other stuff... (no demos here, you can experiment) Thursday, September 9, 2010
  • 41. Packaging • Package built development environments ๏ vagrant package ๏ Distributable ๏ Minimize setup time Thursday, September 9, 2010
  • 42. Multi-VM • Represent multi-server environments ๏ e.g. web + db + utility Thursday, September 9, 2010
  • 43. Multi-VM Vagrant::Config.run do |config| config.vm.define :web do |web| # ... end config.vm.define :db do |db| # ... end end Thursday, September 9, 2010
  • 44. Rake Integration • Use vagrant as a library ๏ Invoke command line actions ๏ Custom SSH commands Thursday, September 9, 2010
  • 45. Rake Integration require 'vagrant' desc "Restart the web application" task :restart do env = Vagrant::Environment.load! env.ssh.execute do |ssh| ssh.exec!("touch /vagrant/tmp/restart.txt") end end Thursday, September 9, 2010
  • 46. Plugins (0.6) • Extend Vagrant using a supported API • Add new commands to vagrant binary • Add new configuration options • Modify existing commands • e.g. vagrant rake - Just pass through arguments to rake on the VM. Thursday, September 9, 2010
  • 47. Review • Continue using your existing development tools • Run your web app in a VM • VM setup file (Vagrantfile) in version control Thursday, September 9, 2010
  • 48. LOSE NOTHING. GAIN EVERYTHING. Thursday, September 9, 2010
  • 49. Vagrant IN ACTION Virtualize your development environment. Thursday, September 9, 2010
  • 50. • Vagrant for all projects since March • Around 15 to 20 developers using it all day every day • Unexpected: Unique testing not possible before Thursday, September 9, 2010
  • 51. • All Rails projects since July on Vagrant • Massive reduction in on-boarding difficulty for new hires • Looking into using it for Java-based projects in the near future Thursday, September 9, 2010
  • 52. • Multi-VM setup (web + db + flash media server) • Solved: No easy way to emulate FMS on Mac. • Forced devops good practices • Example of successful distribution of boxes Thursday, September 9, 2010
  • 53. About the Project • Current release: 0.5.4 • Started development in January. First release in March. • 0.6 development well under way: ๏ 179 commits, 226 files changed, 4081 lines added, 5730 lines deleted. ๏ Aiming for release in about 4 weeks. ๏ Biggest release yet Thursday, September 9, 2010
  • 54. Getting Started + More Info • Website: vagrantup.com • IRC: #vagrant on Freenode • Github: http://github.com/mitchellh/vagrant Thursday, September 9, 2010