There are two potential protocols involved, LDAP and CardDAV, both of which are included in Exchange. But the protocols are open, so they’re available from many places.
Contacts primarily uses CardDAV* (developed mostly by Apple) for syncing. CardDAV is the most commonly available protocol from third party servers (gmail, fastmail, MS, …). It’s probably most common because it’s a good bit easier to manage than LDAP, and most people only want the contacts part anyway. I don’t know what most of the differences are compared to LDAP, or whether a third party CardDAV server would be more reliable than Apple’s; given Apple’s track record, it’s not impossible. But it’s likely that CardDAV just doesn’t support features that people want/expect. It’s also possible that some of the Contacts problems are part and parcel of the Contacts app, and using an app other than Contacts that supports CardDAV would work better for at least some features/people.
LDAP is a ‘lightweight’** flavor of the open DAP X.500 directory service. It does a lot more than just contacts, such as account privileges. IIRC it primarily pushes centralized data to clients. Apple forked OpenLDAP to produce Open Directory, which was included in mac server. There are many LDAP server and client implementations available, some proprietary, some open source.
Contacts (mac and ios) is a client for the contacts features, but not a server.
Not every LDAP client can talk to every server, because there are variables such as which authentication protocols are provided. But it should be possible to find an LDAP server account, or run your own server (not at all trivial), if you want to manage the data on the server, then push it to any subscribed Contacts.
- CalDAV is the protocol used for Calendar, also mostly developed by Apple.
** Having been mildly exposed to the mess that is LDAP, I don’t want to even read about full DAP. The people I’ve known who had to seriously deal with LDAP had interestingly expanded vocabularies.