I've been exploring chef and one of its features is to auto update a client. I'm hesitant to use this feature in production because I don't want to upgrade a node while it is in use. For major changes I would want to route traffic to a different node and then upgrade (eg I wouldn't want to upgrade my app server while it is in use).
I know I can script the updates of my nodes and update on demand but I'm wondering if people are just letting their nodes auto update in production and how they're dealing with upgrading while the sever is in use.