Leprechauns, Unicorns and “Magic” Cloud Application Performance
avatar

Problem to Solve – My internal customers are complaining about the performance of the new Cloud based application that our company just rolled out. How can my APM/NPM tools help me with Cloud Apps?

It's all good ...don't worry about it

These two told me that Cloud based apps will never have any performance issues.    It must be true ….

Ah, the “Cloud” …. One of my all-time favorite marketing terms that has gone “IT viral” over the last few years. Customers are usually quite proud to talk about their new cloud-based XYZ application that does some important XYZ function—completely cloud-based, accessible from anywhere, reliable, thin, fast, less expensive than building an in-house, tablet / phone friendly … etc. Sound familiar to you yet?

DISCLAIMER — I am not bashing cloud technology or providers of cloud technology, as I use several cloud based applications everyday myself (i.e., Salesforce.com, Dropbox, Evernote). They are convenient and hugely helpful in my work and travel schedule. But, what is somewhat baffling to me is the concept that some folks have is “… I rolled out my application on a cloud platform, so I won’t have any performance issues“. Could it be that cloud-based applications are magically immune to application performance problems??? Yep, a leprechaun riding a unicorn assured me that was the case. He also asked if I needed a ride from the airport to the hotel. I said sure, and we got to talking.

Obviously, experience would show us otherwise, as no application has ever rolled out and worked to perfection right out of the gate.An application rollout with NO hiccups, hurdles, challenges, user complaints, management questions, network impact, etc. would be “Perfection”. Perfection is always the application rollout goal, but unbelievably difficult to achieve. With the perspective that no application ever rolls out “perfectly”, the second thing that is somewhat baffling to me is the concept of “not” having some insight on how the cloud application is performing for your end users.  Especially, when it is a business critical application for your company. “It’s ok,” said the well educated and boastful unicorn. He interrupted my conversation with the leprechaun and said that I didn’t need to worry about the performance of cloud based applications, they are magic. Wait a minute … was that a dream?

Where You Need Information on Cloud App Performance

Ok, the leprechaun / unicorn dream is over now. There are two specific areas that I guide my customers in terms of cloud application performance, so they can make the best decision for their deployment. Cloud Instrumentation Diagram

1) Inside the Cloud Provider premises – there are basically two options for monitoring inside the cloud provider, cloud provider option and customer provided option

Cloud Provider Option – Many cloud providers will provide some type of insight in terms of network & application usage, concurrent users, response times, general reporting, etc. This information is essentially “your company’s” traffic and response time from “inside” the cloud provider’s environment. It is not uncommon for cloud providers to have Service Level Agreement’s (SLA’s) to help assure their customers by verifying performance in their environment. THEY provide the tools, views and reports.

Customer Provided Option – some cloud providers will let you “as the customer” put some type of data gathering device or agent into their cloud environment. This effectively will give you a perspective into your company’s traffic and response time from *inside* the cloud provider’s environment. The main difference in this approach is that YOU control, provide and manage the device / agent necessary for gathering the performance data. This is dependent on your cloud provider platform and preferred performance tools solutions.

Why is this Valuable? – When you run into a situation where users are complaining about performance, this is a great place to start the triage process. If there is a performance problem on the Cloud Provider’s end, then it will most likely affect all of your users. You will not waste your internal resources or time trying to troubleshoot an issue that frankly you will not be able to fix anyway.

2) Your Internet Links – usually, companies will have their dedicated Internet link(s) connect through their main data center(s). The cloud application traffic will travel through these Internet link(s) just the same as anyone accessing their favorite news web page, YouTube, Facebook, Fantasy Football league. For the techies reading this – yes, we know that you filter out inappropriate and non-business related web sites. Content Filtering will make the best use of your Internet link, but does not change the fact that the Cloud Application will still share the bandwidth.

Why is this Valuable? — Assuming a situation where users are complaining about cloud application’s performance AND the cloud provider has verified that there are no performance issues on their end, now you will need to triage YOUR side of the cloud.

What Types of Problems will I see on My Internet Links

The types of problems that you would see on an Internet Link are probably too numerous for one blog, so we will keep these focused to high-profile things that will affect your Cloud Application.

1) Single Sign-On Issues – most IT departments will leverage a “Single Sign-On” platform for their internal and external customers. This means that the “cloud” basically becomes an extension to using the same password as your computer password, VPN password, network domain password. Users do not have to memorize lots of different passwords, and IT is able to centrally administrate rights, access, password policy, etc. Very effective solution and everybody wins.

Why is this Valuable? – being that your customers leverage the same password to access their cloud application as they do to access their internal customer network, authentication becomes a critical service. Authentication can include LDAP based solutions, Windows ADFS solutions, etc. The authentication platform is not the point, but monitoring how authentication services are performing becomes business critical. The main reason is that if authentication services are not performing optimally on your *internal network*, then access to the cloud application will be affected. Even if your actual user is working away from the corporate office.

2) Denial of Service (DDOS) Attacks – most IT security departments have some facility for monitoring for and alerting on general Denial of Service events, at least for their Internet link(s). Well, if you are using a cloud based application which travels over these same Internet link(s), then you have another reason to monitor for DOS. If your company is being attacked (i.e., brute force style) from the “outside bad guys”, they are usually attacking the Internet link and attached router. If the bandwidth on the link is being consumed (by the bad guys), then it will affect your internal users (inside the company walls) trying to access the cloud application. Per the example in point #1 above, it will also affect your external users and authentication services.

Why is this Valuable? – keeping a close eye on how your Internet link(s) is performing will be critical to how cloud based applications are perceived from a performance perspective. DOS attacks seem to occur every day, so staying on top of them will help you (at worst case) be aware of performance impacts. There are security and performance solutions out there to help you be proactive on DOS attacks which overall help you assure cloud services are running well from your side of the cloud.

3) Bandwidth Reporting & Capacity Planning – we could spend an entire blog on capacity planning and bandwidth reporting options. The key point is not the method used, but that the capacity planning process is being executed. Capacity Planning can mean different time windows, forecasting, granularities, report styles, metrics and measurements.

Why is this Valuable? – The main thing to remember is that if you run out of bandwidth on the inbound or outbound side of a full-duplex Internet link, it is going to affect performance. If your cloud application shares the same Internet link, then running out of bandwidth will affect your cloud application performance as well. Capacity Planning and reporting is something that must be done to assure cloud services are running optimally from your side of the cloud.

Questions to Ponder

  1. Anyone ever rolled out a “Perfect Application” that never ever experienced any issues?
  2. How do you measure your Cloud application performance?
  3. Do you have specific processes in place to triage Cloud performance when your users complain? If so, what are they?

Until next time ….