This is a guest blog post written and contributed by Mike Raab, vice president of business development for CopperEgg, a Rackspace Cloud Tools partner and maker of RevealCloud, a SaaS-based cloud and server monitoring offering.
As a Rackspace partner, CopperEgg works with companies every day that are venturing into the cloud for any number of reasons: cost reduction, simplicity in setup, new projects, new applications or extended capacity. Whatever the reason, you want to keep a few things in mind with regards to entering into this new world.
An Infrastructure-as-a-Service (IaaS) cloud environment (one where you have direct access to the operating system) gives you great flexibility in creating new server instances at will, without worrying about managing the actual infrastructure. But even though it’s part of a managed cloud, you still want to take a pro-active stance and monitor what’s going on inside of your instances. What do I mean by this? Just as if you had the server right next to you at your desk, you would actively watch its performance. You certainly might be conscious of conflicting jobs if they are running at the same time, memory leaks, or watching for periods of high activity and understanding if you need to add more capacity. Similarly, if a cloud instance is sitting in a third-party datacenter, it still needs to be monitored closely.
You need to consider how performance might affect the people who are using any application running on the cloud instance. It is essential to see if the application you are running is over or under consuming. Understanding how your storage, I/O, virtual cpus, memory and network are behaving is key.
Therefore, there are many questions to ask yourself:
• Is any particular system resource slow or over consumed?
• Is my ability to serve my customer base being impacted in any way?
• Do I understand this early enough to take action to remediate the situation before my customer base is impacted?
• What is that timeframe? How soon do I need to know? Maybe before that first support email comes in? Perhaps sometime between now and the next minute?
If you want to take an active role in managing the performance and health of your cloud instances, you need to apply the appropriate tools to give you immediate and specific visibility.
Another key consideration is longer term consumption trends and how these might impact capacity over the long run. There are two scenarios to analyze here:
• The first might be a longer term phenomenon due to improper system tuning or code errors, like a memory leak. These may not be obvious, but if you can see longer term memory consumption trends, for a week or a month, you might be able to diagnose this issue sooner. The bad part about not seeing these trends is that you could hit the wall on memory consumption and your app goes down.
• The second scenario is general consumption over time. Databases, the number of people using the application, lines of code, file systems all change and seem to grow over time. The capacity needed to support your total application and system requirements typically grow in the long run. So you need to understand how fast you are consuming resources; how much you have from an overhead perspective; and when you might need to buy more. Again, tools are needed to see the longer term trends over time spans of weeks to months.
In conclusion, well-managed applications that meet your users’ needs are your responsibility regardless if they are housed in your own datacenter or in a managed cloud environment.
CopperEgg is the provider of RevealCloud; real-time, SaaS based performance and health monitoring for your cloud instances. RevealCloud provides a ridiculously easy install with instant visibility into your cloud infrastructure. For more information visit http://copperegg.com/.