Virtualization

Vagrant

Vagrant is open tool developed to simplify setup and management of virtual machines. It is useful for solving problems of development and testing of projects using different systems of virtualization. In the basic delivery project provides tools to integrate with VirtualBox, but it allows you to use other systems of virtualization through the subscription of plugins. Program code is written in Ruby, but it can also be used on other platforms such as PHP, Python, Java or C.

Puphpet

A simple Graphical user interface to set up virtual machines for Web development. It supports setting up both locally and remote – on popular stages such as Rackspace, Linode, Softlayer, Amazon, Google, Digital Ocean, Ikoula Cloud. It works with VirtualBox, VMWare Fusion, VMWare Workstation, Parallels Desktop virtual machines and uses CentOS, Debian Ubuntu operating systems for virtualization.

Docker

Docker is a software for automating of deployment and management of applications in the virtualization environment at the level of the operating system, for example LXC. It allows you to “pack” the application with all its surroundings and dependencies in a container that can be transferred to any Linux-compatible system with cgroups supporting in the nucleus, as well as provides a framework for managing containers. It is developed and maintained by the eponymous startup companies, distributed as free software, licensed under Apache 2.0., written in Go.

HHVM

HHVM – is  virtual machine from Facebook. It is an open-source set of tools including interpreter, just-in-time compiler, and debugger for code written in Hack and PHP. It supports Fast CGI and just-in-time compilation for providing the highest performance using the flexibility of PHP. Code is compiled directly to an intermediate bytecode which bytecode is after being translated into x64 machine code dynamically at runtime by a just-in-time (JIT) compiler.