How to set up a High-Availability WordPress website
David Carrero Fernández-Baillo
Cofounder & VP Sales at Stackscale
Relying on a High-Availability infrastructure is key for many projects; no matter if it is an eCommerce site, a website, an online newspaper or a blog based on WordPress. In this post, we will focus on how to set up a High-Availability WordPress website.
Setting up a redundant infrastructure for WordPress
When setting up a redundant and High-Availability infrastructure, it is important to think about the evolution and needs of your future platform. If you consider your WordPress site will have to support thousands or even millions of daily visits, the infrastructure is essential and must be ready. That is why, at Stackscale, we recommend deploying a Private Cloud infrastructure that is High-Availability, redundant and secure. Here are some key aspects.
High-Availability cloud infrastructure
- Deploying at least 2 physical Private Cloud nodes in order to achieve real High-Availability. In addition, at Stackscale we offer the possibility of deploying each node in a different data center. For instance, you can build an infrastructure in our two data centers in Madrid that runs as an only one; benefiting from the advantages of having two physical locations.
- Having several centralized network storage volumes or systems, ideal for diverse types of files, in different redundant arrays.
- Having a “limitless” bandwidth, adapted to the project’s needs, to support great amounts of traffic and even DDoS attacks.
- Keeping a replica in a geographically distant data center. At Stackscale, for instance, Flash Premium, Hybrid Plus and Hybrid storage volumes are geo-replicated by default, free of charge. Besides, customers can request additional replicas in other data centers, if necessary.
- Defining a security and Anti-DDoS policy in order to be prepared to mitigate a potential attack in the future. It can also be completed with CDN and WAF solutions.
- Defining a complete backups and snapshots policy. At Stackscale, customers can request custom backup schedules; in addition to the backups and snapshots included by default.
- Relying on an specialized system administration service, with 24/7 emergency support.
Many heavy-traffic platforms already trust our infrastructure, cloud, storage and managed services solutions. So, from our experience, every project should be evaluated in order to build an infrastructure adapted to its real needs. Now, let’s review other basic elements that should be included in a High-Availability WordPress infrastructure.
Basic elements to set up a High-Availability WordPress site
Secure access to the infrastructure management dashboard
Ensuring a secure access to your WordPress administration dashboard, as well as to any other management dashboard, is indispensable. You may or may not rename your WordPress’ “wp-admin” directory, but it is important you protect its access by using a password for the web server. In addition to the default user and password protection.
Regarding the solutions we offer at Stackscale, all of them include a VPN for a secure and encrypted connection. So, it would be a good idea to place all the management elements possible behind said VPN.
HAProxy Load Balancers
HAProxy is an open source load balancing solution. It provides High-Availability load balancers for normal and secure SSL web servers. This application has an outstanding reputation among companies and the system administrators’ community. HAProxy is able to manage millions of requests for high-traffic projects. Many big Internet projects use it, for instance: GitHub, Bitbucket, Stack Overflow, Reddit, Speedtest.net, Tumblr and Twitter.
Varnish acceleration and cache servers
Varnish Cache is probably the best solution to cache and accelerate web pages; although some projects also use it as a load balancer. Varnish Cache can be installed on any web server. Then, it can be set up to store a copy of the requested pages in the server cache. By doing so, content can be served faster and more efficiently. Many high-traffic websites use it. For instance: The New York Times, The Guardian, The Hindu or Corriere della Sera. As well as social media and content platforms such as Wikipedia, Facebook, Twitter, Vimeo or Tumblr.
NGINX Web Servers + PHP-FPM
NGINX is a very light high-performance web server. It was created by the Russian engineer Igor Sysoev. NGINX is open source, under BSD license. But there is also a commercial version known as NGINX Plus. This web server can be completed with the PHP-FPM module, which is a powerful alternative to PHP FastCGI. Said module includes special features designed for high-traffic websites. A long list of companies and websites use this server — from WordPress to other well-known companies such as Facebook, Netflix, GitHub and SourceForge.
Furthermore, PHP 8 will improve security and performance in WordPress 5.6, available since December 8, 2020. Among other improvements. Nevertheless, since it is a major PHP upgrade, updates should be done carefully. Because, although WordPress 5.6 is compatible with PHP 8, there might be some bugs and issues that haven’t been discovered yet. Specially when considering the vast number of themes and plugins available in the platform.
MySQL cluster
MySQL is the most popular open source database in the market. It has become really popular thanks to its proven performance, reliability and ease of use. Millions of websites use this database. Among them, big platforms such as Twitter, Youtube or Facebook. MariaDB and Percona MySQL are some of its alternatives.
By deploying a MySQL or Percona cluster, you will be able to ensure data High-Availability; in addition to getting a higher performance and 99,999% availability. A distributed, multi-tenant and without points of error architecture with MySQL cluster will provide you the necessary scalability for big data processing needs.
At this point, it is also important to have a good database and system administration team. They will be responsible for developing the procedures to make it work during the most critical scenarios and to enable it to grow whenever necessary.
Infrastructure for development and deployment
If possible, forget about the FTP and adopt GIT deployments or similar solutions. Moreover, remember it is very important to have a development environment, which should be a simplified copy of the real production environment.
System administration with 24/7 monitoring
System administration and monitoring are also essential. At Stackscale, in addition to infrastructure, we offer 24/7 monitoring and system administration solutions. Currently, both internally and together with our partners, we manage more than 50 big projects that require special solutions. Among the multiple WordPress projects hosted in our data centers, we surpass 100 million monthly users and we are prepared to go far beyond this.
The projects we work with belong to different sectors, such as: eCommerce, online communication and blogging, financial services or travel platforms — as well as some ISPs. So, we can surely help you define a High-Availability infrastructure for your projects!
via: Stackscale blog.