External storage

Options
Is there a way to store user media such as photos, videos & audio in an external cloud storage? I'm planning on building an app like YouTube, so I have to use a cloud storage that offers unlimited storage plans. 

Comments

  • Ray Deck
    Ray Deck Trusted Xano Expert ✭✭✭
    Options
    Hi, there are multiple approaches to this. For example, with Amazon S3, you can have your API make a call to S3 to retrieve a special "signed URL" that you then send to the user to execute the upload. This is pretty common on the S3 side of the house. This can be counter-intuitive to implement but ultimately minimizes moving parts and maximizes performance. You send API calls to 

    Or, subject to certain details, you can execute a relay. Have the user send to Xano, and then send to your intended long-term storage via external API call. 
  • David Richardson
    Options
    Check out Uploadcare.  Their UI is flexible for a lot of different content and places to upload from - "fairly" easy to set up.  The support is pretty good.  The documentation is almost too much to be of value to the Noobie.  Almost TOO MANY options, bells, whistles and sources for the code.  I found it confusing at first.  But I'm old and dyslexic.  After I got it down I like it and the storage is Amazon S3.
  • Jamar Sloss
    Jamar Sloss Member
    Options
     Does it require coding? 
  • Jamar Sloss
    Jamar Sloss Member
    Options
     Does that mean it requires coding? 
  • Ray Deck
    Ray Deck Trusted Xano Expert ✭✭✭
    Options
     I don't know what you're using on the front-end, but most likely you could accomplish your goals without having to write javascript or the like. On the back-end you should not have to write code, just orchestrate services.   recommended a service to orchestrate elsewhere on this thread.  
  • Jamar Sloss
    Jamar Sloss Member
    Options
     Uploadcare prices are too high for the content heavy app. I have to use a cloud storage service with unlimited storage per user plans like BOX & Dropbox. The front end will be all HTML, CSS & JavaScript code. The MVP will be a membership marketplace like Onlyfans with ecommerce features, but I'll transform it into an enhanced version of YouTube once I become a skilled software developer. 
  • Ray Deck
    Ray Deck Trusted Xano Expert ✭✭✭
    Options
     You can cut out of pocket costs by going to lower-level services, like from uploadcare to s3. The trade-off is you managing more complexity. Doesn't necessarily mean (more) code - just more considerations to juggle. The gradient for much of this tooling is usually between paying more money so someone else manages, or pay more in your time. 

    S3 competes directly with firebase storage (Google) and Azure storage (MSFT) which you might investigate for whether they help bend your cost-to-complexity curve in a way that works for you.

    Hopefully this gives you an ok mental model for evaluating options! 
  • David Richardson
    Options
    Jamar Sloss Uploadcare offers scripts to use out of the box.  I'm using Webflow as a front end platform and there is some setup for that.  Things like your credentials and so on.  Then there is the front end loader which lives in the page using the script.  That is a form tag that will have some hidden fields which is a modal (popup) that requires some form elements on the page with some data attributes.  The data attributes transform the text input tag into the modal that is a drag and drop UI.  You'll need to set up an account of course.  That's free.
    Navigate to the uploader and kick the tires.[uploadcare.jpg]I wanted to display the file the user just uploaded back to the user - verification.  That took a few lines of JavaScript.  In general, I found it useful to have a page dedicated to handling the file selection (by the user) and then, after the file shows back up on the page, to have a submit button that fires the form submission / webhook and stores the file UUID or the href URL in your database.

    I never got that far, but there are other options for storing the actual content.  The URLs are small text fields.  DropBox and other storage platforms might have some latency issues (longer to download).
  • Jamar Sloss
    Jamar Sloss Member
    Options
     After calculating, it looks like Amazon s3 is the cheapest option for high performance. S3 will be good for content creators who upload 10-20 min videos weekly, but I will still need to add an unlimited storage option such as BOX or Dropbox for heavy data users such as gaming streamers who stream for 6-12 hours at a time 5-7 days a week. Hopefully I'll be able to create an API function that can transfer a user's storage from 1 cloud storage to another, so I can allow users to upgrade from s3 to an unlimited storage option. 1st I still have to figure out how to create a function to push a user's storage to an external cloud storage in Xano. 
  • Jamar Sloss
    Jamar Sloss Member
    Options
     Is uploadcare free as long as I use external storage? Hopefully it has a premade function that allows my users to transfer their storage from one cloud storage to another because I want to give users multiple cloud storage options & allow them to switch to another cloud storage. 
  • David Richardson
    Options
     It's certainly free during development. But you'll have to dig into the weeds a bit to see if it serves your needs and budget.  There's no free lunch even on the "interwebs"  If you're developing a website that provides a service, probably the most important factor is your business model.  How do you pay yourself and keep the lights on?  That deserves a great deal of thought and some people you trust to give honest feedback.  People who ask you questions are invested in your success. They are more valuable than people telling you what you should do.  They are more interested in their own validation.  Just my opinion.
  • Indrek Peenmaa
    Options
    Hi, some storage systems have a free tier and some do not.

     If you just want the lowest cost, you can look at Digital Ocean and Linode. Photos and videos are kept in Object Storage. 

    AWS and Google Cloud are bit more expensive, especially if you need network bandwidth - meaning streaming videos to customers.

    Lower cost platforms are using same APIs (called Amazon S3 compatible storage) which makes switching very easy.

    All storage platforms can communicate via APIs - therefore if you know how to build APIs, you do not need to program (of course also depends what front end tool you use). Basically you send the file and get back url about file location in storage and you can save it in Xano.

    If you wish more intelligence from Storage (like automatically creating tags about things shown in video and many other options), there are platforms like Cloudinary. 

    For most projects it makes sense to keep   photos in Xano. But it you wish to provide unlimited video, you may need to go for lowest cost storage and it really depends on monetization as well. Therefore you may need to add more intelligence. I have heard that Tiktok employs people who manually tag videos but it seems to pay off because their sorting is great.
  • Jamar Sloss
    Jamar Sloss Member
    Options
    Prices add up to be very similar. For regular users who don't use much storage, I want to create a system that lets users add media from their own cloud storage accounts. The simplest way is to create a get string input & the url as a variable. For content creators who use lots of storage such as gamers who stream, I want to integrate BOX for unlimited storage.
  • Lukasz Kwiatkowski
    Options
    Hello Guys,
    I think it is an interesting discussion and I hope you will be able to help me as well as I am experiencing similar problem.

    I want to move to more affordable storage for media like photo and pdfs as Xano tiers seem to extremely pricey for my expected unit economics.
    I imagine the following flow:
    • FE passed all the data to Xano along with the generated/forwarded file
    • Xano saves data in one of the tables and passes the file to the external storage party e.g. S3
    • Storage party returns the link as an API response
    • Xano stores the url link to the file

    It is critical that the stored file can be accessed as permanent unsecured link(url) and not only e.g. GET call it be accessed from anywhere easily (my users can access it not only through my app or POSTMAN but also export the link e.g. to pdf or .csv then access the relevant resource on the web)

    Do you know if S3 can accomplish that and if so what would be the cost apart from storage that I should consider? How the accesses through the link would be priced?