Stack
Jump to navigation
Jump to search
See also Server, Distros, Box, BOA, E-mail#Server
to sort out big time
Virtualisation
- https://coderwall.com/p/a56j3w - tuning ubuntu vms
Hardware virtualisation
QEMU
Xen
- Xen Hypervisor is an open source virtualization platform that powers the world's largest clouds in production and is the foundation of many commercial products. Xen powers public clouds such as Amazon Web Services, Rackspace Public Cloud and many others. Examples of Xen based server products include Huawei UVP, Oracle VM and XenServer. Examples of client products and appliances include QubesOS, XenClient and Netscaler. Xen is 9 years old, mature and its stability and versatility is second to none.
- http://www.asplund.nu/xencluster/xen-cluster-howto.html
- http://onlamp.com/onlamp/2008/02/05/using-xen-for-high-availabilty-clusters.html
- http://www.tanasi.it/991-making-clusters-with-xen-and-heartbeat.html
KVM
- KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream. Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
VirtualBox
VirtualBox config;
- Enable host Linux modules: vboxnetflt and vboxnetadp
- Enable host-only adapter 'virtualbox0' in VB Preferences > Network if not previously enabled, then select in guest preferences
- Keep VM names lowercase and no spaces for easier command-line stuff
Install guest additions for mouse, etc.
Provisioning VirtualBoxes for local dev work;
- Vagrant - VirtualBox provisioning with Puppet, etc.
Vargrant
- Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically. The first couple pages serve to introduce you to Vagrant and what it has to offer while the rest of the guide is a technical walkthrough for building a fully functional web development environment. The getting started guide concludes by explaining how to package the newly created vagrant environment so other developers can get up and running in just a couple commands.
vagrant package --vagrantfile Vagrantfile.pkg --include README.txt stored in ~/.vagrant.d/boxes vagrant box add lucid32 http://files.vagrantup.com/lucid32.box vagrant box remove lucid32 vagrant box list
- Veewee is a tool for easily (and repeatedly) building custom Vagrant base boxes, KVMs, and virtual machine images.
Operating system-level virtualisation
- Containers, Not Virtual Machines, Are the Future Cloud [1]
- http://blog.appfog.com/docker-and-the-future-of-the-paas-layer/
LinuX Containers
Linux-VServer
- Linux-VServer provides virtualization for GNU/Linux systems. This is accomplished by kernel level isolation. It allows to run multiple virtual units at once. Those units are sufficiently isolated to guarantee the required security, but utilize available resources efficiently, as they run on the same kernel.
Solaris Containers / Zones
- http://en.wikipedia.org/wiki/OpenSolaris
- http://en.wikipedia.org/wiki/Illumos
- http://en.wikipedia.org/wiki/SmartOS
OpenVZ
Docker
- Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
- dockerlite lets you run Linux apps in lightweight, isolated environments, using LXC (Linux Containers). Using BTRFS snapshots, dockerlite can save the state of a given environment in a frozen "image", and later, create more environments ("containers") out of that image.
- http://blog.docker.io/2013/06/14-great-tutorials-on-docker/
- http://crosbymichael.com/dockerfile-deep-dive.html
- Docker and GitHub: Continuous Deployment Made Simple - with linode
CoreOS
- CoreOS is Linux for the container world. Linux kernel + systemd. That's about it. CoreOS has just enough bits to run containers, but does not ship a package manager itself. In fact, the root partition is completely read-only, to guarantee consistency and make updates reliable. Use docker as a package manager to build and push your app. The primitive of an application is a container, not a one-off package. Build containers using docker, by hand, or however you see fit! [3]
Desktop virtualization
Provision and configuration management
- Puppet or Chef? - 2012-10-28 [4]
Puppet
- Puppet Labs
- Puppet Master - Central management daemon.
- Puppet Agent - Runs on each managed node.
- Puppet Apply - For local use.
- http://docs.puppetlabs.com/guides/tools.html etc.
- Puppet Wiki: Core Types Cheat Sheet
- Puppet Wiki: Simple Text edits
- Ubuntu puppet info
- AUR: puppet
- AUR: puppet dashboard
apt-get install puppet puppetmaster facter rubygems puppet-module
- http://blog.shanemeyers.com/2010/09/14/installing-wordpress-via-puppet/
- https://github.com/jonhadfield/puppet-wordpress
Foreman
Chef
Salt
- http://saltstack.org/
- http://blog.smartbear.com/devops/a-taste-of-salt-like-puppet-except-it-doesnt-suck/
Other
- Fabric - Python SSH library
- Capistrano is a utility and framework for executing commands in parallel on multiple remote machines, via SSH. It uses a simple DSL (borrowed in part from Rake) that allows you to define tasks, which may be applied to machines in certain roles. It also supports tunneling connections via some gateway machine to allow operations to be performed behind VPN's and firewalls. Capistrano was originally designed to simplify and automate deployment of web applications to distributed environments, and originally came bundled with a set of tasks designed for deploying Rails applications.
- Synapse enables you to remotely manage a large number of hosts. It brings together features of Configuration Management and Orchestration in a lightweight framework. Written in Python and using AMQP for messaging between the nodes.
- Ansible is a radically simple configuration-management, deployment, task-execution, and multinode orchestration framework.
- The Foreman is a complete lifecycle management tool for physical and virtual servers. Through deep integration with configuration management, DHCP, DNS, TFTP, and PXE-based unattended installations, Foreman manages every stage of the lifecycle of your physical or virtual servers. The Foreman provides comprehensive, auditable interaction facilities including a web frontend and robust, RESTful API.
- Archipel is an Open Source project that aims to bring push notifications to virtualization orchestration using XMPP.
Continuous process
- http://en.wikipedia.org/wiki/Continuous_design
- http://en.wikipedia.org/wiki/Continuous_integration
- http://en.wikipedia.org/wiki/Continuous_delivery
"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly."
- Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 400 plugins to support building and testing virtually any project.
To sort
- Centmin Mod is for installation on CentOS only and written by George Liu (eva2000) with the addition of a shell menu based installer (shown on the right). Centmin Mod shell based menu allows you to do basic Nginx & PHP related management including upgrading or downgrading Nginx & PHP or setting up Nginx vhosts.
Juju
OpenStack
- http://www.openstack.org/
- http://en.wikipedia.org/wiki/OpenStack
- Nova is the project name for OpenStack Compute, a cloud computing fabric controller, the main part of an IaaS system. Individuals and organizations can use Nova to host and manage their own cloud computing systems. Nova originated as a project out of NASA Ames Research Laboratory.
OpenNebula
- OpenNebula.org is an open-source project developing the industry standard solution for building and managing virtualized enterprise data centers and enterprise private clouds.
- OpenNebula is an open-source cloud computing toolkit for managing heterogeneous distributed data center infrastructures.
Eucalyptus
Container
Tasksel
other tasks
- firewall ports
- services and daemons..