Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but...

21
Hosting Drupal sites? You need Colan Schwartz & Christopher Gervais @ DrupalCamp Montreal, 2018-06-15 Licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) Hosting Drupal sites? You need Colan Schwartz & Christopher Gervais @ DrupalCamp Montreal, 2018-06-15 Licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Transcript of Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but...

Page 1: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

Hosting Drupal sites? You need

Colan Schwartz & Christopher Gervais@

DrupalCamp Montreal, 2018-06-15

Licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Hosting Drupal sites? You need

Colan Schwartz & Christopher Gervais@

DrupalCamp Montreal, 2018-06-15

Licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Page 2: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

AEGIR API

Speaker Information

‣ Colan Schwartz‣ Core Maintainer of Aegir‣ colan on drupal.org (12 yrs)‣ colan.consulting‣ Enterprise Cloud Architect‣ Independent Contractor‣ Aegir/SaaS/PaaS/IaaS‣ Start-ups, Government, etc.‣ Small site builds

‣ Christopher Gervais‣ Aegir Project Lead‣ ergonlogic on drupal.org‣ DevOps/Aegir/Cloud Eng.

Page 3: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

HISTORY & COMMUNITY

‣ Started in 20061. Bryght / Raincity Studios2. Development Seed3. Koumbit4. Now : Disparate core team

‣ Community‣ 6 core maintainers‣ 20+ contributors‣ 500+ installations

‣ Values:‣ Share best practices‣ Tools not policy‣ Keep the software stack free

(libre)

History

Page 4: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

OTHER CAPABILITIES

‣ National Democratic Institute‣ NASA‣ CiviCRM‣ European Commission

Who’s using it?

Page 5: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

ARCHITECTURE

‣ http://docs.aegirproject.org/en/3.x/

‣ Front-end:‣ Hostmaster (profle)‣ Hosting (modules)‣ Eldir (theme)

‣ Back-end:‣ Provision (Drush)

‣ Installation‣ See Install Guide‣ Options :

● Debian package● Docker● Manual

Architectural Components & Installation

Page 6: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 7: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

CORE CONCEPTS

‣ Servers (services)‣ Platforms (code-base)‣ Sites (confg & state)‣ Tasks & queues

Entities

Page 8: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 9: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

BUILDING PLATFORMS

‣ Custom code-bases manage updates to one or hundreds of sites at a time.‣ Drush Make‣ Git‣ Manual‣ Composer

● Core functionality● Extras : Aegir Deploy

Deployment Strategies

Page 10: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 11: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 12: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

MANAGING SITES

‣ Creates site directory‣ Provisions database‣ Writes:

‣ settings.php‣ drushrc.php‣ vhost

‣ Restarts web server

Site Installation

Page 13: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 14: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

MANAGING SITES (CONT’D)

‣ Migration (updates)‣ Creates a backup‣ Deploys new site from

backup‣ Re-writes fle paths in

database‣ Runs update.php‣ Re-writes vhost

‣ Notable features‣ Rollback on failure‣ Platform migration

➢ All sites on a platform !

Site/Platform Migration

Page 15: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original
Page 16: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

CLUSTERING SERVERS

‣ High-performance and highly-available sites.‣ Web cluster (rsync, S3)‣ Web pack (NFS)

‣ Load-balancing & reverse-proxy/cache are currently managed externally.

‣ Site auditing, monitoring, and reporting

Infrastructure Tools

Page 17: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

WORKFLOWS

‣ Automating workfows across development, testing, staging and production environments.‣ Remote site importing‣ DevShop‣ BOA/Octopus‣ Custom workfows via

convention and/or Aegir API

DevOps

Page 19: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

AEGIR API

‣ Just like Drupal core‣ Leverage the Aegir API to

customize workfows and deploy custom confguration to sites and web servers.

‣ Examples● Inject custom vhost confg● Run code after site creation● Etc.

Hook System

Page 20: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

HISTORY & COMMUNITY

‣ Aegir 3 is stable, but soon :

‣ Aegir 4● Long-term global Drush● Jon Pugh● Drush → Symfony● Keeps original front-end● Medium-term solution until…

‣ Aegir 5● Complete rewrite● Chris Gervais (ergonlogic)● Drupal 8 front-end● Drush → Ansible / K8s● Celery (task queue)● Can host anything !● Architecture doc

Future

Page 21: Hosting Drupal sites? You need - Colan Schwartz · HISTORY & COMMUNITY ‣ Aegir 3 is stable, but soon : ‣ Aegir 4 Long-term global Drush Jon Pugh Drush → Symfony Keeps original

ARCHITECTURE

‣ Questions ?‣ Discussion ?

‣ Thanks !