denser, cooler, faster, stronger: php on arm microservers
TRANSCRIPT
![Page 1: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/1.jpg)
Jez Halford
![Page 2: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/2.jpg)
Jez Halford
Freelance web development consultant
jezhalford.com
@jezhalford
![Page 3: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/3.jpg)
● World’s largest designer of semiconductors
● Over 60 billion ARM chips shipped to date
● Began moving into server CPUs a few years ago
![Page 4: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/4.jpg)
Shoot for the moonHewlett Packard EnterpriseMoonshot
● Very high server density
● More efficient cooling
● Built in fault-tolerance
![Page 5: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/5.jpg)
Moonshot
● 45 cartridges, supporting up to4 servers per cartridge
● 4 redundant power supplies
● 2 ethernet switches
● 5 cooling fans
● iLo Management interface
![Page 6: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/6.jpg)
Shoot for the moon
CPU Eight 64 bit cores @ 2.4GHz
Memory 64GB
Storage 120GB / 240GB / 480GB SSD
Network 2x 10 Gigabit NICs
ProLiant m400
![Page 7: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/7.jpg)
“Drinking our own Champagne”
![Page 8: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/8.jpg)
![Page 9: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/9.jpg)
Goals
● Robust, highly available website
● Scalable to handle very high load
● Use standard, generally available technologies where possible
![Page 10: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/10.jpg)
Milestones
● Modify the PHP app from Windows-specific to platform agnostic
● Design and prove the server architecture
● Go live
![Page 11: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/11.jpg)
Windows to anything
● Remove hard-coded paths
● Improve autoloading
![Page 12: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/12.jpg)
Windows to anything
● Config injection over environment detection
if (gethostname() == ‘qa-box’) {
// set environment for QA
}
if (getenv(‘APP_ENV’) == ‘qa’) {
// set environment for QA
}
![Page 13: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/13.jpg)
Server Architecture
![Page 14: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/14.jpg)
PHP on ARM
sudo apt-get install php7
![Page 15: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/15.jpg)
High Availability
● Two NICs per cartridge
● Bonded to work as one
● Allows one chassis switch OR one NIC to fail and operation to continue
http://www.unixmen.com/linux-basics-create-network-bonding-on-ubuntu-14-10/
![Page 16: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/16.jpg)
Runningon multiple servers● Load balancing● Filesystem● Application cache● Session storage● Log aggregation● Data persistence
![Page 17: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/17.jpg)
Runningon multiple servers● Load balancing● Filesystem● Application cache● Session storage● Log aggregation● Data persistence
![Page 18: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/18.jpg)
Load Balancing
● Paid-for version of nginx● Support & extra features
http { upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; }
server { listen 80;
location / { proxy_pass http://myapp1; } }}
![Page 19: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/19.jpg)
Load Balancing
ARM Nginx Node
ARM Web Node
ARM Web Node
ARM Web Node
Web
![Page 20: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/20.jpg)
Bonded IP address
Load Balancing
F5
ARM Nginx
Node A
ARM Nginx
Node B
ARM Web Node A1
ARM Web Node A2
ARM Web Node A3
Web
ARM Web Node B1
ARM Web Node B2
ARM Web Node B3
Moonshot Chassis A
Moonshot Chassis B
![Page 21: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/21.jpg)
![Page 22: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/22.jpg)
Caching statics at the load balancer● Nginx respects Cache-Control headers● In our setup these come from Apachehttp {
upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; }
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
server {listen 80;
location / { proxy_pass http://myapp1; proxy_set_header Host $host; proxy_cache STATIC; proxy_cache_valid 200 1d; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; }
}
![Page 23: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/23.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem● Application cache● Session storage● Log aggregation● Data persistence
![Page 24: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/24.jpg)
Filesystem
● Both are free, open source distributedfilesystem solutions
● Multiple nodes work together to form a single mountable filesystem
● Generally slow at writing, but great forstoring PHP source and static assets
![Page 25: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/25.jpg)
Filesystem
● Copy files to each node at regularintervals
● Nominated “master” node is the source
● Has a replication lag
![Page 26: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/26.jpg)
Filesystem
We used existing, external and mountable storage ARM already had
![Page 27: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/27.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem ✔● Application cache● Session storage● Log aggregation● Data persistence
![Page 28: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/28.jpg)
Application Cache
● 64GB on each node!
● Potentially 2.8 Terabytes per 45 node moonshot chassis
![Page 29: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/29.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem ✔● Application cache ✔● Session storage● Log aggregation● Data persistence
![Page 30: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/30.jpg)
Session Storage
Options!
![Page 31: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/31.jpg)
Session Storage
● Zero configuration
● Slow access
● Persistent
● Needs either a shared filesystem or sticky sessions
![Page 32: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/32.jpg)
Session Storage
● Simple
● Very easy configuration
● Non-persistent
● It’s for caching, not sessions
![Page 33: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/33.jpg)
Session Storage
● Fast
● Persistent
● Generally fault-tolerant with Redis Cluster
● Cannot always guarantee consistency
![Page 34: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/34.jpg)
Session Storage
![Page 35: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/35.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem ✔● Application cache ✔● Session storage ✔● Log aggregation● Data persistence
![Page 36: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/36.jpg)
Log Aggregation
● Lots of apps on lots of servers
● Lots of logs generated
● Debugging is hardif we have to look inlots of places
![Page 37: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/37.jpg)
Log Aggregation
rsyslog● Aggregate logs from MySQL, Apache, Nginx across
several servers...
● ...into one file per app on a “management” server
![Page 38: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/38.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem ✔● Application cache ✔● Session storage ✔● Log aggregation ✔● Data persistence
![Page 39: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/39.jpg)
Data Persistence
![Page 40: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/40.jpg)
Data Persistence
● Active / Active, not Master / Slave
● True horizontal scalability
● High availability
![Page 41: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/41.jpg)
A PXC Cluster
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 42: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/42.jpg)
A PXC Cluster
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
ARM Web Node
![Page 43: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/43.jpg)
Split Brain
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
ARM DB Node 6
![Page 44: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/44.jpg)
Split Brain
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
ARM DB Node 6
![Page 45: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/45.jpg)
Split Brain
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
ARM DB Node 6
![Page 46: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/46.jpg)
Consistency over availability
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 47: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/47.jpg)
Networking failure
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 48: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/48.jpg)
Networking failure
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 49: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/49.jpg)
More than half the nodes fail
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 50: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/50.jpg)
More than half the nodes fail
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 51: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/51.jpg)
Single node failures
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 52: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/52.jpg)
Rejoining
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 53: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/53.jpg)
Mixed failures
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 54: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/54.jpg)
Multiple node failures
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
![Page 55: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/55.jpg)
PXC Startup
ARM DB Node 1
sudo service mysql bootstrap-pxc
Cluster size: 1
![Page 56: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/56.jpg)
PXC Startup
ARM DB Node 1
ARM DB Node 2
sudo service mysql start
Cluster size: 2
![Page 57: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/57.jpg)
PXC Startup
ARM DB Node 1
ARM DB Node 2
ARM DB Node 3
sudo service mysql start
Cluster size: 3
![Page 58: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/58.jpg)
PXC Startup
ARM DB Node 1
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
sudo service mysql start
Cluster size: 4
![Page 59: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/59.jpg)
PXC Startup
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
sudo service mysql start
Cluster size: 5
![Page 60: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/60.jpg)
PXC
● Very good horizontal scaling
● An absolute nightmare in cascading failures
● Those failures are very rare
![Page 61: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/61.jpg)
Load balancing the database
● How does the application know which DB node to talk to?
● HAProxy! A TCP Load Balancer
![Page 62: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/62.jpg)
Load balancing the database
ARM Web Node A1
PHP
HAProxy
127.0.0.1:3306Individualdatabasenodes...
An individual web node:
![Page 63: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/63.jpg)
ARM Web Node A1
Load balancing the database
ARM Web Node A2
ARM Web Node A3
HAProxy
HAProxy
HAProxy
ARM DB Node 3
ARM DB Node 5
ARM DB Node 1
ARM DB Node 2
ARM DB Node 4
![Page 64: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/64.jpg)
Load balancing the database
● Each HAProxy instance carries out regular health checks on each node
● When a node fails a check it is removed from the pool until it passes again
● The health checks need to verify PXC cluster state, as well as responsiveness to incoming connections
https://github.com/olafz/percona-clustercheck
![Page 65: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/65.jpg)
Runningon multiple servers● Load balancing ✔● Filesystem ✔● Application cache ✔● Session storage ✔● Log aggregation ✔● Data persistence ✔
![Page 66: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/66.jpg)
#
F5
Bonded IP address
ARM Nginx
Node A
ARM Nginx
Node B
ARM Web Node A1
ARM Web Node A2
ARM Web Node A3
Web
ARM Web Node B1
ARM Web Node B2
ARM Web Node B3
ARM DB Node 1
ARM DB Node 5
ARM DB Node 2
ARM DB Node 3
ARM DB Node 4
PXC ClusterMoonshot Chassis A
Moonshot Chassis BMoonshot Chassis C
![Page 67: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/67.jpg)
F5 ARM Web
Node A1
Web
#
ARM Web
Node A2ARM Web
Node A3
ARM Web
Node B1
ARM Web
Node B2
ARM Web
Node B3
ARM DB
Node 1
ARM DB
Node 5
ARM DB
Node 2
ARM DB
Node 3
ARM DB
Node 4
PXC Cluster
Bonded IP address
ARM Nginx
Node A
ARM Nginx
Node B
ARM Web
Node A1
#
ARM Web
Node A2ARM Web
Node A3
ARM Web
Node B1
ARM Web
Node B2
ARM Web
Node B3
ARM DB
Node 1
ARM DB
Node 5
ARM DB
Node 2
ARM DB
Node 3
ARM DB
Node 4
PXC Cluster
Bonded IP address
ARM Nginx
Node A
ARM Nginx
Node B
Moonshot Chassis A
Moonshot Chassis B
Moonshot Chassis C
Moonshot Chassis D
![Page 68: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/68.jpg)
● Lower total cost of ownership
● Highly fault tolerant
● Uses standard technologies
![Page 69: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/69.jpg)
What next?
● Several providers of hosted ARM servers
AaaS{ ARM-as-a-Service }
scaleway.com
armasaservice.com
mininodes.com
unixy.net
nx-box.net
![Page 70: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/70.jpg)
Hewlett Packard Enterprise Moonshot
https://www.hpe.com/uk/en/servers/moonshot.html
![Page 71: Denser, cooler, faster, stronger: PHP on ARM microservers](https://reader031.vdocuments.mx/reader031/viewer/2022022411/58ec1b061a28ab70538b46ad/html5/thumbnails/71.jpg)
Thanks for listening
joind.in/talk/01006
@jezhalford jezhalford.com