We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Vagrant Up! Comprehensive development system automation

Jason Taylor and John Myers

Vagrant UP

Just Updated: May 25, 2015. New bonus section added (Chef Solo).

Introduction provides an overview for the course, cover the core concepts for Vagrant, how to get the course materials.

Read more

Vagrant UP

Just Updated: May 25, 2015. New bonus section added (Chef Solo).

Introduction provides an overview for the course, cover the core concepts for Vagrant, how to get the course materials.

Installation provides step-by-step instructions on how to setup Vagrant, VirtualBox, and other tools needed for the rest of the course on both Windows and Mac platforms.

Getting Started walks through the basics of using Vagrant and how to version control (using Git) a project using Vagrant.

Boxes covers how to find, manage and use Vagrant boxes.

Plugins walks through finding, using and managing plugins in Vagrant in order to extend Vagrant's functionality.

Provisioning covers how to write file and shell provisioners to automatically install software when Vagrant first runs or on demand. After learning the basics of provisioning, this section ends with a full-fledged LAMP-stack provisioned.

Multiple Virtual Machines walks through using Vagrant with a multiple VM configuration, when we dissect the LAMP stack in the previous section and create two virtual machine definitions within one configuration file.

Conclusion has some final thoughts on Vagrant and provides links to resources for additional learning.

Bonus. sections feature advanced topics like creating custom Vagrant boxes and using the Chef Solo provisioner.

Presentations provide audio/video training of conceptual ideas in each major area or introduction of new concepts.

Screencasts provide a video of the instructor's computer system with any actions, commands, or screens displayed and narrated. There are several hours of screencat video content it makes up the vast majority of the course. Any command line based screencast will include a command listing in the lecture downloads.

Enroll now

What's inside

Learning objectives

  • Create automatic, reliable, repeatable, easy to use, and versioned development environments
  • Write provisioning scripts to automatically setup vagrant managed environments
  • Solve the development box setup problem

Syllabus

Introduction

Introduction to Vagrant UP

This lecture goes over the course goals, course overview and assumptions/requirements for the course.

Read more

Core Concepts

Goes over the main concepts for solving the developer box issue and focuses on critical Vagrant terms.

Course Materials

Links to the two GitHub repositories used throughout the course. Also provides links to other resources, like the course website.

Core Concepts Quiz
Installation

Installation Overview

Overview of the installation process for Vagrant and related tools.

Windows Installation

Step-by-step walk-through of installating Vagrant, VirtualBox, and related tools on the Windows platform.

Mac OS X Installation

Step-by-step walk-through of installating Vagrant, VirtualBox, and related tools on the Mac OS X platform.

Getting Started

Vagrant Quick Start

How to use and manage Vagrant to control virtual machines running in VirtualBox.

Version Control with Vagrant Projects

How to use Git version control system with Vagrant-based projects.

Getting Started Quiz
Getting Started Command Listing
Boxes

Managing Vagrant Boxes

How to list, add, update, and remove Vagrant boxes.

Finding More Vagrant Boxes

How to find, install, and use new Vagrant boxes from VagrantBox.es and Vagrant Cloud websites.

Boxes Quiz
Boxes Command Listing
Plugins

Extending Vagrant with Plugins

Plugins are a way to extend the basic functionality of Vagrant. This lecture demonstrates how to use, add, update, and remove plugins in Vagrant.

Plugins Quiz
Plugins Command Listing
Provisioning

Provisioning Introduction

Section introduction to provisioning in Vagrant. Covers core concepts used throughout the section.

Manual Provisioning in Vagrant

Create a LAMP stack VM by manually provisioning on top of a base CentOS image, then create a customized new baseline after the manual provision process.

File Provisioner

How to use the File provisioner in Vagrant. This lecture covers some setup that is used in other lectures as well.

Shell Provisioner

Covers how to write a shell provisioner in Vagrant in three ways -- inline, heredoc, and external.

LAMP Stack Example, Part 1

Complete walk-through of setting up a LAMP (Linux, Apache, MySQL, and PHP) stack using the File and Shell provisioners. This example has been divided into two parts, this is the first part.

LAMP Stack Example, Part 2

Complete walk-through of setting up a LAMP (Linux, Apache, MySQL, and PHP) stack using the File and Shell provisioners. This example has been divided into two parts, this is the second part.

Provisioning Quiz
Provisioning Command Listing
Multiple Virtual Machines

Multiple Virtual Machines in Vagrant

Up to now, this course has focused on just one virtual machine definition per Vagrant configuration. However, Vagrant support multiple virtual machine definitions at once. This lecture covers how to provision and use a multi-VM setup in Vagrant.

Multiple Virtual Machines Quiz
Multiple VMs Command Listing
Conclusion

Course Conclusion

Some parting words and recommended resources for the official end of the main course. The Bonus section pickups with advanced and non-core topics.

Resources

List of resources available on the Internet.

Bonus! Creating Custom Boxes for Vagrant
Introduction to Custom Boxes
Acquire OS Image
VirtualBox Setup and OS Installation
Vagrant Customizations, Part 1
Vagrant Customizations, Part 2
Package and Test
Custom Box Conclusion
Students will learn how to use the Chef Solo provisioner in Vagrant and even write a custom Chef Cookbook.
Introduction to Chef
Chef Supermarket and Selecting a Cookbook
Using the Cookbook with Vagrant
Evaluation of the Supermarket Cookbook
Creating a Custom Cookbook - Setup and Metadata
Cookbook Attributes
Creating the Default (main) Recipe
Writing the Cookbook Template Files
Testing and Debugging the Custom Cookbook
Executing the Custom Cookbook
Final Testing of the Custom Cookbook
Using Chef Roles instead of Listing Recipes
Chef Solo with Vagrant Conclusion and Additional Resources
Special offers regarding the instructor's other courses available on Udemy
Bonus: Exclusive Student Discounts

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers common development setup pain points, making it useful to almost any developer
Demonstrates multiple methods of provisioning, which helps students develop a strong foundation
Teaches how to write provisioning scripts, which is a highly relevant skill in industry
Taught by Jason Taylor and John Myers, who are recognized for their work in the topic
Provides step-by-step instructions for both Windows and Mac platforms, which is useful for a wide audience
Uses a mix of presentations, screencasts, and command listings, making it multimodal and engaging

Save this course

Save Vagrant Up! Comprehensive development system automation to your list so you can find it easily later:
Save

Reviews summary

Beginner-friendly vagrant guide

According to students, this course in Vagrant is well-received and learners say it's easy to understand, even for beginners.
Course is accessible.
"Explain very well, even a beginner can understand properly."

Activities

Coming soon We're preparing activities for Vagrant Up! Comprehensive development system automation. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Vagrant Up! Comprehensive development system automation will develop knowledge and skills that may be useful to these careers:
Virtualization Engineer
In the role of Virtualization Engineer, you will work with technologies such as Vagrant and VirtualBox. Course content in this track, such as the section on multiple virtual machines, is specifically useful for this role. For those without a background in virtualization, this course may be a helpful way of building the foundational knowledge needed to perform this job.
Systems Engineer
Systems Engineers learn how to provision, configure, and manage computer systems, which includes virtualized systems. As such, you will be able to apply the skills you learn in this course, such as how to write provisioning scripts, to your everyday work.
DevOps Engineer
DevOps Engineers work to build, test, and deploy software applications. As part of your job, you may use containerization and virtualization technologies. This course may be very useful as it can help build a foundation of knowledge and teach you how to use tools such as Vagrant and VirtualBox.
Software Engineer
As a Software Engineer, you will work with software development teams to design and build software applications. This course may be helpful for building foundational knowledge about virtualization, which may be a small part of a Software Engineer's responsibilities.
Cloud Architect
Cloud Architects design and manage cloud-based systems. As part of this work, you will likely use virtualization technologies. The technologies and concepts in this course, such as Vagrant and provisioning, may be useful for this role.
Network Administrator
As a Network Administrator, you will be responsible for managing computer networks in an organization. This course covers some topics, such as multiple virtual machines, which may be helpful to you if you need to work with virtualized systems on these networks.
Security Analyst
Security Analysts work to protect an organization's computer systems and networks from cyber threats. This course may be helpful for Security Analysts who need to work with virtualized systems, such as using the content on multiple virtual machines.
IT Manager
IT Managers lead and manage the information technology needs of an organization. As part of this role, you may work with virtualized systems. This course may be somewhat useful for learning about virtualization tools and technologies.
Computer Technician
Computer Technicians provide technical assistance for computer users. Some Computer Technicians specialize in supporting virtualized systems. If this is the case, this course may be of interest to you, especially the content on multiple virtual machines.
Systems Analyst
Systems Analysts design and implement computer systems and networks. As a Systems Analyst, you may work with virtualized systems. If this is the case, this course may be of interest to you, especially the content on provisioning.
Database Administrator
Database Administrators are responsible for managing the databases of an organization. While this role does not typically involve working with virtualized systems, there may be some overlap. If this is the case, the content in this course on provisioning may be helpful.
Web Developer
Web Developers work to design and build websites. While this role does not typically involve working with virtualized systems, there may be some overlap. For instance, you may have to work with Vagrant to set up a development environment.
Technical Writer
Technical Writers create technical documentation. While this role does not typically involve working with virtualized systems, there may be some overlap. For instance, you may have to write documentation on software that uses Vagrant or other virtualization technologies.
Information Systems Manager
Information Systems Managers oversee the information systems of an organization. While this role does not typically involve working with virtualized systems, there may be some overlap. For instance, you may have to manage systems that use Vagrant.
Data Analyst
Data Analysts work with data to find patterns and trends. While this role does not typically involve working with virtualized systems, there may be some overlap. For instance, you may have to work with data that is stored in a virtualized environment.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Vagrant Up! Comprehensive development system automation.
Provides a comprehensive overview of DevOps, a set of practices that help organizations deliver software faster and more reliably. It is particularly useful for readers who are new to DevOps or who want to learn more about how to implement it in their own organization.
This novel tells the story of a fictional IT team that must overcome a series of challenges to deliver a critical software project on time. It great way to learn about DevOps principles and practices in a fun and engaging way.
Provides a quick and easy way to learn Puppet, the configuration management tool that can be used with Vagrant. good choice for anyone who wants to get started with Puppet quickly.
Provides a comprehensive guide to Docker, the containerization technology that can be used with Vagrant. valuable resource for anyone who wants to learn more about Docker or to use it with Vagrant.
Provides a comprehensive guide to Kubernetes, the container orchestration technology that can be used with Vagrant. valuable resource for anyone who wants to learn more about Kubernetes or to use it with Vagrant.
Provides a comprehensive guide to Ansible, the configuration management tool that can be used with Vagrant. valuable resource for anyone who wants to learn more about Ansible or to use it with Vagrant.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser