Performance and Cost Optimization with Turbonomic and Infrastructure as Code

3 min read

Exploring how the Infrastructure Automation (IA) capability automates provisioning with Infrastructure as Code via Terraform and Ansible.

In today’s hybrid cloud world, IT infrastructure is provisioned in far-flung data centers, whether on-premises or on various cloud providers. Infrastructure as Code technologies provide the automation necessary to deploy infrastructure services in a repeatable and secure fashion. However, once provisioned, we need to make sure that the costs of using cloud resources are kept under control while maintaining application service levels.  

This is where tools like the IBM Cloud Pak® for Watson AIOps Infrastructure Automation capability can work together with Turbonomic Application Resource Management (ARM) to deliver resource provisioning, discovery, issue detection, auto remediation and traceability.

The Infrastructure Automation (IA) capability automates provisioning with Infrastructure as Code via Terraform and Ansible, which provide a standardized and compliant environment for developers. Once set up, these cloud infrastructures can be provisioned by DevOps teams through a self-service catalog built-in to IA or integrated with enterprise-wide catalogs through APIs. All operations and changes to environments go through IA to synchronize changes with other systems (such as ServiceNow, domain name system (DNS), notifications, etc.).

Turbonomic is used by the capacity planning team to identify usage patterns, trends and the optimization of the application resource usage to reduce waste and control costs while meeting application SLAs (service level agreements).  

Example use case

Turbonomic discovers insights and recommends actions from multiple sources of data. It delivers those insights directly into the IBM Cloud Pak for Watson AIOps Infrastructure Automation service management component so that DevOps teams can act at the right time.

Let’s use a mock client example to illustrate Infrastructure Automation (IA) capabilities in action:

  1. A client is using Turbonomic to monitor their cloud environment. This includes infrastructure that was provisioned through IA.
  2. An IA component executes multiple workflow steps via Terraform/Ansible, including updating ServiceNow, notifications, configuring the application inside the virtual machine (VM), etc. 
  3. Turbo image 1
  4. Turbonomic monitors the cloud and identifies VMs that can be resized to save resources while keeping the application SLA.
  5. Turbonomic associates the VM to the IA service that provisioned it via ingested tags from the provisioned infrastructure.
  6. Turbonomic invokes IA REST API to resize the VM in a particular service instance via a custom action script registered to Turbonomic and defined in a policy specific to the service.
  7. IA executes the steps for the workflow, resizes the VMs and updates the ServiceNow CMDB (configuration management database) as dictated by the parameters of the action recommended by Turbonomic.
  8. Turbonomic sees the updated VM, measures the performance and ensures the application SLA is being met with the changed configuration. It then updates its recommendation.

Learn more

IBM Cloud Pak for Watson AIOps capabilities are designed to support and enhance a broad range of IT practices, including DevOps, SRE and service management. Its outcome focus includes anomaly detection, event correlation and root cause analysis to improve monitoring, service management, cloud charge-backs and automation tasks.

In this example, we used Infrastructure Automation (IA) Terraform technology to provision a service, and define Groups and Tags. Turbonomic discovers the infrastructure, identifies the patterns to optimize resources and recommends remediation actions. The information on the recommended action was passed to the custom action script, reading that information and calling for IA to make the change and track the actions.

Be the first to hear about news, product updates, and innovation from IBM Cloud