It broke at 2:13 a.m., right after a deployment.
The LDAP server was still running, but no one could log in. Development froze. Ops scrambled through logs, parsing endless timestamps and cryptic error codes. Teams waited, unable to push or test. LDAP had become a single point of failure — again.
LDAP pain points are rarely about the protocol itself. They come from everything around it: brittle integrations, tangled schema, and outdated configuration buried in legacy scripts. Most teams inherit it rather than choose it, forcing them to navigate its sharp edges while keeping production alive.
Authentication hiccups spread fast. A minor change to a directory field name can silently break entire services. Permissions grow messy over time. Access audits turn into manual research projects. Scaling means more replicas, more syncs, and more potential for drift. The more you connect to LDAP, the harder it becomes to change anything safely.
Troubleshooting stays slow because LDAP tooling was built for another era. Querying feels clunky. Testing changes requires staging directories that never quite match production. Debugging means hopping between config files, logs, and network traces, hoping the problem reveals itself.