SlideShare a Scribd company logo
DEPLOYING PLONE ON AMAZON
AWS
Kim Nguyen / kim@sixfeetup.com
ABOUT ME
➤ Working with Plone since 2003
➤ 350+ Plone sites at University of Wisconsin Oshkosh
➤ Developer → team lead → project manager
➤ Engineering team lead @ Six Feet Up
PLONE
It's hardcore
It can scale
BASIC PLONE STACK
BASIC PLONE STACK
➤ nginx web server
➤ (optional) varnish cache
➤ 2+ ZEO clients
➤ 1 ZEO server
MANUAL DEPLOYMENT
MANUAL DEPLOYMENT
➤ Provision a virtual machine (Digital Ocean, Linode, Amazon Lightsail)
➤ Set up firewall
➤ Download and run the Plone unified installer
➤ Set up nginx web server
➤ Set up automatic Plone start scripts
➤ Set up cron jobs (zeopack, backup)
➤ Remember to log in periodically to apply system updates
➤ Hope no one hacks into the system (no monitoring)
THERE IS A BETTER WAY
THE BETTER WAY
➤ Deploy repeatably, consistently
➤ Keep server configuration under version control
➤ Make all configuration changes in one place
➤ Use automation to deploy configuration changes
➤ Avoid logging into the servers
➤ NEVER MODIFY THE SERVERS DIRECTLY
WHY USE REPEATABLE DEPLOYMENTS
➤ There is never any question about what’s running on a given server
➤ Consistency of configuration → when you make a change in one Plone server, it is
made on all Plone servers
➤ With repeatable deployments you can easily create multiple environments for:
➤ testing
➤ Quality Assurance or staging
➤ production
➤ disaster recovery
TOOLS FOR REPEATABLE
DEPLOYMENTS
TOOLS FOR REPEATABLE DEPLOYMENTS
➤ Ansible (ansible.com)
➤ Terraform (terraform.io)
➤ Saltstack (saltstack.com)
PLONE ANSIBLE PLAYBOOK
PLONE ANSIBLE PLAYBOOK
➤ Use Ansible to provision a single full-stack Plone server github.com/plone/ansible-
playbook with
➤ a Plone ZEO cluster (1 ZEO server, 2 ZEO clients)
➤ supervisor for automatic start/stop of the Plone cluster
➤ HAProxy load balancing
➤ Varnish caching
➤ Nginx as a proxy and URL rewrite engine
➤ Postfix for outgoing mail
➤ munin-node, logwatch and fail2ban for monitoring and log analysis
➤ Vagrant and VirtualBox for testing the setup
BUT THAT’S JUST ONE SERVER
DEPLOY TO THE CLOUD
➤ For this demo, we will use Amazon AWS
➤ Biggest established cloud provider
➤ Continuing adoption growth
➤ Robust, well understood
➤ Many other services available (e.g. machine learning,
containers, databases)
➤ 66 availability zones in 21 geographic regions
DEPLOY TO THE CLOUD
DEMO: TERRAFORM
➤ Demo code: github.com/tkimnguyen/aws-auto-deploy-demo
➤ Terraform will provision servers using AWS:
➤ Create virtual private cloud (VPC)
➤ Define access control lists (ACLs)
➤ Create 2 Elastic Compute Cloud (EC2) instances
➤ A salt “master”
➤ A salt “minion” (the Plone server)
DEMO: SALT
➤ Then Terraform invokes Saltstack on the minion to set up our software
➤ Saltstack reads states stored on the master to:
➤ Install Plone
➤ Install and configure supervisor
AWS PREPARATION
➤ Create an AWS account at aws.amazon.com
➤ Create an AWS user at console.aws.amazon.com/iam
➤ Set up an access key pair called plone-conf-demo-sfup by importing your ssh public
key
➤ Add aws_access_key_id and aws_secret_access_key to your ~/.aws/
credentials file
LOCAL COMPUTER PREPARATION
➤ Install Terraform from www.terraform.io/downloads.html
git clone https://github.com/tkimnguyen/aws-auto-deploy-
demo.git
cd aws-auto-deploy-demo
cd terraform
terraform init
terraform plan
DEMO STEPS
➤ Apply the Terraform plan
terraform apply
➤ Obtain IP address of Plone server
terraform state pull aws_instance |egrep ‘"name"|public_ip"'
➤ ssh into Plone server
ssh -L8080:localhost:8080 ubuntu@18.209.237.90
➤ view salt progress log
tail -f /var/log/cloud-init-output.log
OTHER AWS GOODIES
OTHER AWS GOODIES
➤ CloudFront (aws.amazon.com/cloudfront) for content delivery network (caching)
around the world
➤ Shield for DDoS mitigation, Web Application Firewall
➤ CloudWatch (aws.amazon.com/cloudwatch) for monitoring and autoscaling
➤ Elastic Load Balancing (aws.amazon.com/elasticloadbalancing) for load balancing of
HTTP and HTTPS traffic, integration with Auto Scaling, monitoring & auditing
➤ Relational Database Service (aws.amazon.com/rds) with PostgreSQL
→ use with Plone RelStorage
→ now you have replication and failover
Deploying Plone on AWS
Planning Development Orchestration Support
QUESTIONS? PLEASE ASK!
KIM@SIXFEETUP.COM

More Related Content

What's hot (20)

PDF
fmcsadmin 1.0.0
Atsushi Matsuo
 
PPTX
WinOps 2017 - Docker on Windows, the Beginner's Guide
Elton Stoneman
 
PPTX
Windows Containers and Docker: Why You Should Care
Elton Stoneman
 
PDF
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
PDF
Quickly extending into testing with docker
Tom Cudd
 
PPTX
Vagrant to-aws-flow
Kimberly Macias
 
PDF
SV iOS Meetup Slides: YmsCoreBluetooth and Deep Core Bluetooth
Charles Y. Choi
 
PPTX
Vagrant
ProfessionalVMware
 
PDF
Bluetooth Over-The-Air Firmware Update
Ramin Firoozye
 
PDF
Drone your Ansible
Dennis Rowe
 
PDF
Ansible Oxford - Cows & Containers
jonatanblue
 
PPTX
"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12
Puppet
 
PDF
Automated Deployment with Capistrano
Sumit Chhetri
 
PDF
Puppet in the Pipeline
Puppet
 
PDF
Jenkins Docker
Alex Soto
 
PPTX
Ansible presentation
Suresh Kumar
 
PDF
How to contribute Apache CloudStack
Go Chiba
 
PDF
Investigation of testing with ansible
Dennis Rowe
 
PPTX
Hadoop presentation
MaggieZhang61
 
PDF
StackiFest16: Building a Cart
StackIQ
 
fmcsadmin 1.0.0
Atsushi Matsuo
 
WinOps 2017 - Docker on Windows, the Beginner's Guide
Elton Stoneman
 
Windows Containers and Docker: Why You Should Care
Elton Stoneman
 
Vagrant for real (codemotion rome 2016)
Michele Orselli
 
Quickly extending into testing with docker
Tom Cudd
 
Vagrant to-aws-flow
Kimberly Macias
 
SV iOS Meetup Slides: YmsCoreBluetooth and Deep Core Bluetooth
Charles Y. Choi
 
Bluetooth Over-The-Air Firmware Update
Ramin Firoozye
 
Drone your Ansible
Dennis Rowe
 
Ansible Oxford - Cows & Containers
jonatanblue
 
"Puppet at SpaceX" - Jok Thuau of SpaceX - PuppetCamp LA '12
Puppet
 
Automated Deployment with Capistrano
Sumit Chhetri
 
Puppet in the Pipeline
Puppet
 
Jenkins Docker
Alex Soto
 
Ansible presentation
Suresh Kumar
 
How to contribute Apache CloudStack
Go Chiba
 
Investigation of testing with ansible
Dennis Rowe
 
Hadoop presentation
MaggieZhang61
 
StackiFest16: Building a Cart
StackIQ
 

Similar to Deploying Plone on AWS (20)

PPTX
Using AWS, Terraform, and Ansible to Automate Splunk at Scale
Data Works MD
 
PDF
Terraforming your Infrastructure on GCP
Samuel Chow
 
PPTX
An intro to Docker, Terraform, and Amazon ECS
Yevgeniy Brikman
 
PPTX
Building services on AWS in China region
Roman Naumenko
 
PDF
2013 PyCon SG - Building your cloud infrastructure with Python
George Goh
 
PDF
Getting Started with DevOps on AWS [Mar 2020]
Dhaval Nagar
 
PDF
AWS DevOps - Terraform, Docker, HashiCorp Vault
Grzegorz Adamowicz
 
PDF
Workshop Infrastructure as Code - Suestra
Mario IC
 
PPTX
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Bobby DeVeaux, DevOps Consultant
 
PDF
AWS Blue_Green Deployment Using Terraform Guide.pdf
squareopsusmarketing
 
PPTX
How to deploy a smart city platform?
Fernando Lopez Aguilar
 
PPTX
re:Invent CON320 Tracing and Debugging for Containerized Services
Calvin French-Owen
 
PDF
Microservices with Terraform, Docker and the Cloud. Chicago Coders Conference...
Derek Ashmore
 
PDF
Terraform GitOps on Codefresh
Codefresh
 
PPTX
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Docker, Inc.
 
PPTX
Building Efficient, Scalable and Resilient Front-end logging service with AWS
AWS User Group Bengaluru
 
PPTX
Building Efficient, Scalable and Resilient Front-end logging service with AWS
AWS User Group Bengaluru
 
PPTX
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
AWS Germany
 
PDF
Priming Your Teams For Microservice Deployment to the Cloud
Matt Callanan
 
PPTX
RIMA-Infrastructure as a code with Terraform.pptx
MrJustbis
 
Using AWS, Terraform, and Ansible to Automate Splunk at Scale
Data Works MD
 
Terraforming your Infrastructure on GCP
Samuel Chow
 
An intro to Docker, Terraform, and Amazon ECS
Yevgeniy Brikman
 
Building services on AWS in China region
Roman Naumenko
 
2013 PyCon SG - Building your cloud infrastructure with Python
George Goh
 
Getting Started with DevOps on AWS [Mar 2020]
Dhaval Nagar
 
AWS DevOps - Terraform, Docker, HashiCorp Vault
Grzegorz Adamowicz
 
Workshop Infrastructure as Code - Suestra
Mario IC
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Bobby DeVeaux, DevOps Consultant
 
AWS Blue_Green Deployment Using Terraform Guide.pdf
squareopsusmarketing
 
How to deploy a smart city platform?
Fernando Lopez Aguilar
 
re:Invent CON320 Tracing and Debugging for Containerized Services
Calvin French-Owen
 
Microservices with Terraform, Docker and the Cloud. Chicago Coders Conference...
Derek Ashmore
 
Terraform GitOps on Codefresh
Codefresh
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Docker, Inc.
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
AWS User Group Bengaluru
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
AWS User Group Bengaluru
 
Deep Dive on Amazon Elastic Container Service (ECS) I AWS Dev Day 2018
AWS Germany
 
Priming Your Teams For Microservice Deployment to the Cloud
Matt Callanan
 
RIMA-Infrastructure as a code with Terraform.pptx
MrJustbis
 
Ad

More from T. Kim Nguyen (20)

PDF
Your Plone [Intranet] in a Box™
T. Kim Nguyen
 
PDF
Permissions & Security in Plone
T. Kim Nguyen
 
PDF
How to Setup a Plone Intranet in Half a Day (Python Web Conf 2020)
T. Kim Nguyen
 
PDF
Melding React with the Ultra Secure Plone Content Repository
T. Kim Nguyen
 
PDF
A Case Study: Measuring Productivity in Education
T. Kim Nguyen
 
PDF
State of Plone 2017
T. Kim Nguyen
 
PDF
Have Content Quality, Will Search Your Intranet, by Fulvio Casali
T. Kim Nguyen
 
PDF
I broke what? Taking over maintenance on existing (well loved) projects, by B...
T. Kim Nguyen
 
PDF
TU Dresden: A Large-Scale Plone Deployment Case Study, by Sebastian Gottfried
T. Kim Nguyen
 
PDF
TUD-Chat – a moderated chat add-on for Plone, by Sebastian Schietzold
T. Kim Nguyen
 
PDF
Plone as a Conference Management System, by Adriana Ramírez V. and Gildardo ...
T. Kim Nguyen
 
PDF
Our Castle's Strength
T. Kim Nguyen
 
PDF
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
T. Kim Nguyen
 
PDF
Trajectory: Integrating SQL Data into your Plone Site, Plone Conference 2016,...
T. Kim Nguyen
 
PDF
Web Development with Vim by Johannes Raggam
T. Kim Nguyen
 
PDF
Gold in Rio
T. Kim Nguyen
 
PPTX
Top 5 secrets of distributed teams / Christina McNeill & T. Kim Nguyen
T. Kim Nguyen
 
PDF
Easy online business processes with Plone forms and workflow
T. Kim Nguyen
 
PDF
Plone for CMS review group at UW Oshkosh
T. Kim Nguyen
 
PDF
PloneEdu.org: New Opportunities, New Frontiers
T. Kim Nguyen
 
Your Plone [Intranet] in a Box™
T. Kim Nguyen
 
Permissions & Security in Plone
T. Kim Nguyen
 
How to Setup a Plone Intranet in Half a Day (Python Web Conf 2020)
T. Kim Nguyen
 
Melding React with the Ultra Secure Plone Content Repository
T. Kim Nguyen
 
A Case Study: Measuring Productivity in Education
T. Kim Nguyen
 
State of Plone 2017
T. Kim Nguyen
 
Have Content Quality, Will Search Your Intranet, by Fulvio Casali
T. Kim Nguyen
 
I broke what? Taking over maintenance on existing (well loved) projects, by B...
T. Kim Nguyen
 
TU Dresden: A Large-Scale Plone Deployment Case Study, by Sebastian Gottfried
T. Kim Nguyen
 
TUD-Chat – a moderated chat add-on for Plone, by Sebastian Schietzold
T. Kim Nguyen
 
Plone as a Conference Management System, by Adriana Ramírez V. and Gildardo ...
T. Kim Nguyen
 
Our Castle's Strength
T. Kim Nguyen
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
T. Kim Nguyen
 
Trajectory: Integrating SQL Data into your Plone Site, Plone Conference 2016,...
T. Kim Nguyen
 
Web Development with Vim by Johannes Raggam
T. Kim Nguyen
 
Gold in Rio
T. Kim Nguyen
 
Top 5 secrets of distributed teams / Christina McNeill & T. Kim Nguyen
T. Kim Nguyen
 
Easy online business processes with Plone forms and workflow
T. Kim Nguyen
 
Plone for CMS review group at UW Oshkosh
T. Kim Nguyen
 
PloneEdu.org: New Opportunities, New Frontiers
T. Kim Nguyen
 
Ad

Recently uploaded (20)

PPTX
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
PPTX
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
PPTX
英国学位证(RCM毕业证书)皇家音乐学院毕业证书如何办理
Taqyea
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PPT
Computer Securityyyyyyyy - Chapter 1.ppt
SolomonSB
 
PDF
DevOps Design for different deployment options
henrymails
 
PDF
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
PPTX
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
PPTX
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
PPTX
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
PDF
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PPTX
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
PPT
introductio to computers by arthur janry
RamananMuthukrishnan
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PPTX
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
PDF
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
PPTX
ipv6 very very very very vvoverview.pptx
eyala75
 
PDF
Pas45789-Energs-Efficient-Craigg1ing.pdf
lafinedelcinghiale
 
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
英国学位证(RCM毕业证书)皇家音乐学院毕业证书如何办理
Taqyea
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
Computer Securityyyyyyyy - Chapter 1.ppt
SolomonSB
 
DevOps Design for different deployment options
henrymails
 
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
Optimization_Techniques_ML_Presentation.pptx
farispalayi
 
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
introductio to computers by arthur janry
RamananMuthukrishnan
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
ipv6 very very very very vvoverview.pptx
eyala75
 
Pas45789-Energs-Efficient-Craigg1ing.pdf
lafinedelcinghiale
 

Deploying Plone on AWS

  • 1. DEPLOYING PLONE ON AMAZON AWS Kim Nguyen / [email protected]
  • 2. ABOUT ME ➤ Working with Plone since 2003 ➤ 350+ Plone sites at University of Wisconsin Oshkosh ➤ Developer → team lead → project manager ➤ Engineering team lead @ Six Feet Up
  • 5. BASIC PLONE STACK ➤ nginx web server ➤ (optional) varnish cache ➤ 2+ ZEO clients ➤ 1 ZEO server
  • 7. MANUAL DEPLOYMENT ➤ Provision a virtual machine (Digital Ocean, Linode, Amazon Lightsail) ➤ Set up firewall ➤ Download and run the Plone unified installer ➤ Set up nginx web server ➤ Set up automatic Plone start scripts ➤ Set up cron jobs (zeopack, backup) ➤ Remember to log in periodically to apply system updates ➤ Hope no one hacks into the system (no monitoring)
  • 8. THERE IS A BETTER WAY
  • 9. THE BETTER WAY ➤ Deploy repeatably, consistently ➤ Keep server configuration under version control ➤ Make all configuration changes in one place ➤ Use automation to deploy configuration changes ➤ Avoid logging into the servers ➤ NEVER MODIFY THE SERVERS DIRECTLY
  • 10. WHY USE REPEATABLE DEPLOYMENTS ➤ There is never any question about what’s running on a given server ➤ Consistency of configuration → when you make a change in one Plone server, it is made on all Plone servers ➤ With repeatable deployments you can easily create multiple environments for: ➤ testing ➤ Quality Assurance or staging ➤ production ➤ disaster recovery
  • 12. TOOLS FOR REPEATABLE DEPLOYMENTS ➤ Ansible (ansible.com) ➤ Terraform (terraform.io) ➤ Saltstack (saltstack.com)
  • 14. PLONE ANSIBLE PLAYBOOK ➤ Use Ansible to provision a single full-stack Plone server github.com/plone/ansible- playbook with ➤ a Plone ZEO cluster (1 ZEO server, 2 ZEO clients) ➤ supervisor for automatic start/stop of the Plone cluster ➤ HAProxy load balancing ➤ Varnish caching ➤ Nginx as a proxy and URL rewrite engine ➤ Postfix for outgoing mail ➤ munin-node, logwatch and fail2ban for monitoring and log analysis ➤ Vagrant and VirtualBox for testing the setup
  • 15. BUT THAT’S JUST ONE SERVER
  • 16. DEPLOY TO THE CLOUD
  • 17. ➤ For this demo, we will use Amazon AWS ➤ Biggest established cloud provider ➤ Continuing adoption growth ➤ Robust, well understood ➤ Many other services available (e.g. machine learning, containers, databases) ➤ 66 availability zones in 21 geographic regions DEPLOY TO THE CLOUD
  • 18. DEMO: TERRAFORM ➤ Demo code: github.com/tkimnguyen/aws-auto-deploy-demo ➤ Terraform will provision servers using AWS: ➤ Create virtual private cloud (VPC) ➤ Define access control lists (ACLs) ➤ Create 2 Elastic Compute Cloud (EC2) instances ➤ A salt “master” ➤ A salt “minion” (the Plone server)
  • 19. DEMO: SALT ➤ Then Terraform invokes Saltstack on the minion to set up our software ➤ Saltstack reads states stored on the master to: ➤ Install Plone ➤ Install and configure supervisor
  • 20. AWS PREPARATION ➤ Create an AWS account at aws.amazon.com ➤ Create an AWS user at console.aws.amazon.com/iam ➤ Set up an access key pair called plone-conf-demo-sfup by importing your ssh public key ➤ Add aws_access_key_id and aws_secret_access_key to your ~/.aws/ credentials file
  • 21. LOCAL COMPUTER PREPARATION ➤ Install Terraform from www.terraform.io/downloads.html git clone https://github.com/tkimnguyen/aws-auto-deploy- demo.git cd aws-auto-deploy-demo cd terraform terraform init terraform plan
  • 22. DEMO STEPS ➤ Apply the Terraform plan terraform apply ➤ Obtain IP address of Plone server terraform state pull aws_instance |egrep ‘"name"|public_ip"' ➤ ssh into Plone server ssh -L8080:localhost:8080 [email protected] ➤ view salt progress log tail -f /var/log/cloud-init-output.log
  • 24. OTHER AWS GOODIES ➤ CloudFront (aws.amazon.com/cloudfront) for content delivery network (caching) around the world ➤ Shield for DDoS mitigation, Web Application Firewall ➤ CloudWatch (aws.amazon.com/cloudwatch) for monitoring and autoscaling ➤ Elastic Load Balancing (aws.amazon.com/elasticloadbalancing) for load balancing of HTTP and HTTPS traffic, integration with Auto Scaling, monitoring & auditing ➤ Relational Database Service (aws.amazon.com/rds) with PostgreSQL → use with Plone RelStorage → now you have replication and failover
  • 26. Planning Development Orchestration Support QUESTIONS? PLEASE ASK! [email protected]