diff --git a/website/source/_daily_emails/2022-09-02.md b/website/source/_daily_emails/2022-09-02.md new file mode 100644 index 00000000..a3714116 --- /dev/null +++ b/website/source/_daily_emails/2022-09-02.md @@ -0,0 +1,18 @@ +--- +title: "Automating all the things with Ansible" +date: "2022-09-02" +permalink: "/archive/2022/09/02/automating-all-the-things-with-ansible" +tags: ["ansible"] +--- + +Ansible is a tool for automating IT tasks. It's one of my preferred tools to use, and one that I've written about and [presented talks on]({{site.url}}/talks/deploying-php-ansible-ansistrano) previously. + +It's typically thought of as a tool for managing configuration on servers. For example. you have a new VPS that you want to use as a web server, so it needs Nginx, MySQL, PHP, etc to be installed - or whatever your application uses. You define the desired state and run Ansible, which will perform whatever tasks are needed to get to that state. + +Ansible though does include modules for interacting with services like Amazon AWS and DigitalOcean to create the servers and resources, and not just configure them. + +It also doesn't just work on servers. I use Ansible to configure my local development environment, to ensure that dependencies and tools are installed, and requirements like my SSH keys and configuration are present and correct. + +Lastly, I use Ansible to deploy application code onto servers and automatically run any required steps, ensuring that deployments are simple, robust and repeatable. + +In the next few emails, I'll explain how I've been able to utilise Ansible for each of these situations.