<p>If we want to automate our infrastructure then we first need to create it. This could be done manually or we can automate it.</p>
<p>Popular tools for this include Terraform and Pulumi, but Ansible also includes modules to interface with hosting providers such as Amazon Web Services, Microsoft Azure, DigitalOcean, and Linode.</p>
<p>By using one of these tools, you can programatically provision a new, blank server that is ready for you to be configered.</p>
<p>For example, to <a href="https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_module.htm">create a DigitalOcean droplet</a>:</p>
<p>Running this playbook will create a new Droplet with the specified name, size, and operating system, and within the specified region.</p>
<p>If you needed to create a separate database server or another server for a new environment, then the file can be updated and re-run.</p>
<p><a href="https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_instance_module.html#ansible-collections-amazon-aws-ec2-instance-module">Creating an Amazon EC2 instance</a> looks very similar:</p>
<p>This doesn't apply just to servers - you can also use Ansible to create security groups and S3 buckets, manage SSH keys, firewalls, and load balancers.</p>
<p>Once we have our infrastructure in place, we can start using Ansible to set and manage its configuration, which we'll do in tomorrow's email.</p>
<hr />
<p>Want to learn more about how I use Ansible? <a href="/ansible-course">Register for my upcoming free email course</a>.</p>
format:full_html
processed:|
<p>Let's start at the beginning.</p>
<p>If we want to automate our infrastructure then we first need to create it. This could be done manually or we can automate it.</p>
<p>Popular tools for this include Terraform and Pulumi, but Ansible also includes modules to interface with hosting providers such as Amazon Web Services, Microsoft Azure, DigitalOcean, and Linode.</p>
<p>By using one of these tools, you can programatically provision a new, blank server that is ready for you to be configered.</p>
<p>For example, to <a href="https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_module.htm">create a DigitalOcean droplet</a>:</p>
<p>Running this playbook will create a new Droplet with the specified name, size, and operating system, and within the specified region.</p>
<p>If you needed to create a separate database server or another server for a new environment, then the file can be updated and re-run.</p>
<p><a href="https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_instance_module.html#ansible-collections-amazon-aws-ec2-instance-module">Creating an Amazon EC2 instance</a> looks very similar:</p>
<p>This doesn't apply just to servers - you can also use Ansible to create security groups and S3 buckets, manage SSH keys, firewalls, and load balancers.</p>
<p>Once we have our infrastructure in place, we can start using Ansible to set and manage its configuration, which we'll do in tomorrow's email.</p>