Redefining Application Performance

arnaud-davidRemember three-second response times?

In the days when everyone wore a suit to work, application performance was measured in seconds. Any response time less than three seconds was a victory. At five seconds, the telephone calls began. More than that and there was bound to be a meeting.

As an experiment, Google application performance. You will get more than 100 million results in a fraction of a second. Think about that for a minute. In mid-2014, Google was handling 12 billion searches per month. At the same time, there were 7.2 billion people on earth. You can do the math on that one. Of course, that’s just the performance of Google search. There is also Gmail, YouTube, Google Apps, DoubleClick, Adwords, etc. And that’s just Google.

 

Redefining Apllication PerformanceLet’s skip Apple, Netflix, Skype, and Baidu. And all those sites that you are not permitted to view during working hours. Search, music, video, shopping, communications whatever the application performance is expected to be instantaneous, all day, everyday, anywhere, for everyone.

Now think about your company.

Perhaps your whole business is hosted in an infinitely elastic cloud. There
are no data centers, no mainframes, no servers, no enterprise application software, no middleware, no databases, no storage, no desktops, no BYOD, and no IT staff. Everything is new, hosted remotely, and someone else’s problem. You walk into the office every morning with your overpriced cappuccino and play Halo 5 all day. Every status light is blazing green.

Or perhaps not.

In enterprise IT, things are a little bit different.

If your company is typical, you probably have 75% of your critical business applications on commercial or legacy software. One of your most important applications was written by a guy with a crewcut who smoked two packs of Camel a day. May he rest in peace.
It’s on a mainframe that you have been trying to get rid of for a decade, but hey, it still works.

Then there are the client-server applications you developed in the 1990s and the enterprise software you bought over the last ten years. You have updated them, refreshed them, Citrixed them, browsered them, and they work.

Let’s spend a minute on middleware. You have enterprise service busses, transaction systems, load balancers and a lot more all connected to your databases and to the data warehouse.

Add network management software, network monitors, security scanners, intrusion prevention systems, thousands of operating systems, and desktops.

Let’s be honest. With all this infrastructure to manage, performance is just one item on a long list of things that you worry about. Sure, you put all your new applications through performance bootcamp. You do performance tuning of your exiting applications when it’s time for an upgrade. You respond quickly to user concerns, but sometimes just by throwing more hardware at the problem.

In the enterprise, everything is connected to everything else

In the enterprise, everything is connected to everything else

You’re the star of television’s most popular reality show – Good Enough.
Except good enough, isn’t good enough anymore.

The reality of enterprise IT is that your company doesn’t set expectations about what level of performance is good enough. Google sets the standard.

Life in IT used to be about getting better and faster all the time. Now, its all about right now, this moment. If your applications aren’t, or don’t seem to be, as fast as Google Search then you are heading for trouble.

Peak performance, all the time, for everyone, and everywhere is the only thing that matters. Mapping Google’s performance metrics to your environment is not the journey of a single day.

Enterprise topology is complex and constantly evolving to support new products and customer channels. Spend a minute thinking about the complexity of a single customer transaction on the web:

Customer Device – Your customer may be using a computer, laptop, Citrix, mobile phone, iPad, or other device supporting many different browsers, plug ins, and languages.

ISP/Wireless Carrier – The customer may reach your website using any of hundreds of Internet Service Providers, telephone, or wireless carriers. Your customer may live two doors down the street or be two continents
away.

Website – Your website has to authenticate the user, authorize access to resources, communicate with the browser, and manage connections across dozens of internal and external servers.

Network – There is only one thing certain about your network: it is constantly changing to support new systems, protocols, and applications.

Application Servers – Your e-commerce application may be spread across many servers, it may be hosted in the Cloud, or it may be a hybrid system that spans both public and private networks. It may be written in multiple programming languages, execute on several operating systems, and use different protocols.

Legacy applications – When a customer wants to place an online order, your system has to ensure that he has a valid credit card or is credit worthy. It needs to place his order, update his account, bill him, and in most cases reconcile the tax implications of his order. There is a reason legacy applications are still around – they work.

• Commercial applications – A new customer order may need to update information on an ERP system and alert sales and marketing on your CRM system. Integration may be a direct network connection or use an enterprise service bus. These systems aren’t going anywhere in the foreseeable future.

Middleware – you may have integrated your applications in a service oriented architecture using an enterprise service bus from IBM or TIBCO.

• Partner Servers – Your system may link to third-party credit scoring, payment, credit card, and other partner servers. Your applications themselves may partially reside on remote networks operated by others.

Databases – A new order may touch many databases, inside your network and beyond. They may be from different vendors, on multiple operating systems, and use many communications protocols.

• Customer Support – Consider yourself fortunate if a customer complains about slow performance. It probably means that he hasn’t given up on your application. Each call or  email is a new opportunity to demonstrate your commitment to customer success. Do you have the necessary insights to respond to complaints rapidly and completely? The ability to see real time transaction monitoring?

A single transaction can undergo a long and arduous journey. One transaction can spawn many others. How can any enterprise IT group guarantee the performance of these complex transactions? How can it – see everything?

About the Author:

Arnaud David is the Director of Delivery at Correlsense. Arnaud is responsible for all aspects of global SharePath deployment which includes training, support, professional services and internal development tools. He has over 10 years of project management and development experience. Prior to Correlsense, Arnaud led teams of developers at Assystem managing the life-cycle of software development.