0

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.

Jeff Storey
  • 448
  • 1
  • 7
  • 19

1 Answers1

1

It Depends™ on how your environment works really.

For example: I was just talking with one of the former sysadmins from Heroku. They have a highly automated system; when an update or something is needed on a node it goes into "maintenance mode". All the traffic gets offloaded to other servers; once that is done it's "Maintenance ready", the updates are applied and it reboots. When it comes back up the other systems recognize it as "ready" and it starts getting traffic again.

The key to how that works, is that each layer in the application "knows" what servers are available and routes traffic intelligently. Unfortunately most vendor supplied applications have extremely little fail-over ability, and it ain't pretty. So you'll probably be stuck with manual processes top to bottom.

Chris S
  • 77,945
  • 11
  • 124
  • 216
  • Thanks, the idea of maintenance mode was something that sounds like what I was thinking. Appreciate the input. – Jeff Storey Oct 03 '12 at 14:10