Is there a best practice or tutorial for building infrastructure like one click installs?

Posted February 28, 2019 2.5k views
Configuration ManagementDigitalOcean 1-Click Apps MarketplaceDeploymentUbuntu 18.04

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.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

Hey friend,

This is definitely an interesting topic. I’m going to say that, in my opinion, there are no best practices here. I think you do what fits the way your mind works, and build off of that. I mean, take me for example. I manage a fleet of servers with bash scripts. Many of the people I work with would think I’m insane, it’s just that it fits the way my mind works. I think it is important for you to find the answer that is most right for you. With that said, Terraform is definitely quite capable, and we do have a tutorial that can at least help you to move in the right direction:

Hope that helps!


by Mitchell Anicas
by Brian Hogan
Terraform is a tool for building and managing infrastructure in an organized way. In this tutorial, you'll install and use Terraform to create an infrastructure on DigitalOcean that consists of two Nginx servers that are load balanced by a DigitalOcean Load Balancer.