We have used a private bench for some time for a project.
We have not seen a direct way to migrate a site to private. However, using the backup and migrate feature of FrappeCloud was easy enough. It takes almost no time. So, you can for example create a new site private and configure everything and then point the domain to it thereby having almost no downtime.
We have not seen any option for using the CLI. Whatever operation is available in UI can be used. This includes backup, clear cache, migrate & drop-site.
Any customization possible from an app should be possible. In a private bench, you can bring in your custom apps to the bench from Git repo.
I’ve spent time and money investigating frappecloud and it’s been a big disappointment.
It’s seems ok for simple out of the box Erpnext deployments… but I can’t imagine trying to use the service for devops.
Perhaps I’m wrong, but if so they should properly document its capabilities because we can’t figure it out and the ticket support is not at all sufficient.
I do agree that as of now, it is good for simple deployments with no customizations.
A private bench does support it via custom apps, but updating the apps is not intuitive, and will take some trial and error before you can get it to work.