Automation with Ansible

Divya Kurothe
4 min readDec 1, 2020

--

Automation is an essential and strategic component of modernization and digital transformation. Modern, dynamic environments need a new type of management solution that can improve speed, scale and stability across the enterprise IT environment. Automation is a hot topic. And the automation concept that has captured our imagination the most is the idea of self-driving cars. This is the kind of automation that we can see dramatically changing what we do everyday, within grasp in our lifetime.

The IT automation industry hasn’t always gotten this right. Automation has often started in a pocket of an organization and it hasn’t gotten out of that pocket because it’s often too complex to scale throughout the rest of the organization. In order for automation to serve people and for it to scale, it must be simple. As you scale out across an enterprise, you have to have people of all different skill sets and all different walks of life using the same technology. It only works if you don’t have to rely on one small set of folks who know how to use it. Simplicity is essential because it’s crucial to the success of IT automation in your company.

Broadly Ansible can be used for:

  1. Provisioning
  2. Configuration Management
  3. App Deployment
  4. Continuous Delivery
  5. Security Automation
  6. Orchestration

Provisioning:

From traditional bare metal through to serverless or function-as-a-service, automating the provisioning of any infrastructure is the first step in automating the operational life cycle of your applications. Ansible can provision the latest cloud platforms, virtualized hosts and hypervisors, network devices and bare-metal servers. Provisioning with Ansible allows you to seamlessly transition into configuration management, orchestration and application deployment using the same simple, human readable, automation language.

Red Hat Ansible Tower helps you scale IT automation, manage complex deployments and speed productivity. Centralize and control your IT infrastructure with a visual dashboard, role-based access control, job scheduling, integrated notifications and graphical inventory management. And Ansible Tower’s REST API and CLI make it easy to embed Ansible Tower into existing tools and processes.

Configuration Management:

Ansible features an state-driven resource model that describes the desired state of computer systems and services, not the paths to get them to this state. No matter what state a system is in, Ansible understands how to transform it to the desired state (and also supports a “dry run” mode to preview needed changes). This allows reliable and repeatable IT infrastructure configuration, avoiding the potential failures from scripting and script-based solutions that describe explicit and often irreversible actions rather than the end goal. Furthermore, Ansible does not require any remote agents. Ansible delivers all modules to remote systems and executes tasks, as needed, to enact the desired configuration.

App Deployment

Ansible is the simplest way to deploy your applications. It gives you the power to deploy multi-tier applications reliably and consistently, all from one common framework. Ansible allows you to write ‘Playbooks’ that are descriptions of the desired state of your systems, which are usually kept in source control. Ansible uses the same tools you likely already use on a daily basis and playbooks are written in a natural language so they are very easy to evolve and edit.

Continuous Delivery

Ansible provides true multi-tier, multi-step orchestration. Ansible’s push-based architecture allows very fine-grained control over operations, able to orchestrate configuration of servers in batches, all while working with load balancers, monitoring systems, and cloud or web services. Ansible can work with networks, load balancers, monitoring systems, web services and other devices that might need touching during a rolling update.

Security Automation

Ansible Automation Platform you can automate and integrate different security solutions that can investigate and respond to threats across the enterprise in a coordinated, unified way using a curated collection of modules, roles and playbooks. It can collect logs across firewalls, intrusion detection systems (IDS) and other security systems programmatically, enabling on-demand enrichment of triage activities performed through security information and event management systems (SIEMs). Ansible Automation can manipulate policies and log configuration, which speeds up investigation and remediation processes.

Orchestration

There are many different kinds of complex IT orchestrations including separate services for storage, networking, identity and more. Each of these services has their own dependencies on other services and other components and each has their own separate configurations and sequences for deployment and upgrading. That’s where Ansible comes in. Ansible’s library of modules and easy extensibility, makes it simple to orchestrate different conductors in different environments, all using one simple language. Your admins don’t need to remember 12 different syntaxes — now they can concentrate on one.

Ansible can integrate : Infrastructure, Networks, Containers. Cloud, Devops tools and Security, Ansible is the most popular open source automation tool on GitHub today. With over 2,900+ contributors submitting new modules all the time, rest assured that what you are automating is covered in Ansible already, or will be very soon.

I would like to thank Vimal Daga sir for teaching the right concepts of ansible and for his vision of making India future ready.

--

--