What is ansible and what are its use cases?
Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intraservice 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. Automation simplifies complex tasks, not just making developers’ jobs more manageable but allowing them to focus attention on other tasks that add value to an organization. In other words, it frees up time and increases efficiency. And Ansible, as noted above, is rapidly rising to the top in the world of automation tools.
There are 6 main places where ansible is being used right now:
- Provisioning — All the services like websites, apps etc. needs to be deployed somewhere and ansible helps in provisioning the deployment environment like virtual machines, cloud platforms etc.
- Configuration Management — Ansible is widely being used as a configuration management tool.
- Application Deployment — When you define your application with Ansible, and manage the deployment with Ansible Tower
- Continuous delivery — Creating a CI/CD pipeline requires buy-in from numerous teams. You can’t do it without a simple automation platform that everyone in your organization can use.
- Security — When you define your security policy in Ansible, scanning, and remediation of security policy can be integrated into other automated processes.
- Orchestration — Configurations alone don’t define your environment.
Success Story of LIFESUM-
Based in Stockholm, Lifesum is a digital health platform that encourages users to lead a healthier, more balanced lifestyle. Lifesum has proved hugely successful throughout Europe, reaching over 6 million downloads so far.
Lifesum’s platform uses a host of applications, in addition to a joint back end API, and it bases its infrastructure on AWS. Lifesum was looking for a simplified yet robust tool to allow configuration management, application deployment, and server provisioning.
Prior to introducing Ansible, Lifesum had used another tool but found provisioning and managing different environments a challenge.
Lifesum started their Ansible migration in 2014. It started implementing Ansible straight away and has used it in several major areas. First, Lifesum used Ansible playbooks to automatically spin up virtual development machines with Vagrant.
In the case study, according to Michal Gasek, (SYSOPS Engineer/DBA at Lifesum), Lifesum’s goal, is to ensure that everyone had exactly the same working environment as we deploy our applications regularly. Three months later all our environments, from developer’s laptops to production instances on Amazon, are fully Ansible managed.
They used AWS Auto Scaling and pre-bake Amazon AMI images with Ansible provisioning playbooks. When EC2 instances are launched by Auto Scaling, Ansible, triggered by cloud-init, runs provisioning playbooks, once again ensuring up-to-date configuration changes are applied, and pulling the latest applications versions from repositories. Ansible has helped us to automate, significantly simplify and speed up the process of dynamic resources scaling.
Ansible stood out because of its ‘power and simplicity’ according to the michal Gasek. this statement highlights how Ansible has enabled developers to concentrate on building ‘great product features’, rather than solving common problems like inconsistencies and misconfiguration.