Better to have a simple system than a complex system with a simple abstraction on top.
Abstractions are never perfect. Every new layer creates failure points, interoperability hassles, and scalability problems. New tools can hide complexity, but they can’t justify it … The more complex the system, the more difficult it is to fix when something goes wrong.
From the preface to RESTful Web Services.