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.
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
(MAS, APRA, HKMA, EBA, FED, RBI etc) all major regulators in the world
and our team is specialized in commonly used regulatory tools across the
globe (AxiomSL
Controller View, OneSumX Development, Moody’s
Risk, IBM 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 info@amlgolabs.com or filling a
contact form at the end of the page.
Comments
Post a Comment