Jump to content

Scale out, using images? Shared storage required?


Recommended Posts


New to Prestashop and trying to evaluate it at the moment.

Before Prestashop we typically developed by building docker containers with known code and setup to docker hub. We then load balance across multiple instances of the image and spin up dynamic docker hosts to deal with spikes in demand as necessary (with Redis for sessions and a separate NFS for images).

How would we do this in Prestashop knowing that modules (and database schema changes) can be instaled directly from the backend UI? Each store could have different code sets as an installation would only happen on one instance and it would be deleted if the container is dropped for any reason as code changes wouldn't make it into the image.

My guess is that I should be using shared storage for more of the site and only spinning up new nginx/apache servers to serve the shared code base? However putting all the files in shared storage is likely to be slower than native storage and page load speed is important. So what's the optimal set-up for scaling out? Which directories need to be shared and can I restrict code changes from the back-office when in production?

My guess is /img and /cache need sharing (if we limit installations of modules / updates to development only and push code as part of container images, we would also need to do a database schema diff to ensure we can deploy database updates or any modules installed)? However it feels like a lot of steps to be able to make site changes.

Is there any docs /advice available on how to scale out webservers? Most of what i've read assumes just the one web server.


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...