
Show HN: Add S3 Capabilities to Azure Blob Storage Using Minio - y4m4b4
https://blog.minio.io/add-s3-capabilities-to-azure-blob-storage-using-miniofirst-of-all-why-cant-we-use-azure-api-73a61952294a
======
gaul
S3Proxy gateways to Azure as well as Backblaze, Google Cloud, and Swift:

[https://github.com/gaul/s3proxy](https://github.com/gaul/s3proxy)

~~~
atomi
It's Java though. Minio runs on my rpi0 in an ~80Mb docker container.

~~~
gaul
Java hate is unnecessary. S3Proxy has low memory usage and a similar image
size.

~~~
fizwhiz
Perhaps a better response would be outlining how much memory it actually
takes? This way people can decide (i.e. if they care deeply about the memory
footprint)

~~~
anonfunction
I ran the docker container and it uses 56.97MiB without any requests going
through.

    
    
        docker run -d --publish 80:80 --env S3PROXY_AUTHORIZATION=none andrewgaul/s3proxy
        docker stats

------
s0l1dsnak3123
The great thing about using Minio in front of Azure is that Minio supports
pre-signed url generation whereas (as far as I know) Azure does not.

~~~
gaul
Azure shared access signatures provide the same functionality as S3 pre-signed
URLs with a few extra features:

[https://docs.microsoft.com/en-
us/azure/storage/common/storag...](https://docs.microsoft.com/en-
us/azure/storage/common/storage-dotnet-shared-access-signature-part-1)

------
mankash666
The idea behind using S3 or other PAAS is to not run and maintain your own
servers. While minio is great if you want to run your own S3, depending on it
to use a different PAAS is not the most convincing use case

------
tw04
Serious question: why? I mean, maybe as a really, really lazy hack if you've
got free azure credits and don't ever plan on actually supporting Azure in
your codebase. But that seems like a very, very corner case. Would anyone ever
actually do this for something production? Why wouldn't you just write native
azure support, it's not THAT difficult.

~~~
rsanders
I probably use 20-30 apps that support using S3 that I can think of right now.
Not all of them are maintained by me or even open source. Other than a proxy,
it's impossible for me to change some of them.

In terms of use case: my company has a customer that requires us to locate an
instance of our product in Azure, and some of that infrastructure is much
easier to move with a compatibility layer.

You might as well ask why there are any standards in software and networking
at all, as each new protocol or library isn't THAT difficult to support.

