Ansible is an IT automation tool that allows system administrators to automate repetitive tasks like configuration management, application deployment, and orchestration. It is agentless and uses YAML playbooks to define automation jobs in an easy to read format. Ansible connects to nodes via SSH and executes modules to complete tasks. It is simple to use yet powerful for automating tasks across infrastructure and cloud environments. A case study at NASA showed Ansible helped reduce time for tasks like patching from multiday processes to under 10 minutes, improving efficiency.
3. Copyright @ 2018 Learntek. All Rights Reserved. 3
As businesses go digital, networked computing has been evolving rapidly. Earlier,
system administrators had to manually install software, change the configuration,
and manage every server manually. It did not just require manual effort, but also
complicated coordination. The increasing number of data centers made the task a lot
more time consuming and complex. This led to the rise of tools that can manage all
of this without the need to manually do it.
Here’s where Ansible steps in to drive away complexity and increase productivity by
efficiently managing hordes of serves. Automation has become a critical factor for
digital transformation. It improves speed, scale, and stability.
4. Copyright @ 2018 Learntek. All Rights Reserved. 4
What is Ansible?
Ansible is an IT automation tool. It is easy to set-up and known for its flexibility. It
manages all those repetitive tasks efficiently, freeing up the admin time to do more
meaningful tasks. Developed by Michael DeHaan, it is also a part of the Fedora
distribution of Linux that is owned by Red Hat. Though a company called Ansible, Inc.
was set-up to support the open-source platform, it was later acquired by Red Hat in
October 2015.
What does it do?
Ansible is a simple tool catering to many IT automation needs including configuration
management, app deployment, and intra-service orchestration.
Provisioning: Automates tasks like setting up numerous servers in your infrastructure.
It doesn’t matter whether the systems are hosted on servers or cloud.
5. Copyright @ 2018 Learntek. All Rights Reserved. 5
Configuration Management: A simple solution for configuration management that is
designed to be minimal in nature, consistent, secure, and extremely reliable. The
configurations are simple data descriptions, and you don’t need to learn a coding
language specifically. It only requires a password or SSH key to start managing systems
without the need for agent software. This also helps avoid the problem of “managing
the management”, which is quite common in automation systems.
Application Deployment: Deploying multi-tier applications from one common
framework. All you need to do is write a simple task description and not custom codes.
Orchestration: Ansible brings the required order to how multiple configurations
interact and how they can be managed as one entity.
Security policy: Security is critical. Ansible lets you define the systems for security. The
Playbook syntax will allow defining security to any part of the system, be it custom
policies or firewall rules. It lets you update a security patch from a vendor across the
entire infrastructure using a simple command.
6. Copyright @ 2018 Learntek. All Rights Reserved. 6
Why Ansible?
Simplicity: There are other automation tools out there, but there are many factors that
set Ansible apart. It is easily readable by humans and doesn’t require any special
coding skills. It can be managed from one controller machine, without the need to
install client software on the node machines.
Powerful: Though simplicity lies at its core, it is powerful enough for app deployment,
configuration management, and workflow orchestration.
Agentless: Ansible has an agentless architecture. It uses OpenSSH and WinRM. It
doesn’t require any agents.
7. Copyright @ 2018 Learntek. All Rights Reserved. 7
How does it work?
Ansible models your infrastructure in such a way that all your systems inter-relate
instead of simply managing one system at a time. It is easy to deploy and uses simple
YAML language in the form of Ansible Playbooks. This means you can deploy your jobs
in a simple language.
It then connects the nodes resulting in small programs called Ansible modules. These
modules are then executed using SSH and then pushed out. The library of the
modules can be on any machine, without the need for databases or servers. Ansible
has an ‘authorised_key’ module with the ability to control access given to machines.
8. Copyright @ 2018 Learntek. All Rights Reserved. 8
The inventory is managed in simple files and you can use simple INI files that places
all your machines in groups and you can easily add more. The simple yet powerful
automation language used by Ansible is called Playbooks. It can be called an
instruction manual that tells Ansible what to do, even if a new machine is connected
each time. Written in YAML, it is human-readable, and one can easily start writing
powerful playbooks. It lets you set specific roles for certain server groups.
It is available for free and runs on Linux, Mac, or BSD, but it also has an enterprise
product called Ansible Tower. Ansible Tower is a web-based solution aimed at
making Ansible easier to use for IT teams of all kinds. It serves as a hub for
automation tasks.
9. Copyright @ 2018 Learntek. All Rights Reserved. 9
Tower basically lets you control access to who can access what. It lets you share SSH
credentials without someone being able to transfer those credentials and logs all of
your jobs. It comes with a dashboard displaying everything going on in your Ansible
environment.
Ansible in DevOps
DevOps is a software engineering process that aims at bringing development and
software operation under one roof. Basically, DevOps advocates automation and
monitoring at every stage. It aims at shorter development cycles and increasing
deployment frequency. Discussions around DevOps would usually include
automation tools like Puppet and Chef, but Ansible has now made it to the list.
10. Copyright @ 2018 Learntek. All Rights Reserved. 10
Ansible is simple to set up and ideal for smaller companies and removes the need for a
dedicated system admin as anyone can operate it. In larger companies, it is used in
combination with either Chef or Puppet. Factors like agentless architecture, easy to
learn, ease of use have made it a recommended name at DevOps.
NASA Case study
A case study published reveals how Ansible allowed NASA to gain significant cost
savings.
Challenge: A case study involving Ansible and NASA, the National Aeronautics and
Space Administration, the agency of the United States government responsible for the
space program, aeronautics and aerospace research, reveals that the latter had to
move some applications from traditional data centers (hardware) to cloud. This would
save costs and also offers better agility. It led to creating an environment with multiple
virtual private clouds that weren’t easy to manage. Even a small task looked strenuous.
11. Copyright @ 2018 Learntek. All Rights Reserved. 11
How Ansible came to the rescue: Ansible Tower was deployed to manage and
schedule the cloud environment, and the result led to better operations and security.
It increased efficiency, for example, nasa.gov that earlier took one hour to update
reduced to just five minutes. Patching updates was a 45 minutes tasks, unlike the
multiday process seen earlier. It allowed real-time disk and RAM monitoring and
provisioning OS accounts went to under 10 minutes. Application stack setup went to
under 10 minutes per stack from 1–2 hours that were needed earlier.
12. Copyright @ 2018 Learntek. All Rights Reserved. 12
For more Training Information , Contact Us
Email : info@learntek.org
USA : +1734 418 2465
INDIA : +40 4018 1306
+7799713624