Solving Performance Bottlenecks in the Cloud

Hooray, free performance evaluations!

Performance issues can be caused by a lot of different things, manifest themselves in strange ways, and just generally be difficult to diagnose. Not long ago I began to see Service Providers pitching free performance evaluations for new customers. I have to admit, I was hopeful that the world was becoming a better place, because that’s exactly the sort of engaging and useful approach to solution engineering that a prospective client needs. However, I’ve been shocked to find that in many cases this “evaluation” is nothing more than a questionnaire requesting a description of your current infrastructure and a question as to whether or not you think it is adequate, too slow, or too much. This isn’t an evaluation in any sense and yields data about as useful as a 10-day weather forecast.

If it was easy, everyone would do it.

Don’t get me wrong, a performance evaluation is an extremely valuable thing when done well. Overall performance is something that comes up when designing new cloud solutions because each client’s needs are unique. Finding and fixing bottlenecks early allows for an infrastructure deployment that “just works”, but in order to find them you have to look for them. This also means that you have to know what you’re looking for. All too often performance issues are perceived strictly as hardware problems and not enough time (if any) has gone into understanding the infrastructure configuration, application performance, and historical cloud server utilization statistics.

And the problem is?

I rarely run into situations where performance issues are caused by lack of CPU resources. In fact, clients usually alert us when they have higher than normal requirements for CPU. While each client has their own set of challenges, I most commonly find bottlenecks are related to storage access and the speed of the underlying disks. Recently I’ve found lack of memory, or the inability to allocate additional memory causes a prospective client’s cloud servers to rely on disk and slows their applications to a crawl.

This is where internal solid state disks and flash-based storage solutions truly shine with private cloud. Whether you have a high transaction workload or need to ensure that even when memory is low your performance is intact, moving away from spinning disks is always a good move. In the interest of full disclosure, there are SAN and NAS storage solutions that help solve these issues and provide the performance and capacity needed. Unfortunately, many of these solutions come at high prices that are impractical for small and medium businesses to implement.

Wow, so storage solves everything?

There are increasingly large numbers of SAN implementations that utilize flash storage in some way and do so at fairly reasonable prices. Currently, my favorite storage implementations are those that utilize Software Defined Storage. The day has finally come where internal disks and NAS configurations truly perform as well as a traditional SAN with all or more features. Couple this with solid state disks and you have a high performance system that also provides high-availability and redundancy.

I’m not saying storage solves everything, but it solves a lot of things. There is no reason to think that there can’t be better cloud server specs or more efficient application configurations. In fact, there is no substitute for proper cloud and application engineering, with which I am happy to help. However, with the low cost of enterprise-class flash storage there is no reason that small and medium-sized businesses shouldn’t benefit from the performance and reliability formerly reserved for those with the deepest pockets.

Paul Peeler
Senior Consultant, Product Management
Twitter & LinkedIn

Feel free to contact me for more information about cloud performance or to suggest topics for future articles. I always enjoy feedback and I look forward to hearing from you!

This article originally appeared on LinkedIn.