// the find
robinrodricks/FluentStorage
A polycloud .NET cloud storage abstraction layer. Provides Blob storage (AWS S3, GCP, FTP, SFTP, Azure Blob/File/Event Hub/Data Lake) and Messaging (AWS SQS, Azure Queue/ServiceBus). Supports .NET 5+ and .NET Standard 2.0+. Pure C#.
FluentStorage is a .NET abstraction layer over cloud blob and messaging providers — write once against IBlobStorage or IMessenger, swap backends via config. It's the successor to Storage.Net, with the same maintainer and a wider set of providers. Aimed at .NET teams who need multi-cloud portability or want to avoid vendor lock-in without writing their own adapters.
The provider model is genuinely well-structured: each backend ships as its own NuGet package so you only pull in the SDKs you actually use. The in-memory and on-disk implementations are first-class, which makes local dev and unit testing work without any mocking gymnastics. The transformation sink layer (AES encryption, GZip) is composable and doesn't require provider-specific code. Microsoft sponsorship and active 2024/2025 commits suggest this isn't going to be abandoned next quarter.
437 stars for a library this broad is a thin community — you're likely to hit edge cases that nobody else has filed yet. The abstraction surface is lowest-common-denominator: if you need S3-specific features like multipart upload lifecycle, intelligent tiering, or SQS FIFO ordering guarantees, you have to cast to the provider-specific interface and lose the portability you paid for. Wiki documentation exists but is shallow; the integration tests are marked 'Leaky' and require real cloud credentials, so there's no way to validate your own provider behavior locally. The messaging abstraction in particular is weak relative to the competition — SlimMessageBus and Foundatio have better consumer group and retry semantics.