Best practice for droplets administration on live and staging environments.
I have now completed my first LAMP stack on Ubuntu and gone live with about 5 sites on one droplet. It was difficult, however fully deserved invested time. Now I am eager to try other options the server allows (e.g. caching, sendmail, etc), but having live sites all changes to the server can be critical.
In order to address risk of changes on Live environment I though that it’s better to establish staging environment and after there is confidence in the result the same changes could be applied to live environment. It seems there are different options can be used. I will list some ideas, but probably you have more professional approach, because I have never had similar experience before.
On per site level it’s possible to create Staging environment using different plugins. For example, in Wordpress there is plugin called WP Staging, which has quite good reviews. Seems to be straightforward, because everything will be hosted on one droplet. No questions here.
On per droplet level it’s possible to create droplet using backup/snapshot, test new solutions and then apply these changes to the droplet with Live sites. It seems to be clear except that I don’t understand how to access my sites on staging environment or easily administrate hosts.
If I would like to test sites on staging environment and I have several sites, then I can create domain aliases that will point to new IP of Staging droplet, but it seems to be annoying to reconfigure domain settings for 5 sites whenever I make new droplets. (Q1) Is there any smart solution for that? (Q2) Or is any other way to access my sites on staging droplet just using IP?
Also I though it would be wise to use Floating IP. (Q3) Is it so, that I can make changes on Staging droplet and once I am satisfied with the result, then I can forward traffic to from Live droplet to the Staging one, basically turn my Staging droplet to Live droplet? And in this case I still have a questions of accessing my sites while I will be using Staging environment.
I would really appreciate if you would drop a link to materials, that can be researched or share your own experience.