OverviewBack to top
Amazon Simple Storage Service (S3) is an object storage service that allows the developers to decouple file storage and application system and at the same time to decrease the application complexity by its out-of-the-box features like scalability, data availability, security, or performance.
This extension is adapting the Amazon S3 API to Magento 2 DriverInterface to assure compatibility with the existing implementation (core or third-party extension) but also providing extended features required for remote filesystems integration at the application-level. The S3 filesystem driver could be integrated into new development or replace the filesystem driver of the existing workflow (e.g.: catalog product images, CMS block/page images) as an alternative for mounting S3 buckets on the application servers. Check the dependencies section and online documentation for related extensions to find additional charges that may occur for your use-case.
Account & Pricing
Additional charges apply depending on the use-case:
- pre-requires an account for the Amazon S3 storage service.
- Check the pricing list here or sign-up here.
- requires the "Remote Filesystem Integration" extension starting at 300$ for the overall configuration, mapping, and integration into the Magento ecosystem. Available in Magento Marketplace.
- (optional) for mapping, the existing subdirectories under the Magento's "pub" directory to a remote filesystem, additional extensions are needed
- Bb_StorageOverwrites - 100$ (currently in alpha phase, will be published soon in Magento Marketplace)
- Compatibility improvements for the Magento's core modules where the filesystem architecture is not strictly followed (available in alpha phase)
- Bb_StorageCatalog - free
- Bb_StorageDownloadable - free
- Bb_StorageCms - free
- adapt the Amazon SDK API to Magento 2 Filesystem API.
- assure weak dependency on the storage service provider's API and allows the developers to decouple storage implementation from the storage service provider API.
- optimization of API calls quantity to minimize storage costs. Eg: Assume that the directory is writeable and exists since Amazon S3 handles this automatically when writing the files.
- Read the documentation to see some of the key advantages of using this Magento 2 extensions to integrate Amazon S3 or other remote file storage services at the application-level in a platform-agnostic manner.
Storing static files inside the computing system involves some work when you decide to scale horizontally, but having all static files stored in a cloud object storage service (as an external “micro-service”) could ease the deployment process, at the same time reducing the complexity and improving the performance of the system. You can check some application architecture examples, to guide you in the process.
Having a specialized microservice for storage, processing, and delivery of all the static content allows the developers to scale and improve this area independently. It is clear now, that this may be a big plus because the website's performance affects the customer experience, the conversions, and the advertisement costs (lately, the advertisers are more and more careful about the website performance). The main advantages of having a remote filesystem integration at the application level vary based on the configuration:
- Zero read overhead for content delivery. Having the storage system always mounted on all the application's servers could add some overhead depending on the driver, but using this extension the two systems are fully decoupled allowing media storage improvements to be deployed independently (eg: compression or other actions)
- Reduce overhead on write operations
- Decentralized architecture using Bb_StorageOverwrites
This demo exemplifies Amazon S3 integration for catalog and CMS pages images, and you will find the step by step actions and results. (See Account & Pricing section to understand the additional cost of this setup)
Be aware that, this extension is only implementing an Amazon S3 adapter based on the "\Magento\Framework\Filesystem\DriverInterface" interface, and in order to be used in the Magento ecosystem you need also, to buy the "Remote Filesystem Integration" extension, available in Magento Marketplace. The "Remote Filesystem Integration" extension will provide all the needed configuration for the driver to be properly instantiated.
There are plenty of subjects and examples covered in the online documentation about the extensibility, configuration, and application architecture improvements. If you want to contribute with documentation or request new features you can do it on the project GitHub page.
Technical SpecificationsBack to top
Adobe Commerce platform compatibility
Open Source (CE): 2.3 (current), 2.4 (current)
Commerce on prem (EE): 2.3 (current), 2.4 (current)
02 December, 2020
Extensions, Content & Customizations, Personalization & Experience Management, Product Content, Rich Media
Chrome, Firefox, Opera, Safari, Edge, IE
Quality ReportBack to top
All tests were conducted on the latest versions of Adobe Commerce that existed for the compatible release lines at the moment of the extension submission. Latest versions of all other software were used, as applicable.
Release NotesBack to top
- Compatible with Open Source (CE) : 2.3 2.4
- Compatible with Commerce on prem (EE) : 2.3 2.4
- Stability: Stable Build
New filesystem driver for Amazon S3 and custom factory class to configure the connection using the settings provided by Bb_Filesystem (bb/filesystem) extension.
Add a new connection profiler for an S3 driver.
SupportBack to top
The best place to start if you need help with a specific extension is to contact the developer. All Adobe Commerce developers have both a contact email and a support email listed.Contact Vendor