Why is Silverstripe Cloud changing session storage?
We are simplifying the platform architecture. This shift enables future improvements and the rollout of new platform services. As a result, the previous solution is being phased out to streamline support and maintenance.
What is the new default session storage?
By default, your application will now use Network attached file storage for PHP session storage.
Why use it?
- Zero Configuration: It works out of the box with standard Silverstripe CMS projects.
- Reliability: It is a fully managed, scalable file system that persists data across multiple servers.
- Suitability: For the vast majority of projects (standard content websites, low-concurrency applications), the new default is performant and reliable.
What impact will this have to my application?
Previously, enabling scalable session storage required developers to configure the DynamoDB module and allow the application to use that as the session store. With the new solution, no additional application configuration or module is required.
Do I need to update my application after the rollout?
No immediate action is required. The platform will automatically handle the transition. The silverstripe/dynamodb module only activates if it detects specific environment variables (such as a DynamoDB table name). As part of this rollout, we will remove those variables from your environment. Once they are removed, the module will automatically stop handling sessions, and the application will seamlessly fall back to the new default storage.
If it happens automatically, why should I remove the module?
While the transition is automatic, we still strongly recommend removing the silverstripe/dynamodb module and any associated configurations.
- Code Hygiene: Keeps your codebase clean and free of unused dependencies.
- Security: Reduces the attack surface by removing code that is no longer in use.
Is DynamoDB available as alternative?
No. DynamoDB session storage is being phased out and replaced. DynamoDB will not be available for applications going forward.
What alternatives are available if default session management doesn’t meet my needs?
There are many different ways in which your application can chose to handle sessions, we recommend researching and chosing a solution that is fit for your needs.
Some alternatives that may suit your needs:
- Non-blocking File-based Sessions
- GitHub - silverstripe/silverstripe-hybridsessions: Hybrid Cookie / DB Session store for Silverstripe