Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
- Twig cache invalidation, cache invalidation in general
- Handling CSS and JS aggregates; at the moment I'm achieving this with object storage (see below) paired with AdvAgg module and hook_advagg_asset_path_alter
- File storage; e.g., using object storage and a filesystem abstraction layer such as Flysystem
- Reverse proxies and load balancing
- Allow private file system to be a remote object storage
- ...
Comments
Comment #1
anavarreComment #2
Wim LeersComment #3
almaudoh CreditAttribution: almaudoh commentedAdding related issues
Comment #6
bradjones1Being bold and editing the description with some points that need covered
Comment #11
geerlingguy CreditAttribution: geerlingguy at Midwestern Mac, LLC commentedAdding tag for Kubernetes/12fa tracking purposes. The issues for multiple web heads and Kubernetes are not always the same, but are definitely very similar.
Comment #12
T-loI'd really appreciate even a slight expansion on the Handling CSS and JS aggregates point. In D7 advagg used to build these on 404 but it seems not to in D8 so I'm currently stuck trying to get them into flysystem.
Comment #13
bradjones1An approach to CSS/JS with object storage: Flysystem is great and I think there is even some thought being given to it going into core...but it does require a little tweaking. Specifically, if you are also using a CDN (which I think is a bit of a must to offload regular filesystem operations from the server, since it's all piped through in userspace) you can't necessarily put your CSS there, due to some relative path weirdness.
I did recently contribute some changes to
flysystem_gcs
to enable the above configuration; not sure what driver you're using. There's lots to be done in this space. I'd recommend hooking up with the https://github.com/drud/sig-drupal group which is kinda-sorta Kubernetes focused but is really just a group of cloud-native people. There's surprisingly little public work going on in this space, potentially due to the fact many big sites are configured in a proprietary configuration and/or utilize a PaaS, but there's a growing group of us who are looking to demystify. (And to be fair the sig includes a number of progressive organizations like Amazee, who run platforms.)Comment #16
bradjones1Comment #17
mglamanAdding note after I had an error with Commerce Invoice fail to install due to private file path not being set
It'd be great to keep
private://
but have it map to an object storageComment #18
bradjones1Or better yet, since there's a lot of logic baked into the BC layer around "private" per se, allow you to set which scheme serves as default private storage.
Comment #19
mglamanPer #18 maybe that should be the focus. Let's stop defining more stream wrappers but identify what should serve as the public or private wrapper, while still allowing new ones.
Comment #21
bradjones1