Ansible use cases and case study
Shubh Kohli
ATSE@Red HAT | OpenShift | 6 X Red Hat Certified | AWS-CSA | Cloud DevOps Engineer | Electronics Engineer |
What is Ansible?
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.
Ansible is a tool in the Server Configuration and Automation category of a tech stack.
Who uses Ansible?
1530 companies reportedly use Ansible in their tech stacks, including LaunchDarkly, Tokopedia, and ViaVarejo.
Virtualization
Moved to virtualized infrastructure? No problem. Ansible supports all the industry-leading virtualization platforms, including:
- VMware
- Red Hat Virtualization (RHV)
- Xenserver
- Vagrant
With Ansible, you can easily provision, destroy, take inventory, and manage your virtual environments. Plus, Ansible’s extensive support allows you to then deploy and orchestrate across all of your virtual environments once you’ve provisioned them. When you add Red Hat? Ansible? Tower to your environment, non-administrative users can safely request and manage virtual resources using the Playbooks you provide them-- all without needing access to sensitive credentials.
Operating systems
Ansible supports the operating systems that keep your business running, including:
- Linux, including RHEL, CentOS, Fedora, Ubuntu, and others.
- Windows and Windows Server
- UNIX
- OS X
- IBM z/OS
- NGINX
- IBM Power Systems
No matter your platform, Ansible modules exist for managing the installation of software, updates, system configuration, and the managing of system features. And if you’ve got more specific requirements, Ansible will wrap native commands on any of these platforms, allowing you to automate anything you can imagine.
USE CASES
Ansible seamlessly unites workflow orchestration with configuration management, provisioning, and application deployment in one easy-to-use and deploy platform.
Regardless of where you start with Ansible, you’ll find our simple, powerful and agentless automation platform has the capabilities to solve your most challenging problems.
CONFIGURATION MANAGEMENT
Ansible makes IT automation accessible
Ansible is the simplest solution for configuration management available. It's designed to be minimal in nature, consistent, secure and highly reliable, with an extremely low learning curve for administrators, developers and IT managers.
Ansible configurations are simple data descriptions of your infrastructure (both human-readable and machine-parsable) - ensuring everyone on your team will be able to understand the meaning of each configuration task. New team members will be able to quickly dive in and make an impact. Existing team members can get work done faster - freeing up cycles to attend to more critical and strategic work instead of configuration management.
Ansible requires nothing more than a password or SSH key in order to start managing systems and can start managing them without installing any agent software, avoiding the problem of "managing the management" common in many automation systems. There's no more wondering why configuration management daemons are down, when to upgrade management agents, or when to patch security vulnerabilities in those agents.
Application 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. You can configure needed services as well as push application artifacts from one common system.
Rather than writing custom code to automate your systems, your team writes simple task descriptions that even the newest team member can understand on first read - saving not only up-front costs, but making it easier to react to change over time.
Power of the playbooks
REPEATABLE & RELIABLE
Ansible allows you to write 'Playbooks' that are descriptions of the desired state of your systems, which are usually kept in source control. Ansible then does the hard work of getting your systems to that state no matter what state they are currently in. Playbooks make your installations, upgrades and day-to-day management repeatable and reliable.
SIMPLE TO WRITE & MAINTAIN
Playbooks are simple to write and maintain. Most users become productive with Ansible after only a few hours. 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.
NO AGENT = MORE SECURE, MORE PERFORMANCE, LESS EFFORT
Thanks to its agentless design, Ansible can be introduced into your environment without any bootstrapping of remote systems or opening up additional ports. Not only does this eliminate "managing the management," but system resource utilization is also dramatically improved.
The Power of AWS Meets Ansible Simplicity
Using Ansible to automate your applications in AWS greatly increases the chances that your cloud initiative will be a success. The breadth of AWS capability enables IT organizations to dynamically provision entire workloads like never before. To harness this power, IT organizations must effectively answer:
- How can we control cloud deployments?
- How does devops work in the cloud?
- Will my deployments be secure?
- How can we migrate existing apps to the cloud?
The answer? Automate with Ansible.
Manage Cloud Like Cloud with Ansible
When you deploy an application into AWS, you will soon realize that the cloud is much more than a collection of servers in someone else's data center. You now have a fleet of services available to you to rapidly deploy and scale applications. However, if you continue to manage AWS like just a group of servers, you won’t see the full benefit of your migration to the cloud. Ansible automation can help you manage your AWS environment like a fleet of services instead of a collection of servers.
Safely Automating at the Speed of Business
When you only had one or two engineers working in AWS, everything seemed easy. Now that you’ve got ten or more, you need controls in place that restrict users’ ability to modify certain environments. Ansible Tower delivers with its extensive set of role-based access controls that ensures users will only have access to the AWS resources (networks, systems, security groups, etc.) that they require for their job. Plus, Ansible Tower encrypts credentials such as AWS and SSH keys so that you can delegate simple automation jobs to junior employees without giving out the keys.
Migrations Made Easy
Your CIO just mandated that you have to migrate dozens of workloads to AWS. With Ansible, you can use the same simple playbook language to manage your infrastructure and deploy your application. Use Ansible to define your application locally. Once you can repeatedly deploy that application locally, re-deploying it to a different infrastructure is as straightforward as defining your AWS environment, and then applying your application’s playbook. No more surprises.