3 ms·
Compared to how I do things: You're thinking of it in too few steps. I have always written my deployments in stages: Stage 0: Set up accounts, API's, access (
by dijit 4y ago
Compared to how I do things: You're thinking of it in too few steps.
I have always written my deployments in stages:
Stage 0: Set up accounts, API's, access (usually terraform with a little bit of seed information)
Stage 1: Create any VM's necessary (or managed services, like databases) [terraform]
Stage 2: Push any config files that might be necessary, this is provider agnostic [Ansible/Puppet/Chef/Salt]
Stage 3: Push your business application to the machines.
---
The reason I divide things up into these stages is because they operate at different cadences (you don't enabled API's or create VMs at the same speed as you develop new code) and with different specialised tooling (making ansible do what terraform does is a lesson in frustration, and vice-versa).
The benefit is: You can substitute all of Stage 0 and Stage 1 and keep Stage's 2 and 3 relatively unchanged.