Skip to main content

What is Ansible?

As the number of technologies gets increasing, there is also a high demand to cope up with them. Many companies are driven with the DevOps culture and many are in transition. With the introduction of DevOps it makes easier for any organization to focus on each and every aspect from Planning to Building to Release to Deployment, which is otherwise stringent.

We are creating a series Ansible with Windows which is a series of blogs giving you an understanding of Ansible, how to install it on Windows and how to connect windows host. In this introductory blog we are discussing on one such tool in the DevOps kitty which is Open Source and helps you manage your applications, packages or software. Ansible is a powerful automation and configuration management tool which helps you to download required packages, configure your applications and deploy them on any machine without any human intervention, except that it requires a human to give it a go.

Ansible helps you to automate Infrastructure, Applications, Security, Networks, Cloud and Containers. It is a very simple tool which uses PUSH methodology to push changes/tasks to the connected nodes (host machines). These tasks are basically the ansible modules which run on the client end, make the required changes and then remove themselves over the network.

Why to use Ansible, because it uses easy to write, learn and understand YAML language for configuration management, in comparison to its competitors like Puppet or Chef which uses a PULL methodology, which requires additional client installed on the host machines before we can start any automation and also uses Ruby which is slightly difficult to learn.

Let’s look at high-level Ansible Architecture.
Ansible Architecture
In this architecture, we have an Ansible Engine installed on Linux machine, we have created a playbook to run some tasks on host machines which are defined in the inventory (hosts) file and uses SSH (for Linux host machines) or WinRM (for Windows host machines) to execute tasks (modules) inside a Playbook on host machines.

Key Ansible Components:

1. Ansible Engine: It is responsible for running the tasks (modules) defined in Playbooks over the network using SSH or WinRM on the target host nodes.

2. Playbooks: These are files written in YAML language, which is easy to learn and understand. In a playbook we define which nodes to target and what are the tasks we need to perform on the host node. Each task is basically a module defining what to do, and each task is also known as Play inside a Playbook.

3. Inventory: This is a file which contains information of the host nodes to target, along with some additional connection information. It is also called the hosts file, where we define the host machines.

4. Host Nodes: The target machines defined in the Inventory file.

5. Roles: These are set of tasks grouped for a specific configuration or deployment. For example, you have a playbook which is installing Java and MS SQL Server on host nodes with hard coded values, so you create separate roles for Java and MS SQL Server along with replacing the hard-coded values with variables.

6. Collections: Collections are like parent to roles. A single collection can include multiple roles. For example,  we have a collection named mssql, so we can have different roles like install (which only installs SQL Server), install_ssms, install_analysis, install_reporting, install_integration, start, stop, uninstall, uninstall_analysis etc. So, in this manner we can have separate roles inside a collection.

I hope this introductory blog on Ansible helps you to get around the key aspects of Ansible like what is Ansible, where do we use it, why do we use it, and why it is preferred over other available tools for automation and configuration management. In the coming blogs we will come up on how to install Ansible on Windows, so stay tuned and happy learning!

About Amlgo Labs : Amlgo Labs is an advanced data analytics and decision sciences company based out in Gurgaon and Bangalore, India. We help our clients in different areas of data solutions includes design/development of end to end solutions (Cloud, Big Data, UI/UX, Data Engineering, Advanced Analytics and Data Sciences) with a focus on improving businesses and providing insights to make intelligent data-driven decisions across verticals. We have another vertical of business that we call - Financial Regulatory Reporting for (MASAPRAHKMAEBAFEDRBI etc) all major regulators in the world and our team is specialized in commonly used regulatory tools across the globe (AxiomSL Controller ViewOneSumX DevelopmentMoody’s RiskIBM Open Pages etc).We build innovative concepts and then solutions to give an extra edge to the business outcomes and help to visualize and execute effective decision strategies. We are among top 10 Data Analytics Start-ups in India, 2019 and 2020.

Please feel free to comment or share your views and thoughts. You can always reach out to us by sending an email at or filling a contact form at the end of the page.


More Popular Posts

Amlgo Blog - Experience The Experiments

Amlgo Labs Blog  is a step towards our vision to share knowledge and experiences, Amlgoites accept every challenge very enthusiastically. We do experiments, we fail but we learn and build complex solutions to help our clients solve their problems in Data, Analytics, Prediction, Forecasting, Reporting, Designing and Development area. During this process we enjoy immense learning everyday and we have decided to share our thoughts, learnings, experiments and experiences so that we don't work in silos and contribute the best of our knowledge towards community and learn more by views and reviews. This website is maintained and brough to you by  Amlgo Labs Professionals .   Our Strong Basics -  1)   KISS (Keep It Simple and Straightforward) :  We believe most of the problems can be solved by keeping things simple and straight. This is the learning we had in past, sometimes we try to solve technical problems using high end algorithms and complex codes but this results into complications.

Power BI Blog - What is Power BI and Why we use Power BI.

This Power BI blog is an introduction to the Power BI. In this Power BI tutorial, you will learn Power BI basics - what is Power BI, Power BI Desktop and Power BI Service. Power BI tool is a combination of Business Intelligence and Visualization. Before we dig deep let’s understand what is Business Intelligence. Business Intelligence is a broad spectrum which consists of using different business strategies and techniques to gather data, refine it and process it for the purpose of data analysis which gives us some meaningful information which helps in data driven decision making. When we present this information in the form of some charts, graphs it takes the form of Visualization.

Power BI Card Visual With Conditional Formatting

In this blog we will take you through the Power BI Card Visual and a workaround to present card with conditional formatting. To know more about what is Power BI please do check Power BI Blog . The conditional formatting, we do will not be on the Card Visual, but the output will certainly look like Card, which is a requirement in some cases. Many Power BI users have used Card Visual to represent some value on the Power BI Reports separately or on above of any other visual, but sometimes clients ask which is deemed difficult to achieve, but not impossible. So, let’s dive into the practical to know more about it.

A simplified view of a QlikView tool:

In our last blog related to Qlikview, we discussed the use of Qlikview for Financial Data Analytics . Qlikview is a Business Intelligence tool that consists of a front end to visualize the processed data and a back end to provide the security and publication of the mechanism for QlikView user documents.

Polybase Installation for Scale-Out process

This part is the continuation of the previous blog about the introduction of  Polybase Scale-Out Group . As we have discussed in our earlier blog PolyBase enables your SQL Server instance to process Transact-SQL queries that read data from external data sources. SQL Server 2016 and higher can access external data in Hadoop and Azure Blob Storage. Starting in SQL Server 2019, PolyBase can be used to access external data in SQL Server, Oracle, Teradata, and MongoDB.

JavaScript: The Important Basics

In this weird world of technology people often get confused how does a website work? What all things should I be aware of? So we are here to help you. Most of the content on web is developed with the help of JavaScript. JavaScript is really becoming popular these days with the coming of ECMAScript2015 and ECMAScript 2016, for this reason, some beginners learning React and Angular and are also trying to tackle more modern JavaScript syntax at the same time. If you're new to both, it can be confusing as to "what is JavaScript and what are its important features". This document should serve as a primer to help you get up-to-speed on JavaScript syntax that we feel matters the most for learning React as well as Angular.

How to Connect Windows with Ansible?

Hello Techies, this blog is the continuation of the last blog Install Ansible on Windows which is the second part of the series Ansible with Windows . Before you proceed, I recommend you to please take a look at the introductory blog of this series so to have an understanding of this series.