Should we avoid drawers in UI?

To assure the best UX, in complex web applications, with a lot of information, what alternatives would you recommend to a simple drawer? Which should we consider as a best practice: Push or overlay? Thanks!