Help

Re: Soon You'll Need a CDN

4015 0
cancel
Showing results for 
Search instead for 
Did you mean: 

One of the best features of Airtable is the ability to drag images, files, and even videos (i.e., digital artefacts) right into an attachment field. When you do this, Airtable makes a copy of your image and stores metadata about the image into your base. It also quietly moves the copy of your image to its content delivery network (CDN). The URL to your image has been openly accessible providing a wonderful way to share access to your assets For almost eight years, this has been possible but that’s going to change in significant ways later this fall.

image

Long Time Coming

I predicted this would happen in 2019. They warned us then and they are giving you almost a year to make plans. A lot of folks complained here, but this change is most certainly going to happen and it is in everyone’s best interest.

Now that Airtable has officially announced new specifications for its CDN, any solutions that depend heavily on images that need to be accessed outside the Airtable UI will probably require that you host them in your own CDN.

What’s a CDN?

Cloudflare provides one of the better definitions:

A content delivery network (CDN) refers to a geographically distributed group of servers which work together to provide fast delivery of Internet content. A CDN allows for the quick transfer of assets needed for loading Internet content including HTML pages, javascript files, stylesheets, images, and videos. The popularity of CDN services continues to grow, and today the majority of web traffic is served through CDNs, including traffic from major sites like Facebook, Netflix, and Amazon.

Airtable, of course, has its own CDN to provide access to the images and files you upload to attachment fields. The intent of this CDN is for it’s paying customers; not as a global hosting server. If you need to host your Airtable-bound digital artifacts, you’re going to need to essentially replicate Airtable’s CDN, so you might want to read on.

Thanks Google Drive!

One might think that Google Drive, or other services such as DropBox or Box will host these files for me, but that could be a mistake. These services don’t want to be your CDN any more than Airtable does. They include ToS clauses that allow them to throttle open access to your documents despite being fully shared to the open Internet.

One Approach

There are many ways to create a CDN for your attachment files. In fact, Cloudinary is an ideal ready-made CDN that also provides many features for sizing and rendering images in custom formats and styles. However, it’s not a magic bullet and the pricing might be a little steep depending on your needs.

The complex part requires that you create some sort of an integration that pulls (or pushed) your attachments from Airtable (perhaps using the API or script automation) and upload yet another copy into your CDN environment. If you have a serious commitment to attachments, this could be a sizeable challenge. There’s also the issue of keeping your CDN updated in near-real-time, a key requirement that is more easily addressed with Firebase.

These complexities may not be easy to build depending on your selection of a premade SaaS CDN solution. And, you might also get lucky with Zapier or another glue-factory approach. Experiment a little and see what works best for your situation.

I have already helped a few friends design an approach that uses Firebase, a Google Cloud Platform service that is very fast and provides a generous free tier and an integrated CDN.

image

WARNING - CDNs are not universal in features. Some are globally distributed while others provide localized servers in your country. The costs vary greatly as well. And it also depends on your hosting and delivery requirements.

35 Replies 35

You’re right, I was internally thinking of different Attachment fields from different tables, those will need one dedicated automation, for each table.

Also, AFAIK the “create” and “update” events are different, so you might need to have one automation which triggers during the “create record” event, and another which triggers during “record update” while watching all the Attachment fields.

So, in this case, that would require 2 automations per table where you’d want to make any attachment public. Associated with the 50 automations limit, it can be a hindrance (sure, you could have them in another database, but there are other issues to think of when doing that).
And it makes things harder to maintain as well.

I’ve opened the Feature request: Public CDN opt-in for attachments feature request, I believe it’d be the simplest way to deal with all of that.

Once again, this can be overcome and simplified. Imagine a view that sweeps up all records based on the value of a field that tracks the last modified date/time. This allows you to see both created and modified records which trigger the webhook listener.

FYI, very little of what Bill posts is beginner level.

Well, there are some exceptions; I post beginner-level questions when I’m stuck. :winking_face:

Hi @Bill.French ,

Your solution overall-diagram
76bf3bb6dd6dba4cbe7615ceaa943b57f727fa27.png 76bf3bb6dd6dba4cbe7615ceaa943b57f727fa27.png
is inspiring me for a while but as you know, airtable + js + integrations is not my first job,
so I’m delaying the moment I would jump into your favourite Firebase / Firestore you were still talking about e.g. around airborne, elastic search, indexed full-text search and inside other threads.

Between eggs+roasted bacon and coffee (this is my actual usual breakfast, even in Belgium),
I was bookmarking something that could help to browse and maintain some pictures and light-weight (in my useCase) videos , not CDN’ed by airtable, but by something called a “firebase project” that’s still dark stuff for me (but not yet a dark hole :winking_face: )

I can’t wait to go from a not yet very well founded wish to a well conducted learning experience but I still don’t get time available to cross this new milestone.

So it is still possible that it will never happen before the deadline of 1/11/2022…

You (and the Community) might think that I would take the risk of desynchronizing the Airtable Attachments, the CDNurl’s and the Firebase project by going to manipulate it behind the back of Airtable and the automation yet discussed today by using ROWY or something like that if it exists, but it’s not so!
I’m just so newbie in Firebase that it would be very comfortable for me to see my records and possibly help me when my workflow prototype wouldn’t work as expected, which will happen.

Disclaimer: although I’m bringing ROWY up in this thread, I emphasize that this is strictly within the scope of this thread and is not an invitation to drift away by trying to compare ROWY and Airtable, at least not here.
If you are interested in this discussion, please open another thread elsewhere in the forum, thank you very much!

Yum.

The truest test of a vendor’s confidence is seeing how they react when you openly link to names of perceived competitors in their own forum. :winking_face:

Matt_Kennedy1
7 - App Architect
7 - App Architect

Most of the image sharing that we do w/ colleagues happens via shared views. Do you have a guess as to how/whether the share view function will work under the new attachment handling protocol?

Attachments in shared views will continue to work as before.

Thibaud_Donzier
6 - Interface Innovator
6 - Interface Innovator

Has anyone tried the Cloudinary solution through Mini extension ?
It seems to be able to solve our problem :crossed_fingers:t2:

I like it because it’s based on proven tech; Cloudinary is a very solid platform with years of testing and deep understanding of CDN requirements. It does come at a cost and layered on top of that is Mini Extensions cost, but perhaps a worthy combination with lots of very useful features.