< Back to the main page

October 15, 2023

I'm happy to announce that the book is now updated with all the remaining chapters I planned to include! This marks the first complete release of the book. I will update the book when some of the content needs a refresh, or when I encounter a topic that is missing but is important enough to include. But otherwise, these will be relatively small changes.

One of the chapters added is about signed cookies. When I first started working with signed URLs, signed cookies were only a filler item in the AWS feature matrix: they were a feature but not usable in practice so I did not give too much thought about their use-cases. But with the introduction of trusted key groups in CloudFront and also my exposure to video streaming made me reconsider their usefulness. That's why I included a chapter about it in the book: if you have video streaming requirements, signed cookies are a good option to consider.

And the last chapter is a GraphQL example app. This comes directly from my book about AWS AppSync with minor modifications. It is included in this book also to show that signed URLs can be used in many different technologies.

October 7, 2023

The book is now updated with the diving deep chapters that were available in the previous version of the book. These include several topics, such as security hardening of signed URLs, a more in-depth discussion about caching and proxies, as well as more details about uploads.

September 27, 2023

The book is now updated with a chapter on performance case studies. This involves a dual implementation of a photo-sharing app, one with S3 signed URLs and one with CloudFront ones. From these chapters you can learn how to implement efficient caching both in the browser and the edge, as well as how to bring the full flow of file handling to a single domain.

While it's usually not required for apps to implement all the techniques detailed in these chapters, I think that knowing about them helps understanding many of the underlying mechanisms behind signed URLs. And also, writing these chapters was a challenge: I needed to find performance-related problems (that was the easy part) and come up with solutions to them in a way that does not introduce more problems.

September 17, 2023

The book is now updated with a chapter on CloudFront signed URLs. This type of signed URLs was available for a long time but were not usable in practice. This was due to a requirement of adding the public key to the AWS account itself using the root account and that went against a lot of best practices.

But since CloudFront added support for trusted key groups, CloudFront signed URLs are a practically useful way to provide serverless-friendly controlled access to content. While in most cases S3 signed URLs are easier to setup, there are valid use-cases for CloudFront ones as well, that's why we're discussing them in the book.

August 16, 2023

I'm happy to announce the first publicly available version of this book! While there are a lot of topics that are work-in-progress, I feel that it is already helpful enough to start putting it up for sale. The main part is the dual implementation of an ecommerce site where the same functionality is implemented in two ways: the first one is a traditional, server-centric way, while the other one is using only serverless technologies. As you'll read these chapters you'll see the use-case for signed URLs in action.

This is a rewrite of my first book back from 2020. While some chapters are similar, it expands a lot on example projects and will also include CloudFront signed URLs, a feature that was not mature enough when I wrote the first book. The format is the webpage + pdf + epub, which is IMO way more user-friendly than the various stores the original book was available on. Because of these, I consider this version a complete rewrite and not just a simple update.

My plan is to gradually add more chapters to the book. My last book was finished in 15 months, but this is a slightly smaller topic so it will probably take less time. But similar to the process I followed last time, every purchase includes all future chapters as they become available.