Exploring the Aegir Ecosystem

Embed Size (px)

DESCRIPTION

As anyone who has ventured into managing multiple drupal sites and platforms with Aegir knows, its an incredibly powerful tool that comes with a learning curve to use effectively. On top of that it has a very active contrib ecosystem that can extend its capabilities in powerful new ways This session aims to connect a few of the existing dots by covering topics such as *The different flavours of Aegir - BOA, Devshop, Valkyrie *Getting up and running with Aegir in the cloud. *Local development environments using Vagrant. *Remote importing production sites *Different approaches to building sites under version control to use as platforms within Aegir *Workflows for Dev/Stage/Prod using Aegir. *Building SaaS Drupal products using Aegir. This is intended to be a roundup of the various projects and advanced techniques surrounding working with Aegir to evaluate where its at, what we can do with whats out there already and what still needs to be done to make it even better. It will not be a code heavy session although some familiarity with what Aegir does beforehand may be helpful as we will be covering more advanced usage topics. The dev/stage/prod workflow demonstration video used in the presentation is at https://vimeo.com/76546448

Citation preview

  • 1.Aegir Eco-system Gregg Coppen twitter.com/skabenga github.com/iaminawe drupal.org/user/218536 greggcoppen.com iaminawe.com [email protected]

2. What does Aegir do? Aegir allows you to deploy and manage many Drupal sites, and can scale across multiple server clusters. Aegir makes it easy to install, upgrade, and backup an entire network of Drupal sites. Enforces best practices site building using drush make, features and install profiles https://drupal.org/project/hostmaster http://community.aegirproject.org/ 3. Git Strategy: Minimal No contrib in version control Only custom themes, modules & features Drupal core not included Deploy platforms with Aegir direct from .build Is lightweight and makes platforms portable Patches applied from the make file Treats a site like a product Is suited to multiple sites/multiple environments per platform model Is a distribution Aegir/BOA works well with this method. Devshop does not work with this yet. 4. Git Strategy: Full Full codebase in git repository Includes all contrib modules, themes & features Includes Drupal core code Integrates very well with Devshop Can work fine with Aegir/BOA too. Is suited to one site/multiple environments per platform model Has benefits in that platforms do not rely to drupal.org to be built Is less flexible and re-usable Is a larger codebase to move around with all libraries modules etc 5. Switching to Install Profiles These modules help to move sites from a full codebase to minimal install profile based codebase https://drupal.org/project/profiler Profiler allows you to quickly and easily create new install profiles https://drupal.org/project/profiler_builder Profiler Builder is a module for automating the creation of installation profiles and distributions. https://drupal.org/project/profile_switcher Used to switch between install profiles found in /profile directory. This module is useful for moving an existing site to distribution. 6. Vagrant Development environments made easy. Create and configure lightweight, reproducible, and portable development environments. Live in contained boxes http://www.vagrantup.com/ https://drupal.org/project/vagrant 7. Drush Vagrant Drush Vagrant Integration provides Drush commands to accomplish common Vagrant tasks, and provides a powerful templating framework ('blueprints'). It also has tools to implement Drush aliases for Vagrant projects and VMs, thus allowing simpler remote control of Vagrant projects. https://drupal.org/project/drush-vagrant http://drupal.org/project/drupal-up https://drupal.org/project/aegir-up 8. Barracuda Octopus Aegir Barracuda: Barracuda is a bash script to install and/or upgrade, tuned for high performance Aegir Master Instance with all related system services. Octopus: Octopus is a bash script to install and/or upgrade, tuned for high performance, Aegir Satellite Instances, compatible with Barracuda High performance LEMP Aegir stack https://drupal.org/project/boa 9. Barracuda Barracuda is the main script for the base/core Aegir Hosting System install and upgrades, including OS environment, main Aegir instance, but no platforms will be added there to keep it compatible with all existing and future installs Tuner script available for easy system tuning https://drupal.org/project/barracuda 10. Octopus Octopus is an Aegir + Platforms installer and updater It allows to install new versions of platforms with clean directory structure, with code shared between all created instances, so one vanilla Octopus instance is using only ~18 MB, while most of the code, which is over 1700 MB total, is shared. Sharing the code between instances is of critical importance, because it allows you to dramatically lower RAM and CPU usage, because most of the actively used code is opcode cached with APC. https://drupal.org/project/octopus 11. Local BOA https://github.com/iaminawe/boa-vagrant An unofficial vagrant/chef installer to easily set up a local BOA development environment Full setup in about 45 mins Includes patches for hosting import module and updates for Virtualbox Mounts platforms folder transparently to your file system to work on it locally in the guest OS Fork and update user & build info in cookbooks 12. Stage/Prod Cloud BOA http://drupalcode.org/project/barracuda.git/blob/HEAD:/docs/INSTALL.txt Use the official BOA Installer on any cloud based VPS. Full setup in 30 mins from one command Set wildcard dns for remote environment fqdn Reproducible to setup remote servers and clusters 13. Managed Hosted BOA https://omega8.cc/ Created by the talented team behind the Barracuda/Octopus projects Is the exact same stack you are already using Blazingly fast with core based pricing model Highly optimized Aegir environments in the cloud Amazing technical support on many levels 14. BOA Local/Remote Workflow Demo Video to come soon. 15. Devshop: Drupal Devops in a box Host all of your Drupal projects, with unlimited environments each, on one or many servers. Use the git host of your choice and follow your own branching strategy. Web UI for Pulling Code, Copying Data, Committing Features, Running Tests, and Forking Environments. Set of modules that add to an existing Aegir install https://drupal.org/project/devshop 16. 1. to simplify management of multiple environments for multiple Drupal projects. 2. to provide web-based tools that streamline the Drupal site building workflow. 3. to provide a common, open-source infrastructure for Drupal development shops. Devshop Goals https://drupal.org/project/devshop 17. Devshop Workflow Demo Video to come soon. 18. DevOps for Drupal Valkyrie is a Drupal development and hosting system built on Aegir and DevShop. Among Aegir's many powerful features is making it easy to keep a large number of sites up-to-date using a common platform defined by a Drush makefile. While DevShop introduces several components crucial to development such as projects and environments, but prioritizes flexibility over maintainability by putting the entire platform under Git. Valkyrie strives for the best of both worlds, leveraging DevShop's developer-focused innovations, while maintaining Aegir's sysadmin focus on the security and on-going support that production sites require. http://drupal.org/project/valkyrie 19. Convergence Devshop + BOA together? https://drupal.org/node/1935810 Currently Aegir is D6 and stable release is at 1.1 2.x branch is in testing at 2.0-rc4 Upgrading Aegir to D7 has begun https://drupal.org/node/1261030 Skynet takes over http://www.youtube.com/watch?v=_Wlsd9mljiU 20. Thanks Questions? http://twitter.com/skabenga http://github.com/iaminawe http://drupal.org/user/218536 http://greggcoppen.com http://iaminawe.com [email protected]