Hi Nicolas,
Could you please describe how I could utilize those suggested options to support the workflows described?
Actually, many databases work with an eventual consistency model as well. It’s a common design tradeoff
I agree with this 100%. It’s a design tradeoff informed by the system requirements. I expected that Auth0 was designed to be used as a federated user store, so that my use cases described above would be within the requirements for which your system has been designed (vs. a business intelligence system or a social networking site where eventual consistency doesn’t break the functional requirements of the system). I can’t remember integrating any system that’s shown such large latencies between object creation and availability on the list endpoint in the API, so I’m still confused why the design tradeoff’s were felt to be reasonable in this context. That’s great for you that you’re doing 2 billion interactions, but that does nothing for me as your customer. (Though I would hope that you could direct some of the revenue from all that usage to make this system more performant)
I don’t think going down the path of discussing the technical limitations or design decisions would get us to any valuable outcome.
It might not be a valuable outcome on your end, but as customer of your product understanding the use cases that you are designing your system to support, vs. the one’s that you don’t view as critical or supported, is very important and valuable to me. It’s actually more valuable than getting an understanding of this one tactical question, as knowing how you think about and invest into your product is more important to me than the current state of the product. For example, if the way this conversation went was “We agree that delays any longer than 1 minute are unacceptable, and have plans on our roadmap to ensure that in the future these delays will be managed.” Instead it appears Auth0 is unwilling to commit to any expectations, or communicate any additional information about what, as a customer who is using this for a core piece of my infrastructure, can expect in terms of performance guarantees from you, my vendor. That understanding for me, will be the most valuable outcome from this conversation (unless you are able to explain to me how I can resolve the use cases I described without incurring such delays using your system, but so far it seems that you’re describing features, but not putting them in the context of my requirements).
I agree that the technical limitations of your technology decisions shouldn’t be part of this conversation, but your team brought them in as justifications for the poor latency of this end point. I’d prefer to simply be told what the SLO’s are (and ideally make them reasonable), what are supported vs. unsupported intended usages of your product, and allow us to avoid any conversation about technical limitations of different options. Of course, working backwards from customer requirements to technical implementations that meet those requirements is what your engineering team is there for!
In the meantime, can you give any specification about this delay beyond “Auth0 tries to ensure these delays as short as possible”? I am embarrassed to communicate to my internal stakeholders, let alone our customers, that new users added, or changes to existing users, can take a completely unknown amount of time to show up or change. I’ve definitely seen this take over 10 minutes, and I communicated a case to Dan in DM earlier today that seemed to be pushing into the 30 min range IIRC.
Ben