This document discusses using Ansible to automate the deployment of Drupal 8 on a cluster of Raspberry Pis, called the #Dramble. It begins with an introduction to Ansible and how it can be used to solve problems with growing infrastructure and complex Drupal deployments. It then demonstrates how to define servers in Ansible inventory, run ad-hoc commands, and build playbooks to provision servers and deploy Drupal 8. Benchmarks show the #Dramble can handle over 2,000 requests per second when caching is enabled, but only 14 requests per second without caching. More opportunities for improving Drupal 8 performance on the #Dramble are discussed.
11. The #Dramble
CPU 24 cores / 5.4 GHz
RAM 6 GB
Storage 96 GB microSD
Network 10/100 over Gigabit network
12.
13. Inventory
Like a hosts file for Ansible (/etc/ansible/hosts)
INI syntax
[webservers]
www1.pidramble.com
www2.pidramble.com
www3.pidramble.com
14. Inventory
Like a hosts file for Ansible (/etc/ansible/hosts)
INI syntax
[webservers]
www1.pidramble.com
www2.pidramble.com
www3.pidramble.com
Group
Servers in group
24. Playbooks
Ad-Hoc commands don't solve the
snowflake problem
"infrastructure as code"
Simple YAML files
Run with: ansible-playbook
Unique, by Pen Waggener
27. Playbooks
Includes: include playbooks in other playbooks
Variables: flexible - defaults and easy overrides
Templates: use Jinja2 (Twig-like syntax!)
Roles: encapsulate 'chunks' of configuration (like PHP classes)
28. Back to the #Dramble
“Drupal 8 on a cluster
of Raspberry Pis”