Hours? Could you elaborate a bit what exactly you mean with "by hand"? I'm probably not thinking manually enough, I can't come up with what could possibly that time intensive about any deployment.
"By Hand" I mean running each command required to deploy line-by-line, at the command line.
For me, that would be:
1) provision VM
2) configure the new VM (security hardening, install utils)
3) download app from git and configure it
4) take image of vm
5) install new image into my autoscaler
6) hot-replace live instances of previous version with new version.
doing each of those commands by hand and waiting for each to complete could easily take 1.5 or 2 hours of work. I did it by hand the first couple times but once I figured out my workflow I automated it (bash script) as fast as possible.
I spent a couple days looking into ansible, but as I have a very specific need I didn't want to spend 2+ weeks adding another chunk of "technical debt" to my product.
For me, that would be:
1) provision VM
2) configure the new VM (security hardening, install utils)
3) download app from git and configure it
4) take image of vm
5) install new image into my autoscaler
6) hot-replace live instances of previous version with new version.
doing each of those commands by hand and waiting for each to complete could easily take 1.5 or 2 hours of work. I did it by hand the first couple times but once I figured out my workflow I automated it (bash script) as fast as possible.
I spent a couple days looking into ansible, but as I have a very specific need I didn't want to spend 2+ weeks adding another chunk of "technical debt" to my product.