Ansible with AzureGoing from 0-60Adam BrassardPlatform Automation Engineer
Share your automation story1. How did you get started with Ansible?
I started using Ansible as our company decided to adopt the cloud, knowing the longevity of a large scale cloud deployment would rely heavily on automation, I looked into various automation tools, spoke to some colleagues and was pointed to Ansible and I haven’t looked back since.
2. How long have you been using it?
I started officially using Ansible in October of 2018, so I am very new to the space.
3. What's your favorite thing to do when you Ansible?
Infrastructure as Code
Innovapost is the Information Technology Shared Services provider for the Canada Post Group of Companies, including Canada Post, Purolator, and SCI Group. We provide client-specific Information Technology (IT), Information System (IS), and business solution services exclusively to all groups and functions within the Group on a cost-recovery basis.
About Innovapost
Infrastructure as Code in Azure
Is there anyone out there?
Lookup Ansible provisioning
See many articles related to
provisioning
Articles saying to use something
else for provisioning
Look into issues/limits that would prevent us
using Ansible effectively for provisioning
Find no blockers or concerns
November 2018
Learning Ansible with Azure
-Begin learning Ansible power with AzureBuild Ansible roles for:
Resource GroupsVirtual Networks
SubnetsNetwork Security Groups
Availability SetsVirtual Machines
Network Interface CardsAzure Disk December
Creating Ansible development standards
-Setup standards for development of Ansible Infrastructure as Code.-Set formatting and naming standards-Define var standard and processBuild Ansible roles for:
Managed MSSQLManaged PostgreSQL
January 2019
Let’s add some complexity
-Enhancements of existing roles with some Ansible goodness and logic complexity (looping, conditionals and more!)Build Ansible roles for:
Load Balancers
February
Lessons learned applied and even more roles
-Mapping out how to build roles without dedicated modules-Testing and Using Azure Dynamic inventory scriptBuild Ansible roles for:
Azure storage accountsAzure tagging
EventHub & EventHub namespaceMolecule additions
March
Documentation storm
-Enabling teams to leverage the roles independent from our involvement by supplementing the README documentation with confluence docs-Molecule use for Azure documented with patterns Build Ansible roles for:
YUM RepoYUM Package
Ansible tower templates
April
Creating Automation stages
-Using knowledge gained from internal teams for development, establish a suite of standards to enable multi team deliveryBuild Ansible roles for:Refactor all existing roles to meet
newly minted standards and provide clear frameworks for the
organization
Not all paths are the same!
Where are my roles at?
- I want more than just basics, but how do I find them? Why they may just be in a galaxy far far away, an Ansible Galaxy that is!
- Why aren’t the people who use Ansible for provisioning in Azure as actively contributing?
- Using Ansible for infrastructure provisioning is not only OKAY, it is powerful!
- Azure cloud modules are where it’s at!
Where do we go from here?
Resource module compared to dedicated module
On the left the example you will find of existing resources in https://resources.azure.com examples using azure_rm_resource module
Below we see a parameterized version of the dedicated Availability Set module azure_rm_availabilityset
I get by with a little help from my extensions
Azure dynamic inventory away!
Something new comes to town!
Learning and sharing with developers
Development best practises
Infrastructure as code best practises
Some stages to deliver automation!
To “Tower” over your environment
There’s a tool for that!
My Essentials
Extra tools to round out the toolbox
Resource links:
- https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#azure- https://resources.azure.com- https://code.visualstudio.com/
- https://marketplace.visualstudio.com/items?itemName=vscoss.vscode-ansible- https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
- https://molecule.readthedocs.io/en/stable/- https://docs.microsoft.com/en-us/azure/ansible/ansible-manage-azure-dynamic-inventories#gener
ate-a-dynamic-inventory
Top Related