Deployment Concept


(Timo Schoepflin) #1

Hi,
I’m currently evaluating if we should use Neos as CMS for a project.
But I’m currently sceptical on the deployment/installation process.
Maybe someone could provide further details and insights on the best practices.

I wan’t to package a certain installation and promote it from QA to PROD by adapting configuration.
(without having to perform any external calls)
This would also enable a fast recovery in case of an outage --> as we can quickly provision the server based on a known state.

  • Is there a way to install Neos without composer?
  • How can I package a installation done with composer and how can I adapt the configuration?
  • In order to achieve high availability is there any best practice how I can run two Neos installations behind a load balancer --> do I need to care about the session management or is it sufficient to have a shared DB?
  • Does Neos store any data on the local disc if the users maintain the site content or is everything stored in the DB?

Thanks for the input


(Daniel Lienert) #2

Hey Timo,

well thats a lot of questions. I think there is more than one answer for most of the questions. So these are answers out of my project experience. I am curious too, to hear some other approaches:

  • Is there a way to install Neos without composer?

No. The packaging of an installation is meant to be done with composer.

  • How can I package an installation done with composer and how can I adapt the configuration?

We don’t do any real packaging. We are building the installation on a build server and then transfer the built installation via https://github.com/TYPO3/Surf to the live servers. There we use environment variables provisioned via ansible for the configuration on the target machine.

  • In order to achieve high availability is there any best practice how I can run two Neos installations behind a load balancer --> do I need to care about the session management or is it sufficient to have a shared DB?

The sessions are saved using a persistent cache. Just use a cache backend that is synced over all your machines, like the database or a redis cluster.

  • Does Neos store any data on the local disc if the users maintain the site content or is everything stored in the DB?

No, the original assets are stored on the disk by default. Normally we use a central NFS share to store these assets and make them available on all frontend hosts. There are also packages available to store the assets on services like Google Cloud Storage (https://github.com/flownative/flow-google-cloudstorage) or Amazon S3.