The goal of resource management is to use the best combination of resources to satisfy requirements while also realizing these same resources are likely in demand elsewhere in the business.
Oved Lourie, global field CTO for Turbonomic, noted that people associate public clouds with infinite resources but may not fully understand the other more important benefit cloud computing offers.
“Going to the cloud is going to solve all our problems and allow us to run all of our applications perfectly. The reality is that the cloud offers us the opportunity to take advantage of elasticity but what people do not realize is that it does not come with a way to be elastic in this elastic world,” he commented.
He goes on to explain that the problem is understanding performance and understanding how to assure performance is quite complex with all the different options and the choices that you have in terms of the instances or the services. IT teams really need something that can help them become elastic in this incredibly complex world.
What is application resource management (ARM)
Lourie explained that applications perform well for two reasons:
Somebody writes good code and they are architected well and that is really where we use APM today. Application performance monitoring (APM) is a great way to measure performance.
Application resource management (ARM) is a way to have a software continuously observe what resources should be allocated and de-allocated in real-time to guarantee that an application is always getting the resources it needs – because the second reason applications run well is the fact that they always get the resources they need when they need them.
How ARM works
ForLourie the purpose of IT is to assure performance and provide the platforms and resources to applications, so they perform as advertised. ARM does this by continuously making sure applications get the resources they need when they need them.
Lourie explained that ARM is API-driven. It does not require agents to go out and acquire the information needed to make decisions. It is also able to scale in the performance of its job.
He added that the APM software makes the decisions and is never wrong because it is simply matching demand and supply. The algorithm always makes the right decision.
The operationalizing challenge
“Operationalizing the platform is where the challenge comes in because you have to be willing to trust software to make decisions and take actions,” he added.
It is about software making decisions and taking the actions whether you start manually or schedule them or automate them to continuously assure performance.
Understanding how to operationalize the platform is key, according to Lourie.
He opined that the common practice is to use tools to monitor for breakage and to fix these when they happen.
Lourie disagrees with this approach. He added that ARM eliminates this problem by automatically solving problems before they occur.
“But you have to trust the software to make the decision and then working up what we would call a ‘maturity curve’ where we operationalize, automate the automation, make those decisions and start to put them into practice,” he elaborated.
Customization vs out of the box usability
Lourie acknowledged that there are some things that need to be put in place such as constraints that are brought in from the existing systems, including licensing, location, redundancy.
“It is not hard to do but it is something that you want to do and that is really the only thing to configure is make sure that the (ARM) software is making decisions within the constraints but most of the stuff out of the box,” he added.
Best suited to evaluate ARM
Lourie conceded that as an operational platform, a lot of people will be using ARM.
Prior to ARM, application owners use APM tools but have no visibility on what is happening at the resource level. Infrastructure teams have tools but cannot see how the application is performing.
“There are multiple constituents that will need to be involved but really it is an operational platform in the sense that somebody who needs to have the ability to pull the levers can use it whether it is the cloud teams or the infrastructure teams,” he explained.
Key considerations when shopping for an ARM
To Lourie, application resource management is not about a feature like sizing or moving something or making sure to have sufficient capacity.
“It is about solving a very complex problem from the top down where the application should drive for instance how big a container should be which should then drive how many nodes, I should have which should then drive how many physical machines that should have,” he continued.
Playing well with others
Lourie explained that as an API, Turbonomic bolts things together, take the data, uses its analytics to drive an outcome – regardless of the platforms and the tools being used.
“Turbonomic is an engine that uses that data to drive decisions to match demand and supply, give you the actions to do it, pull the levers to do it, and if it works the way I say it does which I am happy to prove up,” concluded Lourie.
Click on the PodChat player to listen to Lourie’s revelation on the role and importance of application resource management in the context of today’s cloud-centric business environment.
- What are the prevailing misconceptions about running applications in the cloud?
- For the IT team charged with making sure applications (in the cloud) perform as advertised, what do they need to do?
- Define for us what application resource management (ARM) is?
- What conditions would necessitate the need for ARM?
- Will having an ARM solve all my application performance issues?
- For ARM to deliver the best value, what else is needed both from a technology perspective and in terms of the expertise/experience of the people using the tools?
- How much customization is needed from an ARM solution out of the box?
- Who is best suited in evaluating an ARM solution?
- What are the key considerations when shopping for an ARM solution?
- How do I ensure that whatever ARM solution I pick will play well with the other tools we are using to manage/operate our applications in the cloud?