From a security standpoint, developers should not deploy, install, manage, or administer any production servers. It is a conflict of interests and is covered by separation of duties.
That being said, I've worked in many environments. In my current position we have four teams.
1) Development
2) System Administrators
3) Application Administrators
4) Database Administrators
Development develops the applications, System administrators manage and maintain the hardware/os, app admins manage and maintain the applications, and the dbas manage and maintain the databases.
Development writes the applications and hands them off to the application administrators. These guys install the app in our QA environment and go through some testing. Once it's tested internally, we install it in UAT and give our customers a chance to test. If there are any problems during testing, the release goes back to development. Once everything has tested clean, we have a change control meeting with the DBAs, App admins, and System admins to discuss all of the moving parts and work together to put everything into production.
I think we have the best of both worlds. Development is out of the loop after they hand off the product, but we also have Application support folks which work closely with development and know the applications and their requirements.