plone deployment wpd2009
DESCRIPTION
Presentation of the different deployments of Plone in different conditions and the ability of Plone to scale. From classic deployment to multiserver with Relstorage. Deployment on cloud also featured. Please feel free to use the diagrams or to ask the source code of the slides. Presentation made at the World Plone Day 2009 by Federico Guizzardi, system administration manager in Reflab.TRANSCRIPT
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone Deployment
1
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Introduction
• Different scenarios– Different page types– Page composition
• Hard to estimate– Many variables:
hardware, bandwidth, ...
– Multiple benchmarks
2
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Zope
• Is the application server• It does the low level
management• It is completely
integrated
3
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Vanilla Plone + Apache
• “Classic”• Practical (ports,
statistics, etc.)• Configuration
– Virtualhost– Advanced solutions– etc.
Webserver
Internet
4
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Vanilla Plone + Apache
• Yes, if– Few, well
distributed contents
– Limited users– For development
• No, if– Multicore server– Stable contents– Hi concurrency
levels
5
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone + Varnish + Apache
• Reduced response time
• More user load• Lower machine
load
Internet
Webserver
Cache Sys
6
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone + Varnish + Apache
• Yes, if– Stable contents– Limited server
resources– ... in general the
suggested deployment
• No, if– Multicore server– Development– High number of
users– High number of
editors
7
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Architecture on multicore server
Internet
Webserver
Cache Sys
Load Balancer
8
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
• Yes, if– Multicore (>2)– Hi number of
users– Pages composed
by a high number of sources
• Maybe not if– Variable user load
Architecture on multicore server
9
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Distributed Architecture
Internet
Webserver
Cache Sys
Load Balancer
s1
s3
s4 s5
s2
10
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Distributed Architecture: pros
• Dynamic System– Only the necessary servers are turned on
• Fault tollerance– Zope/Plone servers are redundant– ZEO can be “distributed”
• Maintenance similar to that of a single instance– Backup, updates...
11
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
With Relstorage
Internet
Webserver
Cache Sys
Load Balancer
s1
s3
s4
s2
Oracle / Postgres
12
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Relstorage: pros
DBMS Support:- Backup and restore- Redundancy and fault tolerance- Authenticated access to the DB data- Tools of the chosen DBMS- Speed improvements*
13
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Distributed Architecture: when?
Always
if possible.
14
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone in the Cloud
• Amazon Web Services (AWS)– EC2: Elastic Cloud Computing– S3: Simple Storage Service
in practice: a solution for hosting based on virtual servers (XEN) following the principle:
"pay only for what you use, as you use it”.
15
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone on Cloud II
• Immediate startup– To start working with EC2 (<15 min)– To start a new server (<1 min)
• Complete autonomy of management– Turn on a new server when needed– Turn off a server if not needed– Different machine options
16
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Plone on Cloud III
Back to Plone again:It’s possible then to activate or turn off an
arbitrary number of instances cloning the same server, implementing a dynamic farm.
In particular on AWS:•Elastic load balancing•Autoscaling
17
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Case1: Logcluster
• www.logcluster.org• 3 Zope/Plone + ZEO• Daily updates• 20k requests a day
18
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
• www.eol.ucar.edu • 5 Zope/Plone + ZEO• 2k pages a day• 32k pages in the
first month
Case2: EOL
Thanks to Kelly Craig for the material for this case study.
19
Plone Conference 2009 – Federico C. Guizzardi – 21 Aprile 2009
Questions?
Data on performances and different setups available on request
20