Open utterances-bot opened 9 months ago
Patrick asked a great question over on LinkedIn.
Given your strong opinion on URNs, what do you think of AWS ARNs? They seem really useful when interacting with meta-services like IAM which need to refer to resources from multiple other services.
There are two reasons why I dislike URNs in general and Autodesk's use of them specifically. First, an URN is trying to be a totally universal meta-identifier. When, in a real system, would you need an indentifier for literally anything? That ambition means you need all the ceremony of registering with the IANA to add support for another type of id.
Autodesk tried to use URNs as the one and only identifier for resources in each service. You had to use an URN even when interacting with the service that owned the resource in question. All that extra context was no use to anyone. You were meant to treat URNs as opaque identifiers, so even if the context would have been useful, you were meant to ignore it.
ARNs avoid both problems. They aren't trying to be totally universal, only universal across AWS services. You only need to use them when the extra context is useful, when interacting with meta-services. The format is transparent and documented.
Just read this: https://buildkite.com/blog/goodbye-integers-hello-uuids Looks like ULIDs are going to become UUIDv7?
Also, UUID v6 and UUID v8! https://www.ietf.org/archive/id/draft-peabody-dispatch-new-uuid-format-01.html And Snowflake IDs? https://en.wikipedia.org/wiki/Snowflake_ID Just so many different Unique IDs out there to choose from!
Thanks for the links Michael! It's crazy how many different versions of ULIDs there are. There are three things I missed in the post that I'd like to call out now.
Unique Ids
They say that there are only two hard problems in Computer Science: cache invalidation and naming things. Cache invalidation is far too difficult, so let’s have a go at naming things. Specifically, how do you ensure that the name you use to identify some resource is unique?
https://www.thecandidstartup.org/2023/09/24/unique-ids.html