Scaling out with WordPress

Konstantin Kovshenin
Konstantin KovsheninDeveloper à Automattic
Scaling out
with WordPress
Konstantin Kovshenin
Scaling out with WordPress
Shared Hosting
Shared Hosting
Shared Hosting
Shared Hosting
Web Server
Database Server
Mail Server
Making Changes
File Manager
WordPress Dashboard
FTP/SSH
Scaling out with WordPress
Vertical Scaling
More CPU
More RAM
More Disk
Dedicated, VPS
But we’re in the
CLOUD now!
Same sh*t…
Vertical Scaling
Easy
Downtime
Physical limitations
Some things don’t scale
One server
Horizontal Scaling
Scaling out with WordPress
Just
Just add
Just add more
Just add more SERVERS!
Horizontal Scaling
Less limitations
High availability & fault tolerance
Cost efficiency
Complexity
Scaling out with WordPress
Scaling out with WordPress
Web Server
Web Server
Database Server
dev.mysql.com
mariadb.org
Primary
Replica
dev.mysql.com/doc/refman/8.0/en/replication.html
mariadb.com/kb/en/standard-replication
Database
HyperDB
LudicrousDB
ProxySQL
MaxScale
github.com/automattic/hyperdb
github.com/stuttter/ludicrousdb
proxysql.com/
mariadb.com/kb/en/maxscale/
Scaling out with WordPress
en.wikipedia.org/wiki/Network_File_System
gluster.org
ceph.io
github.com/humanmade/S3-Uploads
github.com/s3fs-fuse/s3fs-fuse
aws.amazon.com/storagegateway/file/s3/
Media
NFS
GlusterFS
Ceph
S3 / S3 Uploads / FUSE / Gateway
Load Balancer
Scaling out with WordPress
nginx.org
haproxy.org
varnish-cache.org
Load Balancing
Nginx
HAProxy
Varnish
2x Load Balancers
2x Web Servers
2x Database Server
2x Storage Servers
github.com/features/actions
circleci.com
capistranorb.com
ansible.com
fabfile.org
aws.amazon.com/codestar
cloud.google.com/build
Deployment
GitHub Actions, CircleCI
Capistrano, Ansible, Fabric
AWS CodeBuild, CodeDeploy
Google Cloud Build/Deploy
Backups
Source control
Shared storage backups
Database snapshots
Configuration backups
vs
£200
£1600
vs
£200
£1600
Latency
Scalability ≠ Performance
vs
£200
£1600
1 RPM
vs
£200
£1600
50k RPM
Object Caching
Redis
Memcache
2x
github.com/pantheon-systems/wp-redis
github.com/Automattic/wp-memcached
Page Caching
Batcache
Cache at LB
Cache at CDN
github.com/Automattic/batcache
nginx.org/en/docs/http/ngx_http_proxy_module.html
Cron Jobs
Cavalcade
ActionScheduler
1x
github.com/humanmade/Cavalcade
actionscheduler.org
Emails
Postfix
Exim
Amazon SES
1x
postfix.org
exim.org
aws.amazon.com/ses
elastic.co/elastic-stack
Logging
Elasticsearch
Logstash
Kibana
3x
newrelic.com
grafana.com/products/cloud
datadoghq.com
grafana.com/oss
nagios.org
munin-monitoring.org
Monitoring
Grafana
Nagios
Munin
1x
New Relic
Grafana Cloud
Datadog
cloud.google.com/logging
learn.microsoft.com/en-us/azure/azure-monitor/overview
aws.amazon.com/cloudwatch
Cloud
Google Cloud Logging
Microsoft Azure Monitor
Amazon CloudWatch
Containers
Scaling out with WordPress
Just
Just add
Just add more
Just add more CONTAINERS!
Getting Started
VirtualBox
KVM, virt-manager
XenServer
Docker Compose, Minikube
virtualbox.org
en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
virt-manager.org
xenserver.com
docs.docker.com/compose
minikube.sigs.k8s.io/docs
kovshenin@gmail.com
konstantin.blog
humanmade.com
Photos from unsplash.com
Icons from flaticon.com
fin
1 sur 55

Recommandé

Rock Solid WordPressRock Solid WordPress
Rock Solid WordPressErik Osterman
376 vues22 diapositives
Caching 101Caching 101
Caching 101Andy Melichar
261 vues41 diapositives
Advanced Web HostingAdvanced Web Hosting
Advanced Web HostingOVHcloud
2.9K vues42 diapositives

Contenu connexe

Plus de Konstantin Kovshenin(16)

Memory Management in WordPressMemory Management in WordPress
Memory Management in WordPress
Konstantin Kovshenin1.5K vues
Пожиратели памяти в WordPressПожиратели памяти в WordPress
Пожиратели памяти в WordPress
Konstantin Kovshenin12.4K vues
Будущее WordPress (SPB, 2014)Будущее WordPress (SPB, 2014)
Будущее WordPress (SPB, 2014)
Konstantin Kovshenin718 vues
Будущее WordPressБудущее WordPress
Будущее WordPress
Konstantin Kovshenin1K vues
Templating WordPressTemplating WordPress
Templating WordPress
Konstantin Kovshenin6.5K vues
Цикл разработки WordPressЦикл разработки WordPress
Цикл разработки WordPress
Konstantin Kovshenin2.2K vues
7 Tips for Better WordPress Theme Development7 Tips for Better WordPress Theme Development
7 Tips for Better WordPress Theme Development
Konstantin Kovshenin12.8K vues
The Settings APIThe Settings API
The Settings API
Konstantin Kovshenin11.3K vues
P2P2
P2
Konstantin Kovshenin1.4K vues
Секреты WP_QueryСекреты WP_Query
Секреты WP_Query
Konstantin Kovshenin5.2K vues

Dernier(20)

Green Leaf Consulting: Capabilities DeckGreen Leaf Consulting: Capabilities Deck
Green Leaf Consulting: Capabilities Deck
GreenLeafConsulting177 vues
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya59 vues

Scaling out with WordPress