I was just thinking about the site maintenance strategy I use on VM servers and wondered if, maybe one day, Webinoly will be able to do it too?
What I am talking about is clicking a button which duplicates the site and attaches a floating IP to the copied version.
You then have an exact copy of your production server without interrupting the service, and you can simply transfer the floating IP back to the updated site when everything is ready and working.
It could also be used for redundancy in case of a system fault on your main server.
Webinoly doesn't have access to a pool of IP addresses so the "floating IP" bit would need to be a change of A record in your DNS zone, but free DNS hosting at Cloudflare makes that super quick and easy.
All that's needed is for Webinoly to be able to make an exact duplicate site with something like...
sudo site example.com -clone-from=example.com -replace-content=off -inherit=[ssl-cert,force-redirect,default-site, tools-site,custom-nginx]
... so that everything would be inherited to the cloned site exactly as-is.
I am not familiar with the topic, but from what I've read here and there, doesn't the second part of the request sound like load balancing to some degree?
Other than that, keeping a staging and a live site in sync seems a bit complicated in some parts. On this topic we 've discussed a few of the challenges. The way I see it, the staging site cannot always be an exact replica of the live one. For example, you will probably need to turn caching off, remove a few plugins or add some others etc.
It seems to me that there are two different requests here. One is a mechanism where you keep your backup site in complete sync with the live and use it as a failover.
The other is an easy way to manually update the staging site with the content of the live whenever you need to.
In any case, the ability to run certain Webinoly commands like -clone across different servers would be really interesting.
In fact, there is one thought that kept buzzing me for some time but I thought that it would be too far-fetched and hyper-ambitious. What if we could use one server as the Control Panel of many other servers? I mean, being able to run all Webinoly commands from one server, or even from our local installation, and execute them on another Webinoly server. Some of the commands could even be run in a batch across different servers. For example, site -list -global would list all sites across all our connected servers. It would be like a command-line version of popular control panels like GridPane.
Keeping 2 or more servers in sync for redundancy is a little bit more complicated than that. Actually, that's exactly what I do with the Webinoly sites, including this. We have one server in America and another in Asia perfectly replicated in real-time with a failover mechanism and of those fancy perks. Maybe in the future we could see it as a native feature in Webinoly. Who knows!
Basically, you need to keep your files and database synchronized all the time instead of just having a copy/clone as you suggest.
Check this post: https://webinoly.com/support/3871/feature-suggestion-migrate-site-from-another-server
I've seen some tools like ServerPress and WPSiteSync, just to mention a few, that are focused on the development cycle.
Your regular donations is what keep this project moving forward. If you like Webinoly, buy me a coffee or a beer to show support.