Introduction to Ansible and How Industries are solving their challenges and Usecases using Ansible.
What is Ansible?
Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intra service orchestration, and provisioning. Automation is crucial these days, with IT environments that are too complex and often need to scale too quickly for system administrators and developers to keep up if they had to do everything manually.
History of Ansible
The term “ansible” was coined by Ursula K. Le Guin in her 1966 novel Rocannon’s World, and refers to fictional instantaneous communication systems.
The Ansible tool was developed by Michael DeHaan, the author of the provisioning server application Cobbler and co-author of the Fedora Unified Network Controller (Func) framework for remote administration.
Ansible, Inc. (originally AnsibleWorks, Inc.) was the company set up to commercially support and sponsor Ansible.Red Hat acquired Ansible in October 2015.
Ansible loves the repetitive work
your people hate
No one likes repetitive tasks. With Ansible, IT admins can begin automating away the drudgery from their daily tasks. Automation frees admins up to focus on efforts that help deliver more value to the business by speeding time to application delivery, and building on a culture of success. Ultimately, Ansible gives teams the one thing they can never get enough of: time. Allowing smart people to focus on smart things.
Ansible is a simple automation language that can perfectly describe an IT application infrastructure. It’s easy-to-learn, self-documenting, and doesn’t require a grad-level computer science degree to read. Automation shouldn’t be more complex than the tasks it’s replacing.
Ansible is an Agentless tool that means we don’t need to install it on the managed node just installed on the controller node and start working with ansible. Ansible is a very intelligent tool and its intelligence comes from modules. As an IT Admin, we don’t have to remember all OS commands just tell which package you wanna install and ansible will do that thing for you!
What is the playbook file?
Playbooks are the files where the Ansible code is written. Playbooks are written in YAML format. YAML stands for Yet Another Markup Language. Playbooks are one of the core features of Ansible and tell Ansible what to execute. They are like a to-do list for Ansible that contains a list of tasks.
Playbooks contain the steps which the user wants to execute on a particular machine. Playbooks are run sequentially. Playbooks are the building blocks for all the use cases of Ansible.
Important Terms in Ansible
These are the few important terms using in Ansible —
- Controller Node: This is where Ansible gets installed. The controller machine helps in enabling provisioning on servers we manage.
- Managed Node: This is nodes where the task is executed by the controller node.
- Inventory: This is basically an initializing file that contains information about the servers that we are managing.
- Modules: These are little programs that act as building blocks encapsulating common tasks such as using yum to install packages or ping to test the connection to a remote host.
- Playbook: It is an organized unit of scripts defining an automated work for the configuration management of our server.
- Task: A task block defines a single procedure to be executed on the server like installing packages.
- As the services increase, sysadmins will provision more servers to do configuration management. They need to install Ansible on the master node where they need to write the code into the Ansible playbook to describe the setup, installation process, and the configuration required for these servers.
- The local machine connects to these servers (nodes) through an inventory using secured SSH connections.
- Once these nodes are connected to the master server, then the node servers are analyzed and the playbook codes are pushed toward each of the servers so that these playbooks can configure the servers remotely, which leads to a consistent environment.
Benefits of Using Ansible
- Agentless: As long as a connection can be SSHed and it has Python, it can be configured with Ansible; no agent/software or additional firewall ports are required to install on our client or host systems for automation. Also, we don’t have to worry about setting up and managing the infrastructure.
- Simple: As we’ve seen, Ansible uses a very simple syntax written in YAML known as playbooks — YAML (Yet Another Markup Language) is a human-readable data serialization language. We don’t need special coding skills to code and understand playbooks. It is very easy to install and execute tasks in order.
- Modular: Ansible is modular as we require only one program per script. This way, we can spread our programs across different servers.
- Efficient: Not requiring any extra software on our servers means that there is more space for our resources.
- Powerful and flexible: Having powerful features gives us the capability to model even complex IT workflows in lesser time, along with managing infrastructure, networks, operating systems, and services that are already in use.
Ansible AND WWT(World Wide Technology)
WWT Saves Time and Money Using Ansible Automation
By adopting Ansible automation, WWT IT is no longer asking themselves if they should automate; they’re asking what should they automate next?
How does Ansible benefit an IT organization?
The internal IT department of World Wide Technology (WWT) was looking for ways to automate mundane processes, save engineering hours and give IT staff time to do what they do best: innovate.
After onboarding Ansible, automations executed through ServiceNow surged. IT is no longer asking themselves if they should automate; they’re asking what should they automate next?
Not only is Ansible automation saving WWT time and money, but it’s allowing IT to get closer to the business. IT operations is spending more time on strategic initiatives related to Cisco ACI and F5.
Cisco Ansible Automation Lab
To keep up with the growing speed of business demands, there’s a pressing need to make programmability and automation an inherent part of operational IT processes. WWT offers hands-on Ansible Automation Training labs to help customers learn how to get started using centralized automation tools to manage and deploy configurations.
F5 Ansible Automation Training Lab
To keep up with the growing speed of business demands, there’s a pressing need to make programmability and automation inherent parts of operational IT processes. WWT offers hands-on Ansible Automation Training labs to help customers learn how to get started using centralized automation tools to manage and deploy configurations.
World Wide Technology provides technology solutions for large enterprises and public agencies around the world. Our goal is to help customers use cutting-edge technology to realize business outcomes, and IT automation is a big part of that. Our relationship with Ansible is very strong. Our engineers have spoken to AnsibleFest and regularly contribute to Ansible meetups as well as the Ansible open source project.
They had three different reasons they looked at Ansible originally. One was to remove non-value-add work that’s wrapped around user management, things of that nature. The second thing looked at from an Ansible perspective or automation perspective was we were starting a Cisco ACI journey. How do we deploy Cisco ACI in a way that was consistent and reliable and we trusted? The last one was, how to make our engineers’ lives better? Our engineers do a lot of work that’s again, non-value-add, but takes time from them.
So originally before they had Ansible, they had a number of different configuration management tools to do some level of automation. The other thing we had a lot of was engineers having their own scripts, their own methodologies for running their own automations, but it was very siloed, so an engineer may have one automation, another engineer may have another automation. There wasn’t a lot of sharing.
BENEFITS ACHIEVED BY USING ANSIBLE:
One of the things that Ansible has really allowed us to do is develop a common language of ground IT that works for people of all skillsets. For people that are more experts in the operation specific details of their jobs, they can continue to work at a very high level with the abstractions that Ansible already has in place. By contrast though, if we really need to dig under the hood and do something as a power user, Ansible still relies on common tools like Python and PowerShell that people can still get into.
One of the things that Ansible has really allowed to do is develop a common language of ground IT that works for people of all skillsets. For people that are more experts in the operation specific details of their jobs, they can continue to work at a very high level with the abstractions that Ansible already has in place. By contrast though, we really need to dig under the hood and do something as a power user, Ansible still relies on common tools like Python and PowerShell that people can still get into.
One of the things realized when we started using Ansible is not just the cost of what we are doing, but the opportunity cost of what we were leaving on the table. Now that we’ve started automating away the mundane, we’re able to move the organization forward working on initiatives like Cisco ACI, and so some innovative routing things with F5 and other technologies that really leave our organization on the cutting edge.
Because Ansible is so accessible, everybody is now speaking that common tongue when they go to automate their stuff and they’re able to build more things in more impressive ways because they have so many more skillsets.
Ansible AND HOOTSUITE
ANSIBLE AND HOOTSUITE
HootSuite is a social media management system for businesses and organizations to collaboratively execute campaigns across multiple social networks from one secure, web-based dashboard. More than 75% of Fortune 1000 companies now use HootSuite for social media management, social marketing, social customer service, and social selling. Customers include PepsiCo, Virgin, FOX, Sony Music, and WWF.
The infrastructure is not scripted, repeatable or immutable. Rebuilding a server relies on limited documentation and mostly memory. Lack of repeatability made automating the infrastructure and application deployment difficult.
They mostly use Ansible core at this time. They currently are applying Ansible to all of their servers, in order to build any server from scratch and repeat this as many times as one wants to. Their future plan is to use Ansible for app deployment, and maybe even ad hoc production server management.
BENEFITS ACHIEVED BY USING ANSIBLE:
• Ops and devs both feel safer, literally. Before they were always worried about ‘what if the server dies’. They aren’t worried about this anymore after all servers are properly ‘Ansiblized’.
• With the help of Vagrant we can test server builds locally as many times as we want until it works, instead of testing it on EC2 cloud which is remote and always slow.
- Ansible makes engineers more productive because lots of system libraries and packages are shared among different server types, and as we take advantage of Ansible’s ‘shared’ Playbook they don’t have to repeat the same lib/package install over and over again.
✨Ansible is a powerful automation that allows them to model and deliver any configuration, any deployment, any environment across their IT infrastructure.
✨Ansible is a universal language, unraveling the mystery of how work gets done. Turn tough tasks into repeatable playbooks. Roll out enterprise-wide protocols with the push of a button.
✨Ansible solves problems once and share the results with everyone.
✨Ansible breaks down silos, creates a culture of automation.
✨Ansible automates the technologies you already use.