Transcript
Page 1: Drupal DevOps - Melbourne DevOps July 2013

Drupal DevOpsDecoupling, Demystifying and DecomplicatingChris Ward - @chrischinch

Page 2: Drupal DevOps - Melbourne DevOps July 2013

Why use a CMS?Why reinvent the wheel?

Existing body of knowledge

Requirement

Page 3: Drupal DevOps - Melbourne DevOps July 2013

Why Drupal?CMS/CMF/Framework?

Learning curve

Powers BIG sites

Growing

Less bad for DevOps

meetup.com/drupalmelbourne

Page 4: Drupal DevOps - Melbourne DevOps July 2013

So what’s the problem?

Page 5: Drupal DevOps - Melbourne DevOps July 2013

flickr.com/photos/30222677@N04/5134688484

Page 6: Drupal DevOps - Melbourne DevOps July 2013

How can Drupal help?Features

Profiles

Drush

Drush Aliases

Drush Make

Aegir

Other tools…

Page 7: Drupal DevOps - Melbourne DevOps July 2013

Starting at the end… Drupal 8Symfony

Configuration Management

Page 8: Drupal DevOps - Melbourne DevOps July 2013

FeaturesPackage configuration into reusable and deployable bundles.

UUID for content

Not the only approach… ‘Apps’

Page 9: Drupal DevOps - Melbourne DevOps July 2013

DrushCommand Line Drupal

Simplifies many, many tasks

Extended by other modules

Page 10: Drupal DevOps - Melbourne DevOps July 2013

Drush AliasesThe same features as before

On any site/server

Page 11: Drupal DevOps - Melbourne DevOps July 2013

Drush Make / ProfilesCreate sites on the command line

Specify Core, Modules, Features and more

Profiles are your custom starting point

Distributions

Page 12: Drupal DevOps - Melbourne DevOps July 2013

Tying it together… AegirControl panel and Deployment tool for Drupal

Utilises all the components touched upon

Page 13: Drupal DevOps - Melbourne DevOps July 2013

Questions so far?

Page 14: Drupal DevOps - Melbourne DevOps July 2013

Other tools

Page 15: Drupal DevOps - Melbourne DevOps July 2013

TestingSimpletest

Selenium

Automated testing with • Jenkins• Behat

Page 16: Drupal DevOps - Melbourne DevOps July 2013

DevOp GoodnessVagrant

Puppet

Devel

Backup & Migrate

Acquia Dev Desktop

Acquia Dev cloud

Pantheon

Page 17: Drupal DevOps - Melbourne DevOps July 2013

OptimisingDefault levels

Boost

Memcache

Varnish

Nginx

MariaDB, MongoDB

Many specific tips

Page 18: Drupal DevOps - Melbourne DevOps July 2013

Questions?Chris Ward@chrischinchLook for ‘Chris Chinchilla’ on LinkedIn, G+ etc