Managing performance monitoring

Performance monitoring is important when you are trying to proactively understand any performance issue and reduce end user impact. You should define your performance baseline and raise the alarm to the team in the case of a threshold breach—for example, an application's mobile app open time should not be more than three seconds. Your alarm should be able to trigger an automated action to handle poorly performing components—for example, adding more nodes in a web application cluster to reduce the request load.

There are multiple monitoring tools available to measure application performance and overall infrastructure. You can use a third-party tool, such as Splunk, or AWS provided Amazon CloudWatch to monitor any application. Monitoring solutions can be categorized into active monitoring and passive monitoring solutions:

  • With active monitoring, you need to simulate user activity and identify any performance gap upfront. Application data and workload situations are always changing, which requires continuous proactive monitoring. Active monitoring works alongside passive monitoring as you run the known possible scenarios to replicate user experience. You should run active monitoring across all dev, test, and prod environments to catch any issue before it reaches the user. 
  • Passive monitoring tries to identify an unknown pattern in real time. For a web-based application, passive monitoring needs to collect important metrics from the browser that can cause performance issues. You can gather metrics from users regarding their geolocation, browser types, and device types to understand user experience and the geographic performance of your application. Monitoring is all about data, and it includes the ingestion, processing, and visualization of lots of data.
You will continue to learn about the various monitoring methods and tools in upcoming chapters and dive deep into monitoring and alerts in Chapter 9, Architectural Reliability Considerations.

Performance always comes with a cost, and, as a solution architect, you need to think about the trade-offs to take the right approach—for example, an organization's internal applications, such as the timesheet and HR programs, may not need very high performance compared to external products, such as e-commerce applications. An application that deals with trading (for example) needs very high performance, which requires more investment. As per your application's needs, you can balance between durability, consistency, cost, and performance 

Tracking and improving performance are complex tasks, where you need to collect lots of data and analyze patterns. An access pattern helps you to make the right choice for performance optimization. Load testing is one of the methods that allows you to tweak your application configuration by simulating user load and provides you with data to make the right decisions for your application architecture. Applying continuous active monitoring in combination with passive monitoring helps you to maintain consistent performance for your application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.247.196