Is there a best practice or tutorial for building infrastructure like one click installs?
I'm interested in creating infrastructure and configuration management as code.
Specifically, I have an application that I would like to configure on a LAMP stack and manage with an infrastructure/config management repo.
So, I would like to create the code that will:
Create infrastructure of load balancer, IPs, etc.
Create droplet(s) of certain size, location,etc.
Configure each operating system (users, firewall, etc)
Configure core software, Apache/NGinx, Mysql, PHP
Move application code to server and install
Is that Terraform, Chef/Puppet/Ansible, and bash scripts mingled with repos, OR
Building an image manually, then deploying as a snapshot (which I assume is similar to one click installs) ?
I would love to find a tutorial/guide that explained the best practices and steps for execution.