Welcome!

@CloudExpo Authors: Zakia Bouachraoui, Yeshim Deniz, Pat Romanski, Carmen Gonzalez, Liz McMillan

Blog Feed Post

User based service level enforcement for Web Applications

Monitoring response times for web applications is one way to enforce SLA’s (Service Level Agreements). Typically you define different SLA’s for different pages of your application. Why that? Well - because certain features of the web application might be more critical than others and therefore you want to ensure that the critical pages respond fast enough to satisfy the end user expectations.

User based service levels

Depending on the type of application you have you may have the need to enforce different SLA’s for different users or different groups of users. Why that? In case your application provides different member ship levels you want to make sure that the more the users pay the more satisfied they are with the applications end user experience and performance.

In order to do that it is no longer sufficient to enforce SLA’s on URL’s or Pages. You need to assign individual web requests to the actual authenticated user and monitor the response times per user name. Having the contextual information about the user or group for individual transactions/web requests enables you to enforce user based service levels.

With dynaTrace we get a PurePath for every single transaction that gets executed. The PurePath not only contains execution times, SQL Statements and log messages - it also contains additional context information like HTTP parameters and method arguments. There are easy ways to capture the user name for  Java or .NET based Web Applications. You can for instance capture it from the session context or from an argument value that is passed to the method that is doing the user authentication. As a sample I implemented an ASP.NET HttpHandler that is taking the authenticated user name and puts it into the Web Request Context which will then be captured by dynaTrace. With this information I can monitor individual users and their response times. The following illustration shows the response times split up by individual users using Business Transactions.

Response times by individual Users

Response times by individual Users

I can now go ahead and define SLAs for each individual user or even for groups of users.

User Activity Monitoring

As a nice side effect I can also monitor the activity of individual users by looking at the request count instead of respone time.

Activity by User

Activity by User

The above image shows that testuser5 has the most requests amoung the non anonymous browser. With a single click I can now drill down to analyze the actual URLs that have been requested by a single user identifying the slowest or most often requested pages.

WebRequests for the most active user

WebRequests for the most active user

The option to also analyze the individual page requests of a particular user now also allows us to set SLA’s for the combination of User and Web Page.

Conclusion

There are more options than just enforcing SLA’s on individual pages or URLs. It can be done on a much more granular level like User, Group or even the combination of User and Web Page. This enables you to keep your most critical users happy by reacting on performance issues that are experienced by them.

Related posts:

  1. Performance Analysis: How to identify synchronization issues under load? Synchronization is a necessary mechanism to control access to shared...
  2. Challenges of Monitoring, Tracing and Profiling your Applications running in “The Cloud” Cloud Computing presents unique opportunities to companies to reduce costs,...
  3. Web Service Interoperabilty Issues I’ve been working on building a .NET Client Application to...

Read the original blog entry...

More Stories By Andreas Grabner

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

CloudEXPO Stories
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throughout enterprises of all sizes.
Every organization is facing their own Digital Transformation as they attempt to stay ahead of the competition, or worse, just keep up. Each new opportunity, whether embracing machine learning, IoT, or a cloud migration, seems to bring new development, deployment, and management models. The results are more diverse and federated computing models than any time in our history.
Andrew Keys is co-founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereum.
Concerns about security, downtime and latency, budgets, and general unfamiliarity with cloud technologies continue to create hesitation for many organizations that truly need to be developing a cloud strategy. Hybrid cloud solutions are helping to elevate those concerns by enabling the combination or orchestration of two or more platforms, including on-premise infrastructure, private clouds and/or third-party, public cloud services. This gives organizations more comfort to begin their digital transformation without a complete overhaul of their existing infrastructure - serving as a sort of "missing link" for transition to cloud utilization.
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, market, and support the SmartClient & Smart GWT HTML5/Ajax platform, combining the productivity and performance of traditional desktop software with the simplicity and reach of the open web. With staff in 10 timezones, Isomorphic provides a global network of services related to our technology, with offerings ranging from turnkey application development to SLA-backed enterprise support. Leading global enterprises use Isomorphic technology to reduce costs and improve productivity, developing & deploying sophisticated business applications with unprecedented ease and simplicity.