The Beta of the Red Hat Insights Resource Optimization service is now available. Resource Optimization is a new service that we’ve added to our portfolio of Insights services. In this post we'll explain how Resource Optimization can help you optimize your public cloud workloads on Red Hat Enterprise Linux (RHEL) and how to get started with it.
Insights helps provide a single, consistent tool for analyzing Red Hat products running across hybrid cloud and on-premises infrastructures. Insights analyzes platforms and applications to predict risk, recommend actions, and track costs so enterprises can better manage hybrid cloud environments. The service is aiming at existing and new Red Hat Enterprise Linux customers who need to grasp control over their public cloud investment.
Running legacy or non-scalable workloads in a public cloud requires estimating the instance size and monitoring the actual usage. The Resource Optimization service looks at several metrics of your workload - CPU, memory and disk usage - and compares them to resource allocation information provided by the public cloud provider.
Right-size your RHEL public cloud instances
Using historical and current data the service is able to score each of the resource parameters and recommend the right size of public cloud system for your use case. It might be that the workload on your RHEL system is not as resource heavy as it was expected and thus a smaller instance is still perfectly suitable for your needs. Or it might be that you’re constantly hitting the limits of your system and the service would deserve a larger system. Or your host might be most of the time idle and in that case you might consider scheduling downtime for the system or optimize it in a different way.
Resource Optimization service relies on the Red Hat Enterprise Linux insights-client and at this point requires small changes to its configuration. To perform these changes on each of the RHEL hosts you need to have Ansible and the insights-client installed, have localhost in the ansible hosts file, and download and run a playbook.
Note: Resource Optimization currently supports RHEL7.7+ and RHEL8 hosts running on AWS and Azure.
Make sure Ansible and the Insights client are installed on the host.
$ sudo yum install ansible insights-client
Once Ansible is installed, you will need to make sure that the /etc/ansible/hosts file includes localhost
Download the Resource Optimization set up playbook:
$ wget https://raw.githubusercontent.com/RedHatInsights/ros-backend/main/ansible-playbooks/ros_install_and_set_up.yml
Run the Resource Optimization setup playbook:
$ sudo ansible-playbook -c local ros_install_and_set_up.yml
If the system is not already registered with Insights, complete Insights registration.
$ sudo insights-client --register
Results will show in Insights in roughly 24 hours (this isn’t immediate).
The Resource Optimization setup playbook configures a tool on your host called
pmlogger from the Performance Co-Pilot project. This tool collects specific performance metrics from Performance Metrics Collector Daemon (PMCD) and records them into an archive that insights-client uploads once a day.
Because of that it will take up to 24 hours (depending on your insights-client configuration) to see the first results of the Insights rightsizing analysis. The service lives on the Red Hat Hybrid Cloud Console.
Once the initial set of metrics is uploaded you’ll see your configured systems in this app. In the screenshot I have six testing instances of Red Hat Enterprise Linux 8 hosts on Amazon Web Services (AWS).
I’ve expanded the rhc803 host and the Resource Optimization service is telling me that the system is idle – the performance metrics haven't changed for a certain period of time and once clicking on the system name you can see more details as well as recommendations to verify whether this is intentional and whether I have the right consumption model for this instance.
Like the other Insights services, Resource Optimization is included in your Red Hat enterprise Linux (RHEL) subscription. Resource Optimization currently supports RHEL7.7+ and RHEL8 hosts running on AWS and Azure.
We plan to add more public cloud providers as well as new metrics that will allow Red Hat to recommend more efficient ways of running your workloads in public clouds and eventually even show savings you might make by changing your system size and consumption model.
Additionally the service is planned to gain further capabilities, such as allowing you to forecast usage of public cloud systems, recommending right-size consumption models and providing you detailed reporting to spot any kind of unexpected and unwanted behaviours.
Any feedback about the new Resource Optimization service can be sent to us using the Feedback button inside of Insights – you can see it in the above screenshot on the lower right hand side of the page. Please be sure to check this out and give Resource Optimization a try soon!
About the author
Radek Vokal started with Red Hat in 2004 as a software engineer and has taken on various senior engineering roles during his time. He is currently the Senior Manager of Product Management and is based in Brno. .