If you are building software apps, at some point you will likely need to build an image hosting service (let’s be honest, probably more than once!). Image hosting is a core feature of many apps, and it’s important to get right.
We all know the best practices for building image hosting in the cloud. Start with Amazon S3 for the uploads. Then serve them up with a CDN like CloudFront. Easy, right? Well, as usual, the devil’s in the details.
In this episode of Mobycast, Jon and Chris kick off a two-part series detailing how to build a massively scalable image hosting service. We share hard-won tips and tricks so you can avoid common pitfalls when building your own solution.
In this episode, we cover the following topics:
- A common feature for web apps is image upload. And we all know the “best practices” for how to build this feature. But getting it right can be tricky.
- We start off by discussing the problem space, and what we want to solve. A key goal is to have a solution that is massively scalable while being cost-effective.
- We outline the general architecture of the solution, with separate techniques for handling image uploading and downloading.
- We then dive deep into how to handle image uploading, highlighting various techniques for controlling access over who can perform uploads.
- Two common techniques for securing uploads when using AWS are presigned URLs and presigned POSTs. We discuss how each works and when to use one over the other.
- We finish up by putting everything together and detailing the steps involved with uploading an image.
We’d love to hear from you! You can reach us at: