What should be centralized will definitely fail in a decentralized environment. There are always pros and cons. None of these are "ultimate best solution" because it varies on every project and it must be cleverly chosen what direction must be followed.