Hi all,

I don't know how common are my requirements, but I hope that somebody will lend an ear anyway.
Briefly: I need advice on putting together:
- multiple Plone sites per Zope instance (ZODB mount points)
- moderately complex proxy configuration (virtual sites, caching, possibly balancing).

PUTTING IN CONTEXT

In the past years my little company developed several sites/applications on Plone 2, 2.5 and 3. We spent time and effort on quite complex application requirements, but didn't address system/performance issues, since most projects were dealing with research prototypes or web sites for small non-critical businesses. Thus, we never used Zeo and proxies other than Apache. On the other hand, we always created multiple Plone sites per Zope instance for sake of flexibility in maintenance and in development: sharing skills and components among low-budget projects.

Recently we resolved to try AWS to get rid of the troubles involved in in-house hosting or in relying on costly and/or unflexible housing. We installed with success the "Plone Quick Start for EC2" provided by Jazkarta (many thanks!). Thus, starting from the example provided by its "Plone Quick Start AMI", we came upon Nginx, Varnish, HAProxy, and so on. And read a lot; among others:
http://blog.jazkarta.com/2011/01/20/plone-quick-start-for-ec2-now-available-in-all-regions
http://www.martinaspeli.net/articles/an-uber-buildout-for-a-production-plone-server
http://plone.293351.n2.nabble.com/Nginx-or-Apache-td5826797.html
http://redomino.com/it/labs/documentazione/tutorial/nginx-come-reverse-proxy-di-plone/tutorial-all-pages
https://nathanvangheem.com/news/nginx-with-built-in-load-balancing-and-caching

It seems to me that the Plone Quick Start AMI by Jazkarta follows a trend on which several active members of the Plone community agree (e.g. Martin Aspeli, Andreas Jung). Schematically, the solution includes Nginx -> Varnish (caching) -> HAProxy (balancing). Probably HAProxy can be considered an option in sites without extreme requirements.

OUR USE CASE

In future we will avoid to keep too many Plone sites on the same instance, since EC2 will favour giving each customer exactly what he needs and pays for. However, having each Plone site configured on a ZODB mount point would make easier to pass from development to production and to maintain/upgrade separately each site.

My reference scenario:
- 1 EC2 instance with 1 ZeoServer and a few Zeo Clients
- from 1 to 3 Plone sites, each on a ZODB mount point
- medium level of traffic, without notable peaks
- most users are anonymous
- autenticated access only for admin. and content management
- optional requirement: HTTPS.

My questions:
- is Nginx + Varnish ok?
- how to allocate Zeo clients? per site, class of user, both?
- how to implement the allocation of the Zeo clients?

Thank you very much in advance, Giovanni
_______________________________________________
Setup mailing list
Setup@lists.plone.org
https://lists.plone.org/mailman/listinfo/setup

Reply via email to