Scaling out with WordPress

Konstantin Kovshenin
Konstantin KovsheninDeveloper um 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 von 55

Más contenido relacionado

Más de Konstantin Kovshenin(16)

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

Último(20)

CXL at OCPCXL at OCP
CXL at OCP
CXL Forum183 views
Green Leaf Consulting: Capabilities DeckGreen Leaf Consulting: Capabilities Deck
Green Leaf Consulting: Capabilities Deck
GreenLeafConsulting170 views
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation23 views

Scaling out with WordPress