Yes, Netflix bakes new AMIs for each code change. It first starts by building up a base, called the BaseAMI, and then each app is layered onto that base. As far as deployment goes, we typically use Asgard (
https://github.com/Netflix/asgard) for deployments. Joe Sondow has talked extensively about how Asgard is used at Netflix, you should be able to find one of his talks on YouTube. But to your point, we're deploying to AWS, so we can spin up a new "cluster" (actually an ASG) for each new AMI we need, and then we spin down the old one when we're done testing the new one. We call this a Red-Black push. What happens to the "boxes" isn't our concern, #cloudftw.