Before I start rambling about my adventures with Rails, I want to do something I'd appreciate more people doing, and hey, be the change you want in the world, so the actual is gonna be under the title (in this same article, don't go D:), you can skip there if you're in a rush, but I think there's some value in the process of finding the answer, other than the answer itself, and I don't know, this is my way to communicate things. We all good? Ok, here we go. step by step THE ACTUAL TUTORIAL The challenge So, recently I was working on a rails app ( ) where I needed to add an image for every article in a database, and while checking the requirements I read this: shameless plug You can store the image as a string, since uploading images to Heroku is tricky and not required for this project. I immediately choose the responsible approach and took it as a challenge, I mean, How could it possibly be?. Well, my friends, it was indeed, really tricky tricky. The journey begins In my first try, I just uploaded my project to Heroku to see it fail, I wanted to see exactly what happened since most of the time you can learn a lot from the logs of an error, Does it break entirely? Does it reject the project on Heroku?. But it didn't, the app loads correctly, Heroku doesn't complain, and you can upload images, so What was going on? Did they just lie to me? That wasn't at all. So I googled a little and got from Heroku themselves where they explain: tricky this article ... [files] will appear to work at first, [but] the attachments will exhibit seemingly strange behavior and eventually disappear. And back at the app... oh... oh no... Luckily, the lovely people at Heroku left a tutorial on how to use AWS with active storage, unluckily for me, I'm currently banned from AWS. So I followed a link to get other services with active storage and got 3 options, Google Cloud Storage(GCS), Microsoft Azure and.. AWS, so only 2 options. The battle of the credit cards GCS and Azure share a lot of things, they both have free tiers/trial periods, they are both own by giant tech companies, and they both require my credit card to get into the free tier because they are owned by giant tech companies, see the circle here? Now that wouldn't be that much of a problem if at least they accepted my debit card, which they didn't, so It was time to google again, and then... when everything seemed grey, I found the Github Students Pack. Turns out, GitHub hooks you up with A LOT of freebies if you are studying, one of them being, you guessed it, a Microsoft Azure Students account. The final struggle Ok, now I have the keys to the kingdom, but What do I do with them?, I went back to the rails guides, and made my last mistake (of the day at least). I entered instead of https://edgeguides.something https://guides.something . But in the end, it was our old friend, , which came to my rescue. Looks like in the Edge Guides, they recommend using "azure-storage-blob", but in the normal guides they say you should use "azure-storage", and when someone asked in the "-blob" repo How to use it in the active storage, the answer was pretty much, "Yeah, I don't know what you're talking about". Now, in my defense, they both look exactly the same if not for a little badge on the top right saying ' edge', which in retrospective I should've seen waaaaay before, which resulted in hours of trials and errors, and me asking myself if I'm a real programmer, and thinking of maybe just uploading strings with the URL of the file, because, I mean, it was not required, and frankly, uploading images to Heroku can be tricky . the old issue on GitHub with the same problem as you The actual tutorial So here we are, we have all the pieces, and we are ready to add some actual code. Amazing. The first thing you wanna do is enter you and go to Storage accounts, and create a new one Azure account Now, I'm gonna be real with you guys, I don't know how much information I can share from inside my Azure account without being hacked or something like that, and since I'm literally in a site called noon... I'm not gonna risk it, but this is the data you need to change in this page, you can name both whatever you want, I choose greeks and herojourney, all of the other fields, I didn't change anything, and hit Review + create at the bottom left, then create again. Hacker blued-out Then you're gonna have to wait for a little bit, until the page show you Then click on go to the resource Your deployment is complete. Now you need to go first to the containers, add a new container And finally, to you access keys, you want these one (the one covered in orange): Finally, you want to add this configuration on your config/storage azure: service: AzureStorage storage_account_name: storage_access_key: container: < [' '] %> %= ENV STORAGE_ACCOUNT_NAME < [' '] %> %= ENV STORAGE_ACCESS_KEY < [' '] %> %= ENV STORAGE_CONTAINER This in your .env (assuming you are using dotenv and don't want to share your keys online) STORAGE_ACCOUNT_NAME=your_account_name STORAGE_ACCESS_KEY=your_access_key STORAGE_CONTAINER=your_storage_container Add this gem to your Gemfile gem 'azure-storage' The results In the end, and after a lot of struggle, I pushed the changes into my repo, and there they where in all their glory A couple of things to note, as you may have guessed, Azure is a paid service so keep notice of your containers, and use the local active storage in development. If you have any question you can check where the code for this app is hosted, or contact me on my socials, thank you for taking the time to read my article, and happy coding :D. the repo Last minute edit: I'm obviously not being paid by Azure, but hacker asked me before submitting, so I thought of making in completely clear.