4 ms·
No harshness intended, but I don't see the magic. IAM is solid, but is it any more special than any other distributed AuthN+AuthZ service?
by quesera 1y ago
No harshness intended, but I don't see the magic.
IAM is solid, but is it any more special than any other distributed AuthN+AuthZ service?
- lanstin 1y agoScale is a feature. 500M per second in practice is impressive.
- UltraSane 1y agoThe scale, speed, and uptime of AWS IAM is pretty special.
- quesera 1y agoIAM is very simple, and very solid. The scale, speed, and uptime, are downstream from the simplicity. It's good solid work, I guess I read "amazing" as something surprising or superlative. (The simple, solid, reliable services should absolutely get more love! Just wasn't sure if I was missing something about IAM.)
- mschuster91 1y agoIt's not simple, that's the point! The filter rules and ways to combine rules and their effects are highly complex. The achievement is how fast it is _despite_ network being involved on at least two hops - first service to IAM and then IAM to database.
- quesera 1y agoI think it's simple. It's just a stemming pattern matching tree, right? The admin UX is ... awkward and incomplete at best. I think the admin UI makes the service appear more complex than it is. The JSON representation makes it look complicated, but with the data compiled down into a proper processable format, IAM is just a KVS and a simple rules engine. Not much more complicated than nginx serving static files, honestly. (Caveat: none of the above is literally simple, but it's what we do every day and -- unless I'm still missing it -- not especially amazing, comparatively).
- UltraSane 1y agoIAM policies can have some pretty complex conditions that require it to sync to other systems often. Like when a tag value is used to allow devs access to all servers with the role:DEV tag.
- quesera 1y agoIn my (imagined) architecture, the auth requester sends the asset attributes (including tags in this example) with the auth request, so the auth service doesn't have to do any lookup to other systems. Updates are pushed in a message queue style manner, policy tables are cached and eventually consistent.