Using Vagrant for Magento development. Alexander Turiak, @HexBrain



Similar documents
You ll need to have: It d be great if you have:

Skip the But it Works on My Machine Excuse with Vagrant

Timofey Turenko. Kirill Krinkin St-Petersburg Electrotechnical University

Deploying Your Application On Public Cloud

DevOps Course Content

Platform as a Service and Container Clouds

depl Documentation Release depl contributors

Creating a dynamic software deployment solution using free/libre software

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Building a Continuous Integration Pipeline with Docker

Automated deployment of virtualization-based research models of distributed computer systems

Our Puppet Story Patterns and Learnings

The Virtualization Practice

Taking Drupal development to the Cloud. Karel Bemelmans

DevOps with Containers. for Microservices

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

Ansible. Configuration management tool and ad hoc solution. Marcel Nijenhof

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

White Paper Server. SUSE Linux Enterprise Server 12 Modules

Getting Started Using Project Photon on VMware Fusion/Workstation

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Déployer son propre cloud avec OpenStack. GULL François Deppierraz

A Complete Open Cloud Storage, Virt, IaaS, PaaS. Dave Neary Open Source and Standards, Red Hat

Amazon Elastic Beanstalk

Automated Configuration of Open Stack Instances at Boot Time

Of Pets and Cattle and Hearts

Continuous Integration In challenging environments w/ Ansible. PyCon5 Italy, Cesare Placanica

Jfokus PaaS Hands-On Lab

Linstantiation of applications. Docker accelerate

Monitor Open stack environments from the bottom up and front to back. Roger Ruttimann VP Engineering, GroundWork OpenSource November 17, 2015

DevOps. Building a Continuous Delivery Pipeline

Gregory PaaS team

Enterprise PaaS Evaluation Guide

Networks and Services

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

Jenkins Slave Cloud with Apache Mesos. Klaus Azesberger Reinhard Kiesswetter Infonova GmbH

How to choose the right PaaS Platform?

Server Architecture for High- Performance Drupal

Git - Working with Remote Repositories

deploying meteor with meteor up

Operating Systems Virtualization mechanisms

The Bro Network Security Monitor

CentOS. Apache. 1 de 8. Pricing Features Customers Help & Community. Sign Up Login Help & Community. Articles & Tutorials. Questions. Chat.

BaseManager & BACnet Manager VM Server Configuration Guide

Last time. Today. IaaS Providers. Amazon Web Services, overview

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Magento Search Extension TECHNICAL DOCUMENTATION

ISLET: Jon Schipp, Ohio Linux Fest An Attempt to Improve Linux-based Software Training

HP OO 10.X - SiteScope Monitoring Templates

Comparison of computational services at LRZ

FileCruiser Backup & Restoring Guide

Stackato PaaS Architecture: How it works and why.

Assignment # 1 (Cloud Computing Security)

The road to lazy monitoring with Icinga2 & Puppet. Tom De

Why Engine Yard is better than Do it yourself

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Serving 4 million page requests an hour with Magento Enterprise

Why is a good idea to use OpenNebula in your VMware Infrastructure?

RED HAT CLOUD SUITE FOR APPLICATIONS

How to Use a LAMP Stack on vcloud for Optimal PHP Application Performance. A VMware Cloud Evaluation Reference Document

UFTP AUTHENTICATION SERVICE

Getting Started Guide: Deploying Puppet Enterprise in Microsoft Azure

MATLAB & Git Versioning: The Very Basics

How To Install Eucalyptus (Cont'D) On A Cloud) On An Ubuntu Or Linux (Contd) Or A Windows 7 (Cont') (Cont'T) (Bsd) (Dll) (Amd)

NextLabs International Private Limited. 1. Position: Software Engineer (Java) Location: Singapore

Java, PHP & Ruby - Cloud Hosting

Introduction to DevOps on AWS

Advantages and Disadvantages of Application Network Marketing Systems

CLOUDFORMS Open Hybrid Cloud

OpenShift. Marek Jelen, OpenShift, Red Hat

HPSA Agent Characterization

How to Backup XenServer VM with VirtualIQ

Java PaaS Enabling CI, CD, and DevOps

Building a big IaaS cloud with Apache CloudStack

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Intro to Docker and Containers

Advanced Systems Management with Machinery

Introduction to Cloud Computing on Amazon Web Services (AWS) with focus on EC2 and S3. Horst Lueck

SGI NAS. Quick Start Guide a

Best Practices for Python in the Cloud: Lessons

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

The Benefits of Verio Virtual Private Servers (VPS) Verio Virtual Private Server (VPS) CONTENTS

RingStor User Manual. Version 2.1 Last Update on September 17th, RingStor, Inc. 197 Route 18 South, Ste 3000 East Brunswick, NJ

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

OBSERVEIT DEPLOYMENT SIZING GUIDE

CloudLinux is a proven solution for shared hosting providers that:

Continuous Integration using Docker & Jenkins

Quantum Hyper- V plugin

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

Automating Big Data Benchmarking for Different Architectures with ALOJA

Transcription:

Using Vagrant for Magento development Alexander Turiak, @HexBrain

$ whoami - Magento developer since 2011 - (Tries to be) Active in Magento community - Co-founded HexBrain in 2013

Key points - What is Vagrant (boxes, virtual machines, provisioners) - Why should you use Vagrant - Magento specific use cases

What is Vagrant? Is a tool for creating, deploying, sharing and managing virtual environments for solving development and testing tasks

Created by Mitchell Hashimoto in 2010 A wrapper around virtualization software and configuration management software

Main issue it solves is Works on my machine providing environment consistency which can be shared same way as you share code e.g. using git

What s in the box? Box is the Vagrant specific package format, each box is tied to a specific provider

Providers Out of the box Vagrant supports Virtual Box Other providers (supported via plugins): - VMware (commercial) - AWS, Digital Ocean, Rackspace, Open Stack - Docker

Provisioners - Shell - Puppet - Chef - Ansible Vagrant.configure("2") do config config.vm.provision "shell", path: "script.sh" end

Synced folders - NFS - SMB - rsync config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync exclude: ".git/"

Quick setup vagrant box add precise32 http://files.vagrantup.com/precise32.box vagrant init precise32 vagrant up

PuPHPet or Puppet PuPHPet is a GUI configuration tool for Vagrant. It uses Puppet for packages installation and configuration https://puphpet.com/

What is Puppet? It s a tool which allows management of software packages, their configuration and the operating system itself Just like Vagrant it s written in Ruby. Alternatives: Ansible (Python), Chef (Ruby)

Vagrant & PuPHPet How does it work? configvalues = YAML.load_file("#{dir}/puphpet/config.yaml")

PuPHPet. Have you stuck? What to do in case it doesn t support adding a package you need?

This is Puppet

Adding NodeJS 1. puphpet/puppet/puppetfile mod 'nodejs', :git => 'https://github.com/willdurand/puppet-nodejs.git' 2. puphpet/puppet/manifest.pp class { 'nodejs': version => 'stable', target_dir => '/bin', } 3. vagrant provision

Life after `vagrant up` 1. /etc/hosts 2. vagrant ssh 3. DB connect 4. Xdebug

What about Magento? - n98-magerun - modman - modgit vagrant ssh -c "cd /var/www/magento && n98- magerun.phar cache:clear"

Testing Varnish To test several sites for Varnish implementation it's convenient to setup a box running Varnish on separate ports and route the traffic further to web server instances

Magento 2 There is a box built by Rolando Granadino most commonly known as @beeplogic https: //github.com/rgranadino/mage2_vagrant which allows to quickly install Magento 2 with all it dependencies along with sample data ported by Marius Strajeru from Magento 1

Docker It uses feature of Linux systems called containers allowing to spawn resources like file system, memory etc. of host machine to build separate isolated services ultimately having complex cloud like infrastructures locally

Released in 2013 by Solomon Hykes, allows deploying applications into isolated containers Frequently used with lightweight CoreOS based on Linux kernel

Vagrant + Docker http://docs.vagrantup. com/v2/provisioning/docker.html Allows to use power of Vagrant with efficiency of Docker

https://github.com/cmuench/magento-vagrant- Puppet-Nginx https://github.com/amacgregor/magevagrant https://github.com/ecomdev/vagrant-magento https://github.com/r8/vagrant-lamp

Pros and cons + Configuration flexibility + Portability + Setup and reconfiguration speed + Testing code with different versions of software (PHP 5.4, 5.5, 5.6, HHVM) - Overhead - Disk space for each virtual machine (2-5 GB)

Links http://vagrantup.com/ http://vagrantcloud.com/ http://puppetlabs.com/ http://puphpet.com/ http://docker.io/

Thank you for attention! Mulțumesc!