It's just an ansible playbook and that the playbook installs docker and deploys a nodejs container through that playbook, all that plays are using with inbuilt ansible modules.
It is an application with PHP with a database. I just tell you the project baseline. There was a website like (blog.com) that website is used for upload blogs/images and there have millions of clients and heavy traffic from viewers. But it's another portion like (blog.com/admin) this section is only used, admins/creators. So, there has no heavy traffic with this URL. So, I have designed to structure to separate servers for viewers and creators through application load balancers (Target group). I know all you have doubts about how to manage the creator's database sync with the viewer's database. I overcome with used an RDS-Master server for admin/creators and I have built RDS-Replica servers to connect with viewers servers. Once, if you have any updates on creators/admin servers you saved a replica stop script on your master server and first stop the replica script then update your kinds of stuff on the master server, and then you can start the server through the same script as the scripts run time new data sync to the viewer's server and new database changes applied to the replica servers.