High Availability High Performance Plone

Similar documents
Help! I need more servers! What do I do?

CIT 668: System Architecture

HA for OpenStack: Connecting the dots

Scaling DreamFactory

Speed Daemons. Lars Noldan, Systems Administrator BSDCAN 2011

Percona Live Europe 2016 Use ProxySQL to Improve Your MySQL High Availability Solution

Choosing a MySQL High Availability Solution. Marcos Albe, Percona Inc. Live Webinar June 2017

Percona Live Europe 2016 Use ProxySQL to Improve Your MySQL High Availability Solution Marco Tusa Manager Consulting Amsterdam, Netherlands October 3

Deployment. Chris Wilson, AfNOG / 26

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

High Noon at AWS. ~ Amazon MySQL RDS versus Tungsten Clustering running MySQL on AWS EC2

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Load Balancing RSA Authentication Manager. Deployment Guide v Copyright Loadbalancer.org, Inc

Datacenter replication solution with quasardb

High Availability for Postgres using OpenSource tools. By Jobin Augustine & HariKrishna

Traffic is coming! OMG moments

Principal Solutions Architect. Architecting in the Cloud

Migration and Building of Data Centers in IBM SoftLayer

Choosing a MySQL HA Solution Today

Scaling Location Services with Kamailio Henning Westerholt, Marius Zbihlei Kamailio Project

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs

MySQL Group Replication. Bogdan Kecman MySQL Principal Technical Engineer

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

GRNET Cloud Services

SCALABLE WEB PROGRAMMING. CS193S - Jan Jannink - 2/02/10

MySQL High Availability. Michael Messina Senior Managing Consultant, Rolta-AdvizeX /

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar

Azure Webinar. Resilient Solutions March Sander van den Hoven Principal Technical Evangelist Microsoft

Security Correlation Server Redundancy And Failover Guide

Top 20 Plone Pitfalls

MySQL InnoDB Cluster. New Feature in MySQL >= Sergej Kurakin

MySQL Proxy. Making MySQL more flexible Jan Kneschke

Revamped and Automated the infrastructure for NTN Buzztime

Scale-out Storage Solution and Challenges Mahadev Gaonkar igate

MySQL High Availability

Scaling Solr in the Cloud

Loadbalancer.org Virtual Appliance quick start guide v6.3

MySQL and Virtualization Guide

Loadbalancer.org. Loadbalancer.org appliance quick setup guide. v6.4

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

The Guide to Best Practices in PREMIUM ONLINE VIDEO STREAMING

Drupal Frontend Performance & Scalability

Yahoo Traffic Server -a Powerful Cloud Gatekeeper

A Cloud Gateway - A Large Scale Company s First Line of Defense. Mikey Cohen Manager - Edge Gateway Netflix

Oracle WebLogic Server 12c: Administration I

Integrating XMPP based communicator with large scale portal

Load Balancing Sage X3 ERP. Deployment Guide v Copyright Loadbalancer.org, Inc

Scalability of web applications

High Availability Solutions for the MySQL Database

MariaDB MaxScale 2.0, basis for a Two-speed IT architecture

Cloud Based Application Architectures using Smart Computing

About Terracotta Ehcache. Version 10.1

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Load Balancing Microsoft OCS Deployment Guide v Copyright Loadbalancer.org

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

Load Balancing Nginx Web Servers with OWASP Top 10 WAF in AWS

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

Dispatcher. Phoenix. Dispatcher Phoenix Enterprise White Paper Version 0.2

ebay Marketplace Architecture

Kea DHCP Server Update

ARCHITECTURE GUIDE. Campaign Manager 6.0

Synology High Availability (SHA)

Using MHA in and out of the Cloud. Garrick Peterson Percona University, Toronto 2013

Brocade Virtual Traffic Manager and Parallels Remote Application Server

Business Continuity and Disaster Recovery. Ed Crowley Ch 12

Cloud Computing /AWS Course Content

Load Balancing Bloxx Web Filter. Deployment Guide v Copyright Loadbalancer.org

Availability of. Datacenter

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal for the Drupal Association

Appliance Quick Start Guide v7.1

Architekturen für die Cloud

Distil Networks & HAProxy Integration Guide

CANVAS DISASTER RECOVERY PLAN AND PROCEDURES

Namenode HA. Sanjay Radia - Hortonworks

Overview. CPS Architecture Overview. Operations, Administration and Management (OAM) CPS Architecture Overview, page 1 Geographic Redundancy, page 5

MQ High Availability and Disaster Recovery Implementation scenarios

Open-Xchange App Suite Minor Release v Feature Overview V1.0

Gemeinsam mehr erreichen.

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

TU Dresden: A Large-Scale Plone Deployment Case Study

How to setup Orchestrator to manage thousands of MySQL servers. Simon J Mudd 3 rd October 2017

Freitag, 2. November 12

Microservices Implementations not only with Java. Eberhard Wolff Fellow

Load Balancing Web Proxies / Filters / Gateways. Deployment Guide v Copyright Loadbalancer.org

the road to cloud native applications Fabien Hermenier

Load Balancing Fujifilm SYNAPSE. Deployment Guide v Copyright Loadbalancer.org

Load Balancing Microsoft IIS. Deployment Guide v Copyright Loadbalancer.org, Inc

DEMYSTIFYING BIG DATA WITH RIAK USE CASES. Martin Schneider Basho Technologies!

PretaGov Australia SaaS Hosting with Fully Managed Services, Support and Maintenance

Nutanix Tech Note. Virtualizing Microsoft Applications on Web-Scale Infrastructure

Various MySQL High Availability (HA) Solutions

How to store millions metrics per second. Vladimir Smirnov System Administrator

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

DevOps + Infrastructure TRACK SUPPORTED BY

ApsaraDB for Redis. Product Introduction

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

Running Databases in Containers.

Nutanix White Paper. Hyper-Converged Infrastructure for Enterprise Applications. Version 1.0 March Enterprise Applications on Nutanix

Transcription:

High Availability High Performance Plone Guido Stevens guido.stevens@cosent.nl www.cosent.nl Social Knowledge Technology

Plone Worldwide

Resilience

Please wave, to improve my speech

Plone as usual Aspeli: über-buildout for a production Plone server Regebro: Plone-Buildout-Example nginx frontend varnish cache haproxy balancer 4x plone instance zeo backend

Plone as usual

Plone as usual webserver :80

Plone as usual caching

Plone as usual balancing across Plone instances

Plone as usual Plone instances

Plone as usual ZEO backend

Meet the client High-profile internet technology NGO Slashdot traffic levels 0.4 million page views / peak day 4 40 million page views / month million hits / month Mission-critical web presence 100% uptime previous 5 years Non-Plone sysadmins High security

No can do SPOF WTF? SPOF

Architecture Goals Must convince file-based 100% uptime sysadmins No SPOF eliminate all Single Points Of Failure Automated failover no manual intervention Extreme performance Extreme resilience killall -9 Plone

Meet Paul Stevens My brother mod_wodan + DBmail Plone developer pjstevns on irc/github/etc NFG Net Facilities Group premium hosting 24/7 MySQL HA since stone age www.nfg.nl

Plone as usual

3-tier

Plone as usual

Duplicate setup

Load Balancer

Load Balancer Client provided hardware load balancer Alternative: Linux Virtual Server + HAproxy 2x HAproxy in active/passive config this would be an EXTRA layer of HAproxy not shown in diagram use highly available virtual IP address monitor with Heartbeat or comparable failover virtual IP addres with arping broadcasts Alternative: AWS

Load Balancer

Ensure physical separation Ensure redundancy across physical servers no use to fail over on same machine separate machines in separate data centers Gotcha: moving virtuals around Disable HA facilities of virtualization platform We'll do our own HA

Full cluster

Replacing ZEO

ZEO versus Relstorage ZEO Relstorage ZEO protocol ZEO protocol filestorage MySQL or PostgreSQL object pickles object pickles: no alchemy! ZRS Replication MySQL replication $$$ at the time done that 24/7 since 2001 later opensourced widely used No hot-failover slave master reconfig Hot failover multi-master

Relstorage on MySQL

Blobstorage Not shown in diagram Client provided Netapp Metrocluster NFS disks no need to care about replication and HA for those Alternatives: DRBD + NFS AWS Elastic Block Device F-sniper + rsync + NFS Why not run database on that? disk replication + NFS + ZEO what can possibly go wrong?

Full cluster

Apache + Wodan

mod_wodan Caching module for Apache C Originally by ICS for nu.nl Now maintained by NFG Store response body + headers on disk BOFH attitude to caching policies Used in anger Alternative: stxnext.staticdeployment

Varnish Wodan Proxy process Apache module RAM memory cache Persistent disk cache restart empty cache restart full cache expired gone expired keep fallback Plays nice BOFH request + response headers my way or the highway etag split-view single cache file per page purge API plone.app.caching Cronjobs maintenance crawl sitemap delete removed pages

Varnish plus Wodan Varnish Wodan unload Plone failsafe content delivery plone.app.caching policies hard policy config pages 1 hour pages 1 minute resources longer resources longer purge on edit edit 1-minute refresh etag split-view per-user page versions cache authenticated Gotcha: anonymous only editors bypass Wodan

Failure Modes

Full cluster

MySQL failover

Multi Master MySQL multi-master cross replication any can be master each slaves the other hot failover and failback Gotcha: use only 1 master at a time Relstorage is not multi-master avoid replication errors mmm_agent server (not shown in diagram) monitors mysql health and replication manages virtual MySQL HA ip address think: Heartbeat for MySQL

Blade failure

Wodan only

Plone as usual file-based content delivery

Readonly Rescue Mode File-based content delivery mod_wodan full cache of all pages + resources cached search results (Subject / tag cloud) AJAX-driven graceful degradation detect backend down via non-cached lightweight view disable interactive elements via CSS search bar, personal tools display:none Gotcha: anonymous only @@ipaddress not a full page: minimal rendering overhead down for authenticated until manual reconfig Gotcha: ErrorDocument pre-cache nice page but preserve http error status code

No-downtime maintenance

Full cluster

cosent.nl/blog