Ansible with Azure - Ansible is Simple IT Automation ATL Slide Decks/Ansible … · Ansible with...

Preview:

Citation preview

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

Recommended