Will I have remote access to the server if I choose Discourse hosting?
Do I need to have a development instance of Discourse on “localhost” for testing plugins and some other customization (themes, styles)? Or can try/test some changes directly on “Production” (not a fan of it)?
Are there any way to log customizations (applying styles and plugins)? E.g. Run scripts on the Development environment and then if it’s OK on Production one (Discourse hosting OR self-hosted). “Continous Delivery” here
If my custom changes are not successful how can I roll them back? I guess for a plugin test I can just “turn it off”?
If you’re hosted by CDCK or Communiteq (formerly DiscourseHosting) then AFAIK it’s 100% managed. You wouldn’t have SSH access or anything like that. Unless you’re on an enterprise plan the plugin options are fixed and everything is tested to be compatible by the respective teams.
You can install themes and theme components on those hosted options without restriction. A test instance is always advisable of course.
I’m not aware of any CD options with CDCK hosting here, maybe one of the team can correct me if I’m wrong. At worst you would be making those changes to the live site in the same way you tested elsewhere.
You can’t install additional plugins on the basic hosted options, they include a number of the most common and well supported by default. You would either need to be on their enterprise tier, or self-host. Plugins need to be rolled into the app.yml and the site rebuilt to incorporate, to disable them you comment out the line and run another rebuild. Themes and theme components can be added and removed without impacting uptime or access to the site by users.
I’ll chime in here to confirm that everything that Stephen posted is correct.
On our hosted sites you have full access to the Discourse API, but you do not have SSH access to the server. Custom plugins cannot be installed on our Standard or Business sites, but plugins that you develop can be installed on Enterprise sites after the plugin has been vetted by our team. To see the plugins that are pre-installed on each of our plans, have a look at Plugin directory | Discourse - Civilized Discussion.
Custom themes and theme components can be installed on any of our plans.
The easiest way to get a sense of how our hosting works is to sign up free trial on either the Standard or Business plan from here: Discourse pricing | Discourse - Civilized Discussion. We never start automatically billing for trial sites, so this is a risk free way of checking out both Discourse and our hosting service.
The other answer to your question is that if you want to (have to) do those things, then you’ll need to self-host.
But, you likely don’t need any plugins. Most customization you can do with theme components.
All admin changes are logged in the UX, so you can see who changed what when.
If you did want to do development of custom plugins, I have developed a CI/CD system that allows you to pin Discourse and plugins to particular commits and make changes to a staging and production site by pushing an inventory to github. Sadly, the client abandoned the project just after I got it set up.