| That's what I've done. The way I see it is this. Tools like ansible, terraform, etc. don't eliminate the need to understand about shell scripting, the AWS API, etc. All they do is give you something additional to learn on top of all the stuff you already need to know. It's like https://en.wikipedia.org/wiki/There_Was_an_Old_Lady_Who_Swal... Maybe I am cynical but once you get into the ecosystem of tools like that then you are stuck investing more resources into those tools, paying for support, adopting more tools to deal with the complexity, you never win. Years ago I was building virtual machines that would run a web service or populate a database full of content and publish it to an AWS image that I sold in the AWS marketplace. The architecture was: a Java program sets up the resources required to do the job with the AWS API, then creates an init script and installs it on a new VM, that init script does all the work that has to be done on that machine, then it sends a message to SQS that tells the program that started it all it is done. Very simple, and if my DSL connection flakes out momentarily during the hour or so the init script takes to run it keeps running and I don't have to do it all over again the way I might if there was excessive communication going on between the master program and the host. |