<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Debug School: sharanya</title>
    <description>The latest articles on Debug School by sharanya (@sharanyamaya_599).</description>
    <link>https://www.debug.school/sharanyamaya_599</link>
    <image>
      <url>https://www.debug.school/images/CPDdQlGexClW9WOTxwLbEDeLKxuBxqind7bvkmstzXo/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly90aGVw/cmFjdGljYWxkZXYu/czMuYW1hem9uYXdz/LmNvbS9pLzk5bXZs/c2Z1NXRmajltN2t1/MjVkLnBuZw</url>
      <title>Debug School: sharanya</title>
      <link>https://www.debug.school/sharanyamaya_599</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/sharanyamaya_599"/>
    <language>en</language>
    <item>
      <title>2nd Assignment for Newrelic</title>
      <dc:creator>sharanya</dc:creator>
      <pubDate>Tue, 04 Jul 2023 12:45:10 +0000</pubDate>
      <link>https://www.debug.school/sharanyamaya_599/2nd-assignment-for-newrelic-man</link>
      <guid>https://www.debug.school/sharanyamaya_599/2nd-assignment-for-newrelic-man</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is APM?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;APM stands for Application Performance Monitoring. It is a practice of monitoring and managing the performance and availability of software applications. APM tools are used to collect and analyze data about various aspects of an application's performance, including response time, throughput, resource utilization, and error rates.&lt;br&gt;
The main goal of APM is to ensure that applications meet the performance expectations of end-users and to identify and resolve performance issues that may affect the user experience. By monitoring applications in real-time, APM allows developers and system administrators to quickly identify bottlenecks, diagnose problems, and optimize application performance.&lt;br&gt;
APM typically provide features such as application profiling, transaction tracing, code-level diagnostics, and real-time monitoring of various performance metrics. They can also integrate with other monitoring tools to provide a comprehensive view of the entire technology stack, including servers, databases, and network infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of APM ?&lt;/strong&gt;&lt;br&gt;
• Improved User Experience&lt;br&gt;
• Faster Problem Identification and Resolution&lt;br&gt;
• Optimized Resource Utilization&lt;br&gt;
• Enhanced Scalability&lt;br&gt;
• Data-Driven Decision Making&lt;br&gt;
• Reduced Business Impact of Issues&lt;br&gt;
• Better Collaboration Between Teams&lt;br&gt;
• Monitoring of Distributed Architectures&lt;br&gt;
• Compliance and Security&lt;br&gt;
• Competitive Advantage&lt;br&gt;
• End to End Visibility&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why We need to do APM?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Application Performance Monitoring (APM) is essential for several reasons that directly impact the success and efficiency of businesses and organizations. Here are some key reasons why APM is crucial:&lt;br&gt;
• User Experience Improvement&lt;br&gt;
• Reduced Downtime and Losses&lt;br&gt;
• Data-Driven Decision Making&lt;br&gt;
• Effective Troubleshooting and Root Cause Analysis&lt;br&gt;
• Scalability and Capacity Planning&lt;br&gt;
• Optimized Resource Utilization&lt;br&gt;
• Support for Distributed Architectures&lt;br&gt;
• Improved Collaboration and Accountability&lt;br&gt;
• Security and Compliance&lt;br&gt;
• Competitive Advantage&lt;br&gt;
In summary, APM is vital for maintaining a competitive edge, improving operational efficiency, and delivering exceptional user experiences. It allows organizations to stay proactive in addressing performance issues, ultimately leading to enhanced business outcomes and customer satisfaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the Metrices you would get it from APM?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Application Performance Monitoring (APM) provides a wide range of metrics and data that give insights into the performance and behaviour of software applications. The specific metrics can vary depending on the APM tool used and the type of application being monitored. Here are some common metrics that you can obtain from APM:&lt;br&gt;
• Response Time&lt;br&gt;
• Throughput&lt;br&gt;
• Error Rate&lt;br&gt;
• Apdex Score&lt;br&gt;
• CPU Utilization&lt;br&gt;
• Memory Usage&lt;br&gt;
• Network Latency&lt;br&gt;
• Database Performance&lt;br&gt;
• Transaction Traces&lt;br&gt;
• Error Logs and Exceptions&lt;br&gt;
• Resource Utilization&lt;br&gt;
• Dependency Tracking&lt;br&gt;
• Service Level Agreements (SLAs)&lt;br&gt;
• User Session Analytics&lt;br&gt;
• Geographical Distribution&lt;br&gt;
• API and Web Service Performance&lt;br&gt;
• Concurrency and Threading&lt;br&gt;
• Custom Metrics&lt;br&gt;
These metrics collectively provide a comprehensive view of the application's performance, allowing organizations to identify issues, optimize resources, and ensure a positive user experience.&lt;br&gt;
&lt;strong&gt;What is a Transaction, Trace and Span?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Transaction: In our example, a user visits the e-commerce website, searches for a specific product, adds it to the shopping cart, proceeds to checkout, and completes the purchase. Each of these steps represents a separate transaction within the application. So, the entire user journey from search to purchase constitutes a series of transactions.&lt;br&gt;
Trace: A trace captures the detailed path and timing of a specific transaction as it traverses through various components and services. For instance, in our e-commerce application, a trace for the purchase transaction would include information about the time taken at each step, such as the search request, retrieval of product details, adding to the cart, processing payment, and generating the order confirmation. The trace provides a comprehensive view of the transaction's lifecycle, including any delays or performance issues encountered along the way.&lt;br&gt;
Span: Within the trace of the purchase transaction, each individual operation or interaction with different components or services is represented by a span. For example, within the trace of the purchase transaction, there would be spans for the search request, product retrieval, cart update, payment processing, and order confirmation generation. Each span captures the duration and details of that specific operation, allowing for detailed analysis and identification of potential performance bottlenecks or errors.&lt;br&gt;
By examining the transactions, traces, and spans within the e-commerce application, APM tools can provide insights into the performance of different steps, identify any slow or problematic components, and help pinpoint the root cause of any issues affecting the user experience. This enables organizations to optimize the application, improve response times, and ensure a smooth and satisfactory user journey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.debug.school/images/FE-QVUiDFPbuOkM4KQxjGDK4AWhXxOVor8-60iv8sdo/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvc3NyNmYy/MzNzbnJrOXA3YTNu/Y3YucG5n" class="article-body-image-wrapper"&gt;&lt;img src="https://www.debug.school/images/FE-QVUiDFPbuOkM4KQxjGDK4AWhXxOVor8-60iv8sdo/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvYXJ0/aWNsZXMvc3NyNmYy/MzNzbnJrOXA3YTNu/Y3YucG5n" alt="Image description" width="880" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Assignment Day 1 for New Relic</title>
      <dc:creator>sharanya</dc:creator>
      <pubDate>Mon, 26 Jun 2023 11:08:13 +0000</pubDate>
      <link>https://www.debug.school/sharanyamaya_599/assignment-day-1-for-new-relic-5h80</link>
      <guid>https://www.debug.school/sharanyamaya_599/assignment-day-1-for-new-relic-5h80</guid>
      <description>&lt;p&gt;&lt;strong&gt;How is observability different from monitoring?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both monitoring and observability are essential components of effective system management and used together to ensure reliability and performance.&lt;br&gt;
Observability goes beyond predefined monitoring parameters and enables analysis, troubleshooting, and  discover the unknown issues. &lt;br&gt;
monitoring is more focused on predefined metrics and thresholds, while observability provides contextual understanding of system behaviour. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explain the three pillars of observability: logs, metrics, and distributed tracing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Logs: Logs are records of events or activities generated by different components within a system. They capture valuable information about system behavior, errors, warnings, and other relevant events. Logs are useful for Debugging, Auditing,Forensics.&lt;br&gt;
       Metrics : Metrics are quantitative measurements or statistics that provide insights into the performance and health of a system. They typically capture numerical values, such as response times, CPU usage, request counts, or error rates, at regular intervals. Metrics is beneficial for Monitoring, Alerting.&lt;br&gt;
Distributed Tracing: Distributed tracing allows for tracing and visualization of the path and timing of requests as they flow through a distributed system. It captures information about the various components involved in processing a request, including network calls, service invocations, and database queries. distributed tracing is valuable for End to end visibility, root cause analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the key characteristics of a well-observable system?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       Below are the well observable system characteristics
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Integration automation&lt;br&gt;
Alerting&lt;br&gt;
Visualization&lt;br&gt;
Dashboards&lt;br&gt;
High Granularity&lt;br&gt;
instrumentation&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How can you improve the observability of a distributed system?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Improving the observability of a distributed system involves implementing various practices and techniques to enhance visibility, capture relevant data, and enable effective analysis. Here are several strategies to improve the observability of a distributed system:&lt;br&gt;
Instrumentation and logging&lt;br&gt;
Metrics and monitoring&lt;br&gt;
Distributed tracing&lt;br&gt;
Automated analysis &lt;br&gt;
Alerting&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some common challenges in achieving observability in microservices architectures?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Achieving observability in microservices architectures can  unique challenges due to the distributed nature and increased complexity of the system. Here are some common challenges faced when trying to achieve observability in microservices architectures:&lt;br&gt;
Distributed Tracing Complexity &lt;br&gt;
Service Mesh and Proxy Interference&lt;br&gt;
Dynamic Service Discovery&lt;br&gt;
Inconsistent Logging and Metrics&lt;br&gt;
Scalability of Data Collection and Storage.&lt;br&gt;
Complexity of Dependencies and Interactions.&lt;br&gt;
Synchronization of Clocks and Timestamps&lt;br&gt;
Cross-Cutting Concerns and Instrumentation&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between white-box monitoring and black-box monitoring?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both white-box monitoring and black-box monitoring have their place in comprehensive system monitoring strategies. White-box monitoring is particularly useful for deep performance analysis, optimization, and troubleshooting within the system's internals. Black-box monitoring provides an external view of the system's behavior and helps understand how the system is performing from a user's perspective. Combining both approaches provides a more holistic understanding of the system's health, performance, and user experience.&lt;br&gt;
**&lt;/p&gt;

&lt;p&gt;How can you leverage observability to identify and troubleshoot performance issues in a production environment?**&lt;/p&gt;

&lt;p&gt;By leveraging observability this Collect Relevant Metrics, Monitor Key Indicators, Correlate Metrics, Utilize Log Analysis, Utilize Distributed Tracing, Analyse Historical Data, Load Testing and Profiling, Thoroughly Analyse Dependencies, Collaborate Across Teams, Use Visualization and Dashboards, Perform Experimentation and Optimization, Continuous Improvement techniques, combining metrics, logs, distributed tracing, and collaboration between teams, you can effectively identify and troubleshoot performance issues in a production environment. This allows for timely resolution and continuous improvement of your system's performance and user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explain the concept of "Golden Signals" in observability and their significance in SRE practices.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Golden Signals are key performance indicators that provide a holistic view of a system's health, performance, and user experience. They enable SRE teams to monitor, analyze, and improve system reliability, responsiveness, and capacity planning. By focusing on these essential metrics, SRE practices can prioritize efforts, proactively address issues, and ensure the overall reliability and availability of systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can you establish meaningful Service Level Objectives (SLOs) using observability data?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Establishing meaningful Service Level Objectives (SLOs) requires leveraging observability data effectively. Here are the steps to establish SLOs using observability data:&lt;br&gt;
Identify Key User Journeys, Define Measurable Metrics, Collect Historical Data, Analyze Data Distribution, Set Target Values, Consider Error Budgets, Define SLOs, Monitor SLOs, Iterate and Refine, Align with Business Goals, Communicate and Track Progress.&lt;br&gt;
By using observability data to define SLOs, you can establish meaningful performance and reliability targets for your system. These SLOs provide clear objectives and allow you to focus your efforts on continuously improving and meeting the desired user experience and business outcomes. Regularly analyzing observability data and aligning SLOs with business goals ensures that the system remains reliable, performs optimally, and meets or exceeds user expectations.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is observability, and why is it important in the context of SRE?</title>
      <dc:creator>sharanya</dc:creator>
      <pubDate>Mon, 26 Jun 2023 11:02:27 +0000</pubDate>
      <link>https://www.debug.school/sharanyamaya_599/what-is-observability-and-why-is-it-important-in-the-context-of-sre-2fhf</link>
      <guid>https://www.debug.school/sharanyamaya_599/what-is-observability-and-why-is-it-important-in-the-context-of-sre-2fhf</guid>
      <description>&lt;p&gt;observability play a vital role SRE teams to gain a deep understanding of complex systems, detect irregularity, diagnose issues, and optimize performance. It enhances them to proactively manage and maintain systems, minimizing downtime, enhancing reliability, and delivering a better user experience.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
