Deploy full-stack Plone with Ansible
It's easy to install Plone for testing or development. Just download the Unified Installer (for Linux, BSD or OS X) or a binary installer from the release page and install on your laptop, desktop or server.
It's not so easy to get it installed efficiently on a production server. To do it right, you need to fit several components into a full stack: a ZEO Cluster, load balancer, proxy cache, rewrite engine, SMTP agent and timed backup and database-maintenance jobs. And, it's just plain irresponsible to deploy a production server without update, firewall, monitoring and log-analysis mechanisms. See the Guide to deploying and installing Plone in production for a comprehensive description of components.
Plone's new Ansible Playbook should provide integrators and webmasters with a quick start and a solid basis for scaling up. Ansible is a Python-based remote server provisioning tool that requires only SSH access to repeatably deploy server configurations. The new playbook is an Ansible kit for deploying Plone in a cluster configuration with HAProxy for a load balancer, Varnish for a proxy cache, nginx for a capable rewrite and logging engine, Postfix for a send-only SMTP agent, munin-node for monitoring, logwatch for loganalysis, and more.
Complete documentation is already online. A few sample configurations are included, and there are ample options for adjusting all the elements of the stack. Your buildout specification may be based on the built-in file or cloned via git.You may also just build your own playbook and use the plone_server role, deployed from Ansible Galaxy to do the Plone part. Then you can pick all the stack components and tailor them to your precise needs.
Here's a quick (just under four minute) narrated demonstration of the playbook:
The version above is narrated. If you'd rather not be distracted by my voice, the version below is accompanied by Vivaldi's Spring: