Lighthouse Blog

Ansible Automation Made Simple

Ansible Automation Made Simple

Over the past decade, the IT industry has experienced a paradigm shift from bulky on-premise hardware to having all your needs available to your organization in the cloud.  In this transition, a lot of the companies now have part of their infrastructure in the cloud and part still on-premise.  While the hybrid-cloud approach has solved a lot of organizational issues, it has also added new challenges in supporting the IT operations.

Hybrid-Cloud Challenges

Even though this transition has been exciting for IT professionals, it has become a pain point for businesses to keep their workforce up-to-date with current technology which requires additional training and time away from their day-to-day work.  The other challenge is keeping that onsite talent who have the skills and technology knowledge.

Eventually, some of the workforce will either retire or move on to a different position creating a new challenge of filling that role.  The recruiting managers must find new staff that preferably has a similar skillset as the resource that left.  However, the market has been saturated with products that accomplish the same goal in different ways, so finding a new person that works with the same technology as the one organization uses is like finding a needle in a haystack.

With the emergence of cloud computing and micro-services, the ability to horizontally scale your infrastructure has become much easier.  However, as scaling increases it posses the problem for network, operations, and sysadmins on how to manage all their resources and keep them in sync.  With these two major problems, there has been a tool developed to solve them. The answer to this is, is Ansible.

What is Ansible?

Ansible is an open-source automation platform written in Python that allows users to write commands for Ansible in YAML (which is Extensible Markup Language similar to XML and JSON).  YAML is human-readable and a new user can understand what most playbooks are doing without any prior training.  Playbooks are YAML files that tell Ansible what to do in a list of tasks.  To show how simple yet powerful these playbooks are, below is an example of how you can write playbook to install and enable the service for Apache quickly. 

Why Ansible?

The Red Hat-owned Ansible automation engine has become the most used orchestration and configuration management tool in the hybrid-cloud. Here are some facts about Ansible:

  • Powerful modules with easy to understand language has made Ansible the most used automation tool
  • Strong following online with developers contributing and updating modules every month due to popularity and open-source background
  • Growth has expanded Ansible playbook capabilities to having modules for most Linux distros, networking equipment, and Windows
  • Over 1000 modules that provide support for cloud, hypervisors, Windows and Linux OS, and network devices
    • Even if you are unable to find a module for a specific task, you are able to create one, using Python which is arguably one of the easiest OOP language to learn. This sets Ansible apart from its competition as both Chef and Puppet require a user to have background in Ruby DSL. 

With the increase of popularity of Ansible, Red Hat identified that even though Ansible started as an all open-source project to support production systems effectively, there needed to be more control.  The old model was not viable for a lot of production systems that Red Hat’s customers were attempting to automate.  Each customer was on a different release cycle and the content that was supporting the automation for Ansible, was primarily from the community.  This meant a lot of the time the plugins and modules would change quickly, which at that point was every 4 months for the Ansible Engine.  This caused some issues because some of the customers had other obligations and had no time to keep up-to-date with such a quick turn-around. 

Ansible Automation Platform

Red Hat’s solution was to slow the major release cycle to every 8 months and provide a platform for their customers that was able to support older versions with still supported content.  This solution was the Ansible Automation Platform.  It combines 3 major features for customers to stabilize their environments: Ansible Content Collections, Automation Hub, and Automation Analytics

Ansible Content Collections is a new way of packaging the Ansible Engine code for plugins, modules, and playbooks which do not rely on a specific release of the Ansible Engine. This was made available for the customers who might have a reason to stay on an older version of Ansible as they might not be able to keep up with the release cycles.

Automation Hub is where the users can find this supported content that has been specifically packaged using the format from Content Collections.  Before this feature was available, users would use content from Ansible Galaxy and GitHub. It was useful, but since it was community-supported, it was not always an option for use in production workloads.  Automation Hub is a new repository location that contains only supported content from Red Hat and its close partners like Microsoft, Cisco and many others. 

Automation Analytics is a feature that can give additional details around the stability and performance of their automation created by Ansible Tower.  Automation Analytics provides users with statistics and data around resources utilized in their Ansible Tower environment.  Some of the analytics provide the performance and usage of the modules and templates as well as recommendations on what behavior should be used in their automation pipelines. 

For more information about Red Hat Ansible Automation Platform, read the blog, Introducing Red Hat Ansible Automation Platform.

Ansible and RHEL

In addition to the automation made available for cloud, network, and OS management, Ansible is now being used to manage security and performance for servers running RHEL.  Red Hat Insights is now a free product provided to users running RHEL.  Red Hat Insights is a tool that monitors your servers proactively to identify any performance or security issues that are known based on bugs and issues that Red Hat has identified in the past.  Ansible Tower can now make a connection to the Insight servers and run already made playbooks to remediate the found bugs. 

In my next article, I will explore the use-case and implementation of Ansible and Red Hat Insights more in-depth.  For further information on this topic, check out the blog, Easy Integration Using Ansible Tower and Red Hat Insights.

Ansible and Red Hat Insights

Lighthouse is an APEX Red Hat partner. We are committed to helping our customers along their digital transformation journey and have continued to build our skills and expertise around Red Hat emerging technologies like Red Hat JBoss Middleware, Red Hat Ansible Automation and Red Hat OpenShift, as well as have achieved numerous Red Hat accreditations.

Let us know how we can help your company along the digital transformation journey. Contact us today

Related Posts
Analytics Supporting a High-Value Automation Strategy with the Red Hat Management Portfolio
Hybrid Cloud Accelerate Your Cloud Journey by Reimagining Integration