Ansible: Case Studies
Ansible is an open-source IT configuration management, deployment, and orchestration tool. It is unique from other management tools in many respects, aiming to provide large productivity gains to a wide variety of automation challenges as a more productive drop-in replacement for many core capabilities in other automation solutions. Furthermore, Ansible seeks to solve major unsolved IT challenges such as clear orchestration of complex multi-tier workflows and cleanly unifying OS configuration and application software deployment under a single banner.
Ansible is designed to be minimal in nature, consistent, secure, and highly reliable, with an extremely low learning curve for administrators, developers, and IT managers. Ansible seeks to keep descriptions of IT easy to build, and easy to understand — such that new users can be quickly brought into new IT projects, and longstanding automation content is easily understood even after months of being away from a project. Ansible seeks to make things powerful for expert users, but equally accessible for all skill levels, ensuring a quicker time to market for IT projects and faster, less-error prone turnaround on IT configuration change.
ARCHITECTURE:
Ansible is quite fun to use right away. As soon as you write five lines of code it works. With SSH and Ansible, I can send commands to 500 servers without having even used the servers before.
One of the primary differentiators between Ansible and many other tools in this space is its architecture. Ansible is an agentless tool that runs in a ‘push’ model — no software is required to be installed on remote machines to make them manageable. Ansible by default manages remote machines over SSH (Linux and UNIX) or WinRM (Windows), using the remote management frameworks that already exist natively on those platforms.
Ansible builds on this by not requiring dedicated users or credentials — it respects the credentials that the user supplies when running Ansible. Similarly, Ansible does not require administrator access, leveraging sudo, su, and other privilege escalation methods on request when necessary.
PLAYBOOKS AND ROLES:
Ansible performs automation and orchestration of IT environments via Playbooks. Playbooks are a YAML definition of automation tasks that describe how a particular piece of automation should be done. Like their namesake, Ansible Playbooks are prescriptive, yet responsive descriptions of how to perform an operation — in this case, IT automation, that clearly states what each individual component of your IT infrastructure needs to do, but still allows components to react to discovered information, and to operate in concert with each other.
Ansible Playbooks consist of a series of ‘plays’ that define automation across a set of hosts, known as the ‘inventory’. Each ‘play’ consists of multiple ‘tasks’ that can target one, many, or all of the hosts in the inventory. Each task is a call to an Ansible module — a small piece of code for doing a specific task. These tasks can be simple, such as placing a configuration file on a target machine or installing a software package. They can be complex, such as spinning up an entire CloudFormation infrastructure in Amazon EC2. Ansible includes hundreds of modules, ranging from simple configuration management to managing network devices, to modules for maintaining infrastructure on every major cloud provider.
Core included modules for Ansible are written in a manner to allow for easy configuration of the desired state — they check that the task that is specified actually needs to be done before executing it. For example, if an Ansible task is defined to start a web server, the configuration is only done if the webserver is not already started. This desired state configuration sometimes referred to as ‘idempotency,’ ensures that configuration can be applied repeatedly without side effects, and that configuration runs quickly and efficiently when it has already been applied.
Ansible also supports encapsulating Playbook tasks into reusable units called ‘roles.’ Ansible roles can be used to easily apply common configurations in different scenarios, such as having a common web server configuration role that may be used in the development, test, and production automation. The Ansible Galaxy community site contains thousands of roles that can be used and customized to build Playbooks.
USING PLAYBOOKS FOR:
By combining different tasks into a Playbook, complex automation can be achieved. As a detailed example, consider a traditional three-tier web application and its environment consisting of:
- Database servers
- Application servers
- Content servers
- Load balancers
- Plus, a monitoring system connected to an alert system such as a pager notification service
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
CASE STUDIES:
1. BMW GROUP:
Challenge:
Worldwide, car manufacturers are focused on introducing automated vehicles, which require hundreds of millions of miles of driving data to prove their safety. To develop the driving algorithms for its automated vehicle initiatives, the BMW Group needed to access, analyze, and apply massive quantities of data — and update its driving applications with new algorithms as they are developed. The group wanted to create a high-performance, data-driven development platform as the IT foundation of its autonomous vehicle efforts.
Established close to 230 PB of usable storage and the compute power to simulate up to 240 million kilometers of test data.
Solution:
The BMW Group chose to work with DXC Technology to build a solution for its data and performance challenges. To create a Kubernetes-based platform with robust automation capabilities, DXC Technology deployed DXC Robotic Drive, a managed Platform-as-a-Service (PaaS) based on Red Hat OpenShift and other Red Hat technology. This solution helps the BMW Group develop faster with scalable machine learning and big data processing capabilities. The platform was configured and created in just 3 months.
By automating repeatable tasks and providing self-service capabilities, the BMW Group significantly reduced development time and improved developer productivity. The platform also provides massively scalable data collection, processing, and storage capabilities. It offers close to 230 PB of usable storage and the computing power to simulate up to 240 million kilometers of test data. In addition, the BMW Group created a vendor-neutral environment for collaboration with partners and other automotive manufacturers to advance innovation.
2. British Army speeds service delivery and improves the user experience:
The British Army’s Information Application Services (IAS) Branch delivers software applications, hosting, and web services to families, veterans, and personnel deployed around the world. To overcome issues with unplanned downtime and support, IAS used Red Hat® solutions to migrate its private cloud environment and deploy simplified automated management tools. Now IAS can make changes faster and more efficiently, cutting change delivery time by 75%.
Challenge: Create a faster, more efficient IT environment
Due to problems with support, performance, and availability, the British Army’s IAS Branch needed to migrate from its Oracle private cloud environment. The system caused unplanned downtime during upgrades, disrupted users, and slowed update deployment. “There’s always pressure to deliver quickly,” said Lt. Col. Dorian Seabrook, head of operations at the British Army’s IAS Branch. “We have to be more efficient in how we deliver software, as well as underlying infrastructure, upgrades, maintenance, and support.”
Solution: Migrate IT platform and deploy management tool
IAS decided to migrate from Oracle Linux to Red Hat Enterprise Linux®, moving from physical infrastructure to a software-defined datacenter. To streamline management of its new environment, IAS used Ansible Tower by Red Hat, an automation and orchestration tool, to improve consistency, reduce manual errors, and support a DevOps delivery approach. “We were redefining our operating model and wanted to deliver software faster and more efficiently to meet end-users’ requirements,” said Seabrook.
Results: Improve speed and automate service delivery
With the new system, IAS gained easier, more accurate management, cutting patching time, and significantly reducing launch errors and configuration issues. Also, upgrades that previously took a day — and caused hours of system downtime each month — can now be performed in less than 2 hours with high availability. Overall, change delivery is now typically 75% faster. “Rather than bulk delivery, we’re able to deliver incrementally, and we no longer frustrate users with significant downtime during working hours,” said Seabrook.
3.Lufthansa Technik builds cloud platform to optimize airline operations:
Lufthansa Technik, the world’s largest independent provider of airline maintenance, repair, and overhaul (MRO) services, wanted to create a digital platform for the aviation industry. This platform, called AVIATAR, would help airlines avoid delays and cancellations by using data to better organize and schedule maintenance. The company built and operated AVIATAR using a hybrid cloud infrastructure based on enterprise open source software from Red Hat. Today, Lufthansa Technik provides an innovative digital platform that helps the world’s airlines optimize their operations.
Challenge: Improve airline technical operations
Lufthansa Technik wanted to help airlines use data to better organize and schedule maintenance events — to improve costs, productivity, and the passenger experience. The company’s solution, AVIATAR, would support digital products for end-users in development and operations. To create this solution, Lufthansa Technik needed a flexible, scalable environment that could run multiple applications using a shared repository of industry data. The company also wanted to move from on-premise to cloud infrastructure and adopt an agile, DevOps work approach. “We wanted to deliver new features several times a day, generating feedback very quickly,” said Tobias Mohr, head of technology and infrastructure for AVIATAR at Lufthansa Technik.
Solution: Build an open-source cloud platform
To create and operate AVIATAR, Lufthansa Technik wanted to use open source technology and shift to a hybrid cloud approach. “We want to be the open market player, not the proprietary one,” said Johannes Hansen, senior director of application development/UX for AVIATAR at Lufthansa Technik. The company selected enterprise Red Hat® solutions for its new, open environment, including container, storage, management, automation, computation, and integration technology. The AVIATAR team collaborated with Microsoft and Red Hat to create its new hybrid cloud environment, launching the initial version in just 100 days.
Results: Speed application development and delivery
Lufthansa Technik’s new infrastructure offers faster application workflows with self-service capabilities, automation, and agile DevOps processes. It also supports better collaboration between internal infrastructure and third-party solutions. AVIATAR can now deliver new applications in weeks, rather than months or years. “The moment we have an idea, we can start building the product,” said Mohr. “This agility is something we have never experienced before.” Lufthansa Technik anticipates that AVIATAR will significantly reduce the MRO costs of participating airlines — equating to millions of euros per airline. “With tight schedules and high passenger expectations, the costs directly related to delayed flights are growing quickly for the average airline,” said Hansen. “We are taking out a huge chunk of those costs with AVIATAR.”
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Thanks For Reading !!