{"id":291902,"date":"2021-07-06T14:30:44","date_gmt":"2021-07-06T11:30:44","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/"},"modified":"2021-07-06T14:30:44","modified_gmt":"2021-07-06T11:30:44","slug":"what-is-observability-and-why-does-it-matter-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/","title":{"rendered":"#What is Observability and Why Does It Matter? \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6af24fe5f06c8\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6af24fe5f06c8\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Isnt_Observability_The_Same_As_Monitoring\" >Isn\u2019t Observability The Same As Monitoring?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#How_Do_Systems_Become_Observable\" >How Do Systems Become Observable?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Metrics_and_Monitoring\" >Metrics and Monitoring<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Logging\" >Logging<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Tracing\" >Tracing<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Does_Observability_Stop_Errors\" >Does Observability Stop Errors?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Observability_is_Continuous\" >Observability is Continuous<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-observability-and-why-does-it-matter-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#What is Observability and Why Does It Matter? \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure style=\"width: 5760px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage wp-image-12418 size-full\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/c4892875.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"security specialist working in control center\" width=\"5760\" height=\"3240\" src=\"https:\/\/www.shutterstock.com\/image-photo\/system-security-specialist-working-control-center-669226204\" data-credittext=\"Gorodenkoff\/Shutterstock.com\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-photo\/system-security-specialist-working-control-center-669226204\">Gorodenkoff\/Shutterstock.com<\/a><\/span><\/figcaption><\/figure>\n<p>Observability is a trait of software systems that provide deep visibility into their internal operations. Possessing good observability facilitates faster resolution of problems by helping operations teams identify the cause of issues.<\/p>\n<p>The simplest definition of \u201cobservable\u201d software is a system that lets you deduce its internal state by watching the outputs it produces. If your system can\u2019t provide these outputs, it won\u2019t be fully observable.<\/p>\n<p>Consider a software platform that <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>ears to be running more slowly than normal. At first glance, you\u2019ve got insufficient information to work out what\u2019s causing the slowdown. But if the system emitted performance metrics for each stage of its execution, you could im<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>tely pinpoint the component with a problem. The system\u2019s observability has now been enhanced.<\/p>\n<h2 id=\"isnt-observability-the-same-as-monitoring\"><span class=\"ez-toc-section\" id=\"Isnt_Observability_The_Same_As_Monitoring\"><\/span>Isn\u2019t Observability The Same As Monitoring?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Observability is not the same as monitoring, although the two concepts are close relations. Good monitoring practices contribute towards an observable system. They don\u2019t provide a guarantee of observability. Conversely, a system could be reasonably observable without a fully-fledged monitoring stack.<\/p>\n<p>Monitoring in DevOps terms typically refers to the use of several predefined metrics to identify when a system\u2019s performing within expectations. The metrics which are covered usually get tied down to resource utilization (CPU usage, network throughput) but may also surface basic data about your system\u2019s operations (number of requests causing a <code>500<\/code> error code).<\/p>\n<p>Observability goes a little deeper and requires more nuanced instrumentation. Unlike monitoring, it\u2019s coupled to your system and its characteristics, rather than the surrounding environment.<\/p>\n<p>A monitored system tells you that the <code>500<\/code> error count is elevated and users are having issues. An <em>observed<\/em> system reports that your authentication microservice is timing out, so user sessions aren\u2019t being restored and your gateway is issuing a <code>500<\/code> as a last resort.<\/p>\n<p><strong>RELATED:<\/strong> <strong><em>A Beginner&#8217;s Introduction To DevOps Principles<\/em><\/strong><\/p>\n<h2 id=\"how-do-systems-become-observable\"><span class=\"ez-toc-section\" id=\"How_Do_Systems_Become_Observable\"><\/span>How Do Systems Become Observable?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Let\u2019s break down the differences between the two examples shown above. In a traditional approach, you\u2019d deploy to your server and set up monitoring, perhaps using your cloud provider\u2019s metrics alerts. If an issue was detected, you could go and inspect the server logs for issues.<\/p>\n<p>This model is already observable to a degree. The modern usage of \u201cobservability\u201d conveys a little more though. Server error logs typically provide the final outcome but not the states that caused it to occur. For a system to be truly observable, you should be able to determine the sequence of internal states that led to a particular output, without having to spend too much time manually collecting the information.<\/p>\n<p>There are three primary \u201cpillars\u201d of observability, of which good monitoring is one. Paying attention to all three pillars should result in an observable system that is an effective aid in diagnosing problems.<\/p>\n<p><strong>RELATED:<\/strong> <strong><em>What Is Low-Code and No-Code Development?<\/em><\/strong><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Metrics_and_Monitoring\"><\/span><strong>Metrics and Monitoring<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>An observable system should provide constant measurements for predefined metrics. The best metrics are ones that present actionable information relevant to your application and its performance, not necessarily generic CPU and memory charts.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Logging\"><\/span><strong>Logging<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The second pillar of observability is logging. This describes a more structured approach to logging than a basic write when an error occurs. Logs should be highly integrated into your system so that each event gets recorded to a centralized logging service. Logs themselves should be structured in a standardized manner, so log viewing tools can auto-index and format them.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tracing\"><\/span><strong>Tracing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The final pillar is tracing. Traces capture everything that happens during a particular run through the program. This gives you the information you need to reproduce the exact sequence of events that led to a problem. Tracing is especially important to distributed systems where a single request might hit a dozen or more microservices. Relying on service logs alone is unrealistic, as you won\u2019t be able to see what happened to the request after it had finished with each service. A request-level trace is more effective in pinpointing problems.<\/p>\n<p>You can start to make a system more observable by ensuring you\u2019ve got coverage of all three pillars. Remember that \u201cobservability\u201d isn\u2019t one specific thing \u2013 it\u2019s a trait of a system, not a single attribute. Chances are your system is already \u201cobservable\u201d through basic metrics and error logs but it may still have low \u201cobservability\u201d if you can\u2019t readily determine the root cause of errors.<\/p>\n<p><strong>RELATED:<\/strong> <strong><em>How Event Sourcing Helps You Track Your Application&#8217;s State<\/em><\/strong><\/p>\n<h2 id=\"does-observability-stop-errors\"><span class=\"ez-toc-section\" id=\"Does_Observability_Stop_Errors\"><\/span>Does Observability Stop Errors?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>It\u2019s worth noting that observability isn\u2019t meant to eliminate bugs and errors. Instead, it\u2019s actually an acceptance that problems can and will occur. Rather than assuming your system is infallible, observability encourages you to plan for the unthinkable. If you faced an outage, would you have the tools you needed to find the cause?<\/p>\n<p>To use a motoring analogy, it\u2019s the difference between a check engine light and the manufacturer\u2019s diagnostics software. As undesirable and unlikely as it may be, on-the-road malfunctions do happen. Most people with no specialist equipment see a generic warning light. A dedicated motorist or technician will have the tools to read off the cause of that light.<\/p>\n<p>Now let\u2019s return to the cloud. A screen of red metrics won\u2019t help much during an outage. Similar to how a vehicle mechanic can read off diagnostics, your system needs to be more deeply observable so you can quickly establish what\u2019s wrong without looking at the nuts and bolts. It\u2019s important to plan for disasters so you don\u2019t get caught out.<\/p>\n<h2 id=\"observability-is-continuous\"><span class=\"ez-toc-section\" id=\"Observability_is_Continuous\"><\/span>Observability is Continuous<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Maintaining good observability does require ongoing maintenance. You\u2019ll need to evaluate your instrumentation as you add new services. Otherwise, you may unwittingly create voids in your logs and traces which requests disappear into.<\/p>\n<p>You can identify gaps in your observability implementation by questioning the system and checking you can get the answers you need. You should think about the information you\u2019d need to start addressing a problem. Would you be able to access it during an outage, without a prolonged manual intervention?<\/p>\n<p>A truly observable system should be able to use one of the three pillars to answer questions presented by the other two. Why is memory usage in the danger zone? Why was an error recorded in the authentication service\u2019s logs? In both these cases, the other two pillars should be your first port of call to find the answer.<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Observability is a made-up word that can sometimes seem vague and opaque. In practice, the modern use of the term refers to something fairly simple: the unison of monitoring, logging, and tracing to help you infer the internal state of a system from its outputs.<\/p>\n<p>Good observability is vital to distributed architectures where functionality is spread across microservices. An unobservable system becomes a black hole that sucks in requests but provides nothing back. This will compromise your ability to respond to issues and could lead to users reporting problems before you\u2019re aware of them.<\/p>\n<p>Conversely, an observable system helps you stay ahead of error reports. Time to resolution is minimized as the system will already be waiting with the information you require.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/12224\/what-is-observability-and-why-does-it-matter\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#What is Observability and Why Does It Matter? \u2013 CloudSavvy IT&#8221; Gorodenkoff\/Shutterstock.com Observability is a trait of software systems that provide deep visibility into their internal operations. Possessing good observability facilitates faster resolution of problems by helping operations teams identify the cause of issues. The simplest definition of \u201cobservable\u201d software is a system that lets&#8230;<\/p>\n","protected":false},"author":1,"featured_media":291903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/c4892875.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-291902","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/291902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=291902"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/291902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/291903"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=291902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=291902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=291902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}