Deployment without tearing down VMs



First and foremost, this might sound like a stupid question to ask. After all, Spinnaker is designed for immutable infrastructure and this post explains it pretty clearly

But I’d still like to confirm that if there is a possible way to deploy artifacts into GCE VMs without tearing them down. We’re currently using Puppet to manage infrastructure (and yes it’s mutable infrastructure) of a monolithic app, which includes a good number of supplementary services for things like logging, message broker and etc that have to co-exist with the web app itself. Converting the Puppet setup into a VM image or a Docker container is not an easy task based on our current evaluation.

I’m trying to explore the possibility of keeping Puppet as-is, and having Spinnaker deploys only the web app into existing VMs without touching their infra while still having all cool features from Spinnaker (canary) enabled in this pipeline. If there was a miracle solution to make all these happen, it would be a great transition plan to get our feet wet with Spinnaker.