Ansible and infrastructure as code (IaC) for faster application deployment on IBM AIX

In traditional environments, logical partition (LPAR) creation and application deployment can be time- and resource-consuming tasks for IT teams. Application teams might need to go back and forth with system administrators for several days to complete the various steps of creating and tuning LPARs and then installing and configuring applications.

With the advancement of cloud computing solutions, such as IBM® PowerVC, the time and effort required for setting up an IBM AIX® LPAR can be considerably reduced. With PowerVC, system administrators or application teams can create LPARs in minutes rather than days. Cloud computing may reduce the time needed for launching a new application LPAR by around 50%, but applications teams still need help from system administrators for several tasks such as creating file systems and users, performance tuning, and other aspects of managing the LPARs.

Enter infrastructure as code

One great way to address this challenge is by adopting infrastructure as code (IaC), a solution that can save your IT team time and effort (and therefore money). IaC is a process of managing and provisioning computer data centers through configuration files rather than physical hardware configuration or interactive configuration tools. IaC is available for various hardware and operating systems. This article focuses on IaC for IBM AIX running on IBM Power Systems™ servers.

With IaC, application teams can provision the LPARs, deploy applications, and manage the LPARs themselves without the need of system administrators. With IaC, applications are deployed in minutes rather than days compared to the traditional LPAR deployment method.

What does Ansible have to do with it?

Ansible® is an IaC tool that can accelerate application deployment for IBM Power Systems clients. Ansible is an open source community project designed to help organizations automate provisioning, configuration management, and application deployment. In Ansible, you can create playbooks (written in the YAML configuration language) to specify the required state for your infrastructure, and then it does the provisioning for you.

Figure 1: Ansible architecture

Ansible architecture

What can we do with Ansible for IBM Power Systems and AIX environments?

Ansible is supported on IBM Power Systems and AIX. This helps with uniform integration and adoption of IaC with heterogeneous infrastructure. The following are some of the use cases of Ansible on IBM Power Systems and AIX:

Provision LPARs

IBM PowerVC is a virtualization management solution for IBM Power Systems that can help with quicker provisioning. Ansible can be used to call PowerVC APIs and provision the LPAR with the operating system. Refer to “Automating PowerVC using Ansible” for details.

Perform post-AIX installation tuning

After the LPAR is created and the OS is installed using Ansible PowerVC automation, you can perform post-AIX installation tuning using Ansible. The post-AIX installation tuning involves activities such as time zone settings, adapter and disk parameter tuning, OS tunable changes, ulimit settings, paging and dump device configuration, Network Time Protocol (NTP) configuration, security hardening, and so on.

Perform application deployment

After an LPAR is ready, with all the basic tuning applied, you can create the required file systems and deploy applications using Ansible. Ansible will copy the required application binary files based on the configuration of the YAML file and set up the application.

Perform regular AIX health check

You can use Ansible for regular health checks of AIX systems. Some sample health check roles are located at Ansible Galaxy.

Perform AIX patching using Ansible

You can use Ansible for applying AIX patches. Ansible uses a Network Installation Management (NIM) server to download the patches and apply the patches to AIX LPARs. You can find some of the useful playbooks for AIX patching at GitHub.

Use Ansible for performing any ad hoc tasks on a large number of LPARs

During your regular operations, you may need some ad hoc information, and ad hoc changes may be required to be done on a large number of LPARs. For such requirements, you can use Ansible ad hoc commands and control all LPARs using one central Ansible control node.

Who can set up an Ansible environment?

Ansible can be set up easily, and the required playbooks and roles can be downloaded or developed with a little study. You can also engage a team of specialists in IBM Systems Lab Services if you need help with IaC requirements on IBM Power Systems. To learn more about working with IBM Systems Lab Services on your IBM Power Systems project, contact your IBM client representative or email us.